Skip to main content

tempo_simulateV1 RPC Method

Simulates a series of transactions at a specific block height with optional state and block overrides, and enriches the response with TIP-20 token metadata for any tokens touched during execution.

Updated on
Jun 15, 2026

Parameters

object
object
REQUIRED

The simulation request object

blockStateCalls
array

Array of block state call objects, each describing a simulated block

blockOverrides
object

(Optional) An object to override block-level parameters for this simulated block

baseFeePerGas
string

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

stateOverrides
object

(Optional) An object to override account states keyed by address

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 to execute in order

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

data
string

(Optional) The data payload of the transaction, encoded as hexadecimal

validation
boolean

(Optional) A boolean indicating whether to perform validation checks (e.g., signature checks and nonce validation) before executing each call

traceTransfers
boolean

(Optional) A boolean indicating whether to trace value transfers during simulation

blockParameter
string

The block number, hash, or tag (earliest, finalized, latest, pending, safe) at which to simulate the calls

Returns

result
object

An object containing the simulated blocks and TIP-20 token metadata for any tokens touched during execution

blocks
array

An array of simulated block results, one per entry in blockStateCalls

hash
string

Block hash

mainBlockGeneralGasLimit
string

The general gas limit of the main block, encoded as hexadecimal

sharedGasLimit
string

The shared gas limit available across the block, encoded as hexadecimal

timestampMillisPart
string

The sub-second (millisecond) component of the block timestamp, encoded as hexadecimal

parentHash
string

Parent block hash

sha3Uncles
string

Uncle blocks hash in hexadecimal

miner
string

Miner/validator address

stateRoot
string

State trie root in hexadecimal

transactionsRoot
string

Transactions trie root in hexadecimal

receiptsRoot
string

Receipts trie root in hexadecimal

logsBloom
string

Logs bloom filter in hexadecimal

difficulty
string

Block difficulty in hexadecimal

number
string

Block number in hexadecimal

gasLimit
string

Block gas limit in hexadecimal

gasUsed
string

Total gas used in the block in hexadecimal

timestamp
string

Block timestamp in hexadecimal (seconds)

extraData
string

Extra data field in hexadecimal

mixHash
string

Mix hash in hexadecimal

nonce
string

Block nonce in hexadecimal

baseFeePerGas
string

Base fee per gas in hexadecimal

withdrawalsRoot
string

Withdrawals trie root in hexadecimal

blobGasUsed
string

Amount of blob gas used in hexadecimal

excessBlobGas
string

Excess blob gas in hexadecimal

parentBeaconBlockRoot
string

Parent beacon block root in hexadecimal

requestsHash
string

Hash of the block's requests in hexadecimal

size
string

Block size in hexadecimal

timestampMillis
string

Block timestamp with millisecond precision, encoded as hexadecimal

uncles
array

Array of uncle block hashes

transactions
array

Array of transaction hashes simulated in this block

withdrawals
array

Array of withdrawal objects included in this block

calls
array

Array of per-call simulation results, in the same order as the input calls

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 by the call in hexadecimal

status
string

Status code of the call in hexadecimal (0x1 for success, 0x0 for failure)

error
object

(Only present when the call reverts or errors) An object describing the failure

message
string

An error message

code
integer

An error status code

data
string

A data field containing error related information

tokenMetadata
object

An object keyed by TIP-20 token contract address (lowercased hexadecimal). Populated for every TIP-20 token touched during simulation, allowing clients to interpret token transfers without a separate metadata lookup

address
object

Metadata for the TIP-20 token at the given contract address

name
string

The TIP-20 token name (e.g., pathUSD)

symbol
string

The TIP-20 token symbol (e.g., pathUSD)

currency
string

The currency the token is denominated in (e.g., USD)

