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
Feb 09, 2026
This RPC method is included in the Free Trial with limited usage. Upgrade your plan to get full access and higher limits. Learn more onĀ our pricing page.

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 occured 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:

type
string

The type of the call

from
string

The address the transaction is sent from

to
string

The address the transaction is directed to

value
string

The integer of the value sent with this transaction

gas
string

The integer of the gas provided for the transaction execution

gasUsed
string

The integer of the gas used

input
string

The data given at the time of input

output
string

(Optional) The data which is returned as an output

error
string

(Optional) The type of error, if any

revertReason
string

(Optional) The type solidity revert reason, if any

Request
Response
1
{
2
"jsonrpc": "2.0",
3
"result": {
4
"type": "CALL",
5
"from": "0x0000000000000000000000000000000000000000",
6
"to": "0x6b175474e89094c44da98b954eedeac495271d0f",
7
"value": "0x0",
8
"gas": "0x7b98a0",
9
"gasUsed": "0x7b98a0",
10
"input": "0x70a082310000000000000000000000006e0d01a76c3cf4288372a29124a26d4353ee51be"
11
},
12
"id": 1
13
}
1
{
2
"jsonrpc": "2.0",
3
"result": {
4
"type": "CALL",
5
"from": "0x0000000000000000000000000000000000000000",
6
"to": "0x6b175474e89094c44da98b954eedeac495271d0f",
7
"value": "0x0",
8
"gas": "0x7b98a0",
9
"gasUsed": "0x7b98a0",
10
"input": "0x70a082310000000000000000000000006e0d01a76c3cf4288372a29124a26d4353ee51be"
11
},
12
"id": 1
13
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free