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 (Trace Mode required).

Updated on
Nov 2, 2023

debug_traceCall RPC Method

Parameters

object
array
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
integer
The integer of the gas provided for the transaction execution
gasPrice
integer
The integer of the gasPrice used for each paid gas
value
integer
The integer of the value sent with this transaction
data
string
The hash of the method signature and encoded parameters
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, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
object
array
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

Returns

result
The transaction trace object, which has the following fields:
failed
The transaction is successful or not
gas
The total consumed gas in the transaction
returnValue
The return value of the executed contract call
structLogs
The trace result of each step with the following fields:
pc
The current index in bytecode
op
The name of current executing operation
gas
The available gas in the execution
gasCost
The gas cost of the operation
depth
The number of levels of calling functions
error
The error of the execution
stack
An array of values in the current stack
memory
An array of values in the current memory
storage
The mapping of the current storage
refund
The total of current refund value
Request
1
curl https://docs-demo.quiknode.pro/ \
2
-X POST \
3
-H "Content-Type: application/json" \
4
--data '{"method":"debug_traceCall","params":[{"from":null,"to":"0x6b175474e89094c44da98b954eedeac495271d0f","data":"0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE"}, "latest"],"id":1,"jsonrpc":"2.0"}'
5
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free