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
Nov 11, 2024

eth_simulateV1 RPC Method

Parameters

object
object
REQUIRED
The simulation request object
blockStateCalls
array
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
(Optional) An object to override account states
address
object
The address of the account to override
balance
string
(Optional) The balance to set for the account, encoded as hexadecimal
calls
array
Array of transaction call objects
from
string
The address from which the transaction is sent
to
string
The address to which the transaction is directed
maxFeePerGas
string
(Optional) The maximum fee per gas the sender is willing to pay
value
string
(Optional) The value sent with the transaction, encoded as hexadecimal
validation
boolean
(Optional) A boolean indicating whether to perform validation checks
traceTransfers
boolean
(Optional) A boolean indicating whether to trace value transfers
blockParameter
string
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
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
1
curl https://docs-demo.unichain-sepolia.quiknode.pro/ \
2
-X POST \
3
-H "Content-Type: application/json" \
4
--data '{"jsonrpc":"2.0","method":"eth_simulateV1","params":[{"blockStateCalls":[{"blockOverrides":{"baseFeePerGas":"0x9"},"stateOverrides":{"0xc000000000000000000000000000000000000000":{"balance":"0x4a817c420"}},"calls":[{"from":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","to":"0x014d023e954bAae7F21E56ed8a5d81b12902684D","maxFeePerGas":"0xf","value":"0x1"}]}],"validation":true,"traceTransfers":true},"latest"],"id":1}'
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free