eth_simulateV1
Simulates one or more transaction bundles against the current preconfirmed Flashblock state.
This method supports state overrides, block overrides, multi-block simulation, and optional ETH transfer tracing.
This method will use 40 Compute Units.
Parameters:
params - array containing:
simulationPayload— object - required
Configuration object for the simulation.
simulationPayload fields:
blockStateCalls— array - required Array of block simulation objects. Each represents a simulated block.traceTransfers— boolean - optional Iftrue, ETH transfers are included as logs. Defaults tofalse.validation— boolean - optional Iftrue, applies validation checks such as nonce and balance. Defaults tofalse.
blockStateCalls object fields:
calls— array List of transaction call objects to simulatestateOverrides— object - optional Override account state (balance, nonce, code, storage)blockOverrides— object - optional Override block-level fields (e.g.number,timestamp,baseFeePerGas)
call object fields:
from— string - optional Sender addressto— string Recipient addressmaxFeePerGas— string - optional Max fee per gas (hex)value— string - optional ETH value sent (hex)data— string - optional Hex-encoded calldata
blockParameter— string - required
Block number, hash, or tag.
Use "pending" to simulate against the latest Flashblock state.
Returns:
array of objects - simulated block results
Each object represents one simulated block.
Block result fields:
number— string Block number (hex)hash— string Block hashgasUsed— string Total gas used (hex)baseFeePerGas— string Base fee (hex)calls— array Results of each simulated call
Call result fields:
status— string "0x1" = success, "0x0" = failuregasUsed— string Gas used (hex)returnData— string Return data (hex)logs— array Emitted logs (includes transfers if enabled)error— string Error or revert reason (if failed)
Example Request
Last updated
Was this helpful?