Request
Response
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": {
5
"blocks": [
6
{
7
"hash": "0x35faa05f3dc05a3d446aa728f16e21c7649e9e385ef3988aaf5574ff7de7acf9",
8
"mainBlockGeneralGasLimit": "0x1c9c380",
9
"sharedGasLimit": "0x2faf080",
10
"timestampMillisPart": "0xdf",
11
"parentHash": "0x72194b550b7e5cf7539a3545fd23d2bd7706ab3d586fa72c7684d283a2314313",
12
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
13
"miner": "0xfa377708130d3b25d0fb4e70f5a0f77498407057",
14
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
15
"transactionsRoot": "0x11583d73e61a17ff8996980d4676bccc747720b95ec2c557926c900028d6ccff",
16
"receiptsRoot": "0x857d3328e28069b0e2dccc5d9bf9c98e3e3e01cf654003c89792142d63eccd2f",
17
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
18
"difficulty": "0x0",
19
"number": "0x11891b0",
20
"gasLimit": "0x1dcd6500",
21
"gasUsed": "0x4251c",
22
"timestamp": "0x69fa0afa",
23
"extraData": "0x",
24
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
25
"nonce": "0x0000000000000000",
26
"baseFeePerGas": "0x0",
27
"withdrawalsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
28
"blobGasUsed": "0x0",
29
"excessBlobGas": "0x0",
30
"parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
31
"requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
32
"size": "0x2ca",
33
"timestampMillis": "0x19df8bae16f",
34
"uncles": [],
35
"transactions": [
36
"0xca36b486d3eb1c95ef043eb91762003c3ce0b879d0c1789e126a92aa8da9e0f8"
37
],
38
"withdrawals": [],
39
"calls": [
40
{
41
"returnData": "0x0000000000000000000000000000000000000000000000000000000000000000",
42
"logs": [],
43
"gasUsed": "0x4251c",
44
"status": "0x1"
45
}
46
]
47
}
48
],
49
"tokenMetadata": {
50
"0x20c0000000000000000000000000000000000000": {
51
"name": "pathUSD",
52
"symbol": "pathUSD",
53
"currency": "USD"
54
}
55
}
56
}
57
}
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": {
5
"blocks": [
6
{
7
"hash": "0x35faa05f3dc05a3d446aa728f16e21c7649e9e385ef3988aaf5574ff7de7acf9",
8
"mainBlockGeneralGasLimit": "0x1c9c380",
9
"sharedGasLimit": "0x2faf080",
10
"timestampMillisPart": "0xdf",
11
"parentHash": "0x72194b550b7e5cf7539a3545fd23d2bd7706ab3d586fa72c7684d283a2314313",
12
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
13
"miner": "0xfa377708130d3b25d0fb4e70f5a0f77498407057",
14
"stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
15
"transactionsRoot": "0x11583d73e61a17ff8996980d4676bccc747720b95ec2c557926c900028d6ccff",
16
"receiptsRoot": "0x857d3328e28069b0e2dccc5d9bf9c98e3e3e01cf654003c89792142d63eccd2f",
17
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
18
"difficulty": "0x0",
19
"number": "0x11891b0",
20
"gasLimit": "0x1dcd6500",
21
"gasUsed": "0x4251c",
22
"timestamp": "0x69fa0afa",
23
"extraData": "0x",
24
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
25
"nonce": "0x0000000000000000",
26
"baseFeePerGas": "0x0",
27
"withdrawalsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
28
"blobGasUsed": "0x0",
29
"excessBlobGas": "0x0",
30
"parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
31
"requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
32
"size": "0x2ca",
33
"timestampMillis": "0x19df8bae16f",
34
"uncles": [],
35
"transactions": [
36
"0xca36b486d3eb1c95ef043eb91762003c3ce0b879d0c1789e126a92aa8da9e0f8"
37
],
38
"withdrawals": [],
39
"calls": [
40
{
41
"returnData": "0x0000000000000000000000000000000000000000000000000000000000000000",
42
"logs": [],
43
"gasUsed": "0x4251c",
44
"status": "0x1"
45
}
46
]
47
}
48
],
49
"tokenMetadata": {
50
"0x20c0000000000000000000000000000000000000": {
51
"name": "pathUSD",
52
"symbol": "pathUSD",
53
"currency": "USD"
54
}
55
}
56
}
57
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free