eth_simulateV1
Simulates one or more transaction bundles against the state of a given block, without broadcasting anything.
This method supports state overrides, block overrides, multi-block simulation and optional 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, value 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 Value sent (hex)data- string - optional Hex-encoded calldata
blockParameter- string - required
Block number, hash, or tag such as "latest". Arc has no pending block, so use "latest".
Returns:
array of objects - simulated block results. Each object is a full block header for the simulated block plus a calls array.
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?