Skip to main content

debug_traceCall RPC Method

Returns the number of possible tracing result by executing an eth call within the context of the given block execution.

Updated on
Oct 15, 2026

Parameters

object
object
REQUIRED

The transaction call object with the following fields:

from
string

The address the transaction is sent from

to
string
REQUIRED

The address the transaction is directed to

gas
string

The integer of the gas provided for the transaction execution

maxFeePerGas
string

The maximum fee per gas that the transaction is willing to pay

maxPriorityFeePerGas
string

The maximum priority fee per gas that the transaction is willing to pay

value
string

The integer of the value sent with this transaction

input
string

The data given at the time of input

data
string

The hash of the method signature and encoded parameters

nonce
string

The number of transactions made by the sender prior to this one

chainId
string

The chain ID of the network

accessList
array

A list of addresses and storage keys that the transaction plans to access

blockReference
string
REQUIRED

The block number in hexadecimal format, the block hash, or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions

object
object
REQUIRED

The tracer object with the following fields:

tracer
string

The type of tracer. It could be callTracer or prestateTracer

callTracer
string

The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction

prestateTracer
string

The prestateTracer replays the transaction and tracks every part of state that occurred during the transaction

tracerConfig
object

The object to specify the configurations of the tracer

onlyTopCall
boolean

When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame

timeout
string

A string of decimal integers that overrides the JavaScript-based tracing calls default timeout of 5 seconds.

Returns

result
object

The result object which contains the following fields:

beforeEVMTransfers
array

An array representing EVM transfers that occurred before the execution of the transaction

purpose
string

(Optional) The purpose of the EVM transfer

from
string

(Optional) The Ethereum address initiating the transfer

to
string

(Optional) The Ethereum address receiving the transfer

value
string

(Optional) The value of the transfer, specified in hexadecimal format (Wei)

afterEVMTransfers
array

An array representing EVM transfers that occurred after the execution of the transaction

purpose
string

(Optional) The purpose of the EVM transfer

from
string

(Optional) The Ethereum address initiating the transfer

to
string

(Optional) The Ethereum address receiving the transfer

value
string

(Optional) The value of the transfer, specified in hexadecimal format (Wei)

from
string

The address the transaction is sent from

gas
string

The integer of the gas provided for the transaction execution

gasUsed
string

The integer of the gas used

to
string

The address the transaction is directed to

input
string

The data given at the time of input

calls
array

An array containing information about internal calls made during the transaction

from
string

The address making the call

gas
string

The gas limit specified for the call

gasUsed
string

The amount of gas used during the call

to
string

The address being called

input
string

The input data for the call

output
string

(Optional) The output data of the call

value
string

The value (in Wei) sent with the call

type
string

The type of call (e.g., CALL or STATICCALL)

value
string

The integer of the value sent with this transaction

type
string

The type of the call

Request
Response
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": {
5
"beforeEVMTransfers": [
6
{
7
"purpose": "feePayment",
8
"from": "0x0000000000000000000000000000000000000000",
9
"to": null,
10
"value": "0x0"
11
}
12
],
13
"afterEVMTransfers": [
14
{
15
"purpose": "gasRefund",
16
"from": null,
17
"to": "0x0000000000000000000000000000000000000000",
18
"value": "0x0"
19
},
20
{
21
"purpose": "feeCollection",
22
"from": null,
23
"to": "0x252431E84D5E22435A0c833C2220770c52F59633",
24
"value": "0x22ecb25c000"
25
},
26
{
27
"purpose": "feeCollection",
28
"from": null,
29
"to": "0x252431E84D5E22435A0c833C2220770c52F59633",
30
"value": "0xaba95000"
31
},
32
{
33
"purpose": "feeCollection",
34
"from": null,
35
"to": "0xa4B00000000000000000000000000000000000F6",
36
"value": "0x0"
37
}
38
],
39
"from": "0x0000000000000000000000000000000000000000",
40
"gas": "0x23c34600",
41
"gasUsed": "0x5dc0",
42
"to": "0x0000000000000000000000000000000000000001",
43
"input": "0x",
44
"value": "0x0",
45
"type": "CALL"
46
}
47
}
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": {
5
"beforeEVMTransfers": [
6
{
7
"purpose": "feePayment",
8
"from": "0x0000000000000000000000000000000000000000",
9
"to": null,
10
"value": "0x0"
11
}
12
],
13
"afterEVMTransfers": [
14
{
15
"purpose": "gasRefund",
16
"from": null,
17
"to": "0x0000000000000000000000000000000000000000",
18
"value": "0x0"
19
},
20
{
21
"purpose": "feeCollection",
22
"from": null,
23
"to": "0x252431E84D5E22435A0c833C2220770c52F59633",
24
"value": "0x22ecb25c000"
25
},
26
{
27
"purpose": "feeCollection",
28
"from": null,
29
"to": "0x252431E84D5E22435A0c833C2220770c52F59633",
30
"value": "0xaba95000"
31
},
32
{
33
"purpose": "feeCollection",
34
"from": null,
35
"to": "0xa4B00000000000000000000000000000000000F6",
36
"value": "0x0"
37
}
38
],
39
"from": "0x0000000000000000000000000000000000000000",
40
"gas": "0x23c34600",
41
"gasUsed": "0x5dc0",
42
"to": "0x0000000000000000000000000000000000000001",
43
"input": "0x",
44
"value": "0x0",
45
"type": "CALL"
46
}
47
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free