eth_simulateV1 - Robinhood

eth_simulateV1. Simulates a sequence of calls or transactions against a specified block state without broadcasting.

eth_simulateV1 - robinhood [Value: 20CU]
Simulates one or more blocks of calls against a given state, with optional block and state overrides, without broadcasting anything
Use cases

Use cases

  • Preview the full effect of a complex transaction before signing it
  • Model how a sequence of calls behaves under custom block overrides
Constraints

Constraints

  • Each entry in blockStateCalls is simulated as its own block, in order
  • Heavier than a single eth_call; scale usage to how many calls and blocks are simulated
Get started
Unlock Access to 100+ chains
Boost your app's speed and reliability with dRPC - get your access API key

Language

Request
Examples
curl https://lb.drpc.live/robinhood/{API-KEY} \
-X POST \
-H "Content-Type: application/json" \
-d '{"method":"eth_simulateV1",
    "params":[{"blockStateCalls": [{"blockOverrides": {"baseFeePerGas": "0x9"}, "stateOverrides": {"0xc000000000000000000000000000000000000000": {"balance": "0x4a817c800"}}, "calls": [{"from": "0xc000000000000000000000000000000000000000", "to": "0xc000000000000000000000000000000000000001", "maxFeePerGas": "0xf", "value": "0x1"}]}], "validation": true, "traceTransfers": true}],
    "id":1,
    "jsonrpc":"2.0"}'
Copy
Response
200
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "number": "0x1530a5e",
      "hash": "0x105b451ea332730fe2d316d983b9a406b6d4a022ee6e83e02bcae17a94f8c87b",
      "gasUsed": "0x5208",
      "calls": [
        {
          "returnData": "0x",
          "gasUsed": "0x5208",
          "status": "0x1",
          "logs": []
        }
      ]
    }
  ]
}
Copy

Request params

idinteger
jsonrpcstring
methodstring
Parametersarray
array
simulationobject
The simulation request.
array
blockStateCallsarray_of_objects
One entry per simulated block.
array
blockOverridesobject
(optional) Block header fields to override for this block.
stateOverridesobject
(optional) Per-address balance, nonce, code, or storage overrides.
callsarray_of_objects
The calls to execute in this simulated block, in order.
validationboolean
(optional) If true, validates each call as a real transaction would be (nonce, balance, etc.).
traceTransfersboolean
(optional) If true, emits synthetic ERC20-style transfer logs for native value transfers.

Response

200
An array of simulated blocks, each including per-call results such as return data, gas used, and status

Response params

object
idinteger
jsonrpcstring
resultarray_of_objects
One simulated block per entry in blockStateCalls, in the same order.
object
numberstring
The simulated block number.
hashstring
The simulated block hash.
gasUsedstring
Total gas used across all calls in the simulated block.
callsarray_of_objects
The result of each call, in the order they were given.
object
returnDatastring
The data returned by the call.
gasUsedstring
The gas used by this call.
statusstring
0x1 if the call succeeded, 0x0 if it reverted.
logsarray_of_objects
Event logs emitted by this call.