Skip to main content

eth_simulateV1 RPC Method

Simulates a series of transactions at a specific block height with optional state overrides. This method allows you to test transactions with custom block and state parameters without actually submitting them to the network.

Updated on
May 25, 2026
MegaETH nodes use a ~15-day pruning window for historical state data. Simulations targeting a block older than ~15 days (1,296,064 blocks) may fail because the required account and storage history has been pruned. For more details, see the MegaETH Pruning Policy.

Parameters

object
object
REQUIRED

The simulation request object

blockStateCalls
array
REQUIRED

Array of block state call objects

blockOverrides
object

(Optional) An object to override block-level parameters

baseFeePerGas
string

The base fee per gas for the block, encoded as hexadecimal

stateOverrides
object
REQUIRED

(Optional) An object to override account states. Each key is an address, and the value is an object with balance, nonce, code, etc.

address
object

The address of the account to override

balance
string

(Optional) The balance to set for the account, encoded as hexadecimal

nonce
string

(Optional) The nonce to set for the account, encoded as hexadecimal

code
string

(Optional) The bytecode to set for the account

state
object

(Optional) The storage slots to override

stateDiff
object

(Optional) A key-value mapping to override individual slots in the account storage

calls
array
REQUIRED

Array of transaction call objects to simulate

from
string

The address from which the transaction is sent

to
string
REQUIRED

The address to which the transaction is directed

gas
string

(Optional) The gas limit for the transaction, encoded as hexadecimal

maxFeePerGas
string

(Optional) The maximum fee per gas the sender is willing to pay, encoded as hexadecimal

maxPriorityFeePerGas
string

(Optional) The maximum priority fee per gas, encoded as hexadecimal

gasPrice
string

(Optional) The gas price for legacy transactions, encoded as hexadecimal

value
string

(Optional) The value sent with the transaction, encoded as hexadecimal

data
string

(Optional) The data/input for the transaction

input
string

(Optional) Alternative to data field

validation
boolean

(Optional) A boolean indicating whether to perform validation checks

traceTransfers
boolean

(Optional) A boolean indicating whether to trace value transfers

blockParameter
string
REQUIRED

The block number, hash, or tag (earliest, finalized, latest, pending, safe)

Returns

result
array

Array of simulation results

baseFeePerGas
string

Base fee per gas in hexadecimal

blobGasUsed
string

Amount of blob gas used in hexadecimal

calls
array

Array of call results

returnData
string

Return data from the call in hexadecimal

logs
array

Array of logs generated during the call

address
string

Address of the contract that generated the log

topics
array

Array of indexed log parameters

data
string

Contains non-indexed log parameters

blockNumber
string

Block number in hexadecimal

transactionHash
string

Hash of the transaction

transactionIndex
string

Index of the transaction in the block

blockHash
string | null

Hash of the block

logIndex
string

Index of the log in the block

removed
boolean

Whether the log was removed due to chain reorganization

gasUsed
string

Amount of gas used in hexadecimal

status
string

Status code of the call in hexadecimal

error
object

(Optional) An object array containing error information

message
string

An error message

code
integer

An error status code

data
string

A data field containing error related information

difficulty
string

Block difficulty in hexadecimal

excessBlobGas
string

Excess blob gas in hexadecimal

extraData
string

Extra data field in hexadecimal

gasLimit
string

Gas limit in hexadecimal

gasUsed
string

Gas used in hexadecimal

hash
string

Block hash

logsBloom
string

Logs bloom filter in hexadecimal

miner
string

Miner/validator address

mixHash
string

Mix hash in hexadecimal

nonce
string

Nonce in hexadecimal

number
string

Block number in hexadecimal

parentBeaconBlockRoot
string

Parent beacon block root in hexadecimal

parentHash
string

Parent block hash

receiptsRoot
string

Receipts trie root in hexadecimal

sha3Uncles
string

Uncle blocks hash in hexadecimal

size
string

Block size in hexadecimal

stateRoot
string

State trie root in hexadecimal

timestamp
string

Block timestamp in hexadecimal

totalDifficulty
string

Total difficulty in hexadecimal

transactions
array

Array of transaction hashes

transactionsRoot
string

Transactions trie root in hexadecimal

uncles
array

Array of uncle block hashes

withdrawals
array

Array of withdrawal objects

withdrawalsRoot
string

Withdrawals trie root in hexadecimal

Request
Response
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": [
5
{
6
"hash": "0x5dc06db47cf5529ae88f14aa03ad72238269ecb9edfe20bd02d470b44a65db42",
7
"parentHash": "0x9ceebdfdaec3417377bd59f4f5afda667518be85e5ca8d760c8e8e56e533ba72",
8
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
9
"miner": "0x4200000000000000000000000000000000000011",
10
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
11
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
12
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
13
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
14
"difficulty": "0x0",
15
"number": "0x27221cc",
16
"gasLimit": "0x165a0bc0",
17
"gasUsed": "0x0",
18
"timestamp": "0x696ea085",
19
"extraData": "0x010000003200000006000000000007a120",
20
"mixHash": "0x80100e7132ba0e4610b349c11b664dc80a160d2a57c8b2caf44e0c2d159a2345",
21
"nonce": "0x0000000000000000",
22
"baseFeePerGas": "0x212b9b",
23
"withdrawalsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
24
"blobGasUsed": "0x0",
25
"excessBlobGas": "0x0",
26
"parentBeaconBlockRoot": "0xdd864b52bceea6db42aeef5e925a186859ee6034e8e720cd1a7bb5bc924b1957",
27
"requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
28
"size": "0x27c",
29
"uncles": [],
30
"transactions": [],
31
"withdrawals": [],
32
"calls": []
33
}
34
]
35
}
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": [
5
{
6
"hash": "0x5dc06db47cf5529ae88f14aa03ad72238269ecb9edfe20bd02d470b44a65db42",
7
"parentHash": "0x9ceebdfdaec3417377bd59f4f5afda667518be85e5ca8d760c8e8e56e533ba72",
8
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
9
"miner": "0x4200000000000000000000000000000000000011",
10
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
11
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
12
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
13
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
14
"difficulty": "0x0",
15
"number": "0x27221cc",
16
"gasLimit": "0x165a0bc0",
17
"gasUsed": "0x0",
18
"timestamp": "0x696ea085",
19
"extraData": "0x010000003200000006000000000007a120",
20
"mixHash": "0x80100e7132ba0e4610b349c11b664dc80a160d2a57c8b2caf44e0c2d159a2345",
21
"nonce": "0x0000000000000000",
22
"baseFeePerGas": "0x212b9b",
23
"withdrawalsRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
24
"blobGasUsed": "0x0",
25
"excessBlobGas": "0x0",
26
"parentBeaconBlockRoot": "0xdd864b52bceea6db42aeef5e925a186859ee6034e8e720cd1a7bb5bc924b1957",
27
"requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
28
"size": "0x27c",
29
"uncles": [],
30
"transactions": [],
31
"withdrawals": [],
32
"calls": []
33
}
34
]
35
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free