debug_traceTransaction - Polygon
debug_traceTransaction. Trace the execution of a specific transaction
debug_traceTransaction - polygon [Value: 90CU]
Traces the execution of a given transaction, providing detailed information about its internal operations for debugging purposes
Use cases
- Debug detailed execution of a specific transaction
- Analyze smart contract interactions within a transaction
- Trace internal operations and calls of a transaction
Constraints
- Requires valid transaction hash and tracer parameter
- Node must support the debug_traceTransaction method
- High resource usage for tracing complex transactions
Unlock Access to 50+ chains
Boost your app's speed and reliability with dRPC - get your access API key
Language
Request
Examples
curl https://polygon.drpc.org \
-X POST \
-H "Content-Type: application/json" \
--data '{"method":"debug_traceTransaction","params":["0x9e63085271890a141297039b3b711913699f1ee4db1acb667ad7ce304772036b", {"tracer": "callTracer"}], "id":1,"jsonrpc":"2.0"}'
Response
200
{
"jsonrpc": "2.0",
"result": [
{
"action": {
"callType": "call",
"from": "0x83806d539d4ea1c140489a06660319c9a303f874",
"gas": "0x1a1f8",
"input": "0x",
"to": "0x1c39ba39e4735cb65978d4db400ddd70a72dc750",
"value": "0x7a16c911b4d00000"
},
"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add",
"blockNumber": 3068185,
"result": {
"gasUsed": "0x2982",
"output": "0x"
},
"subtraces": 2,
"traceAddress": [],
"transactionHash": "0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3",
"transactionPosition": 2,
"type": "call"
},
{
"action": {
"callType": "call",
"from": "0x1c39ba39e4735cb65978d4db400ddd70a72dc750",
"gas": "0x13e99",
"input": "0x16c72721",
"to": "0x2bd2326c993dfaef84f696526064ff22eba5b362",
"value": "0x0"
},
"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add",
"blockNumber": 3068185,
"result": {
"gasUsed": "0x183",
"output": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
"subtraces": 0,
"traceAddress": [
0
],
"transactionHash": "0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3",
"transactionPosition": 2,
"type": "call"
},
{
"action": {
"callType": "call",
"from": "0x1c39ba39e4735cb65978d4db400ddd70a72dc750",
"gas": "0x8fc",
"input": "0x",
"to": "0x70faa28a6b8d6829a4b1e649d26ec9a2a39ba413",
"value": "0x7a16c911b4d00000"
},
"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add",
"blockNumber": 3068185,
"result": {
"gasUsed": "0x0",
"output": "0x"
},
"subtraces": 0,
"traceAddress": [
1
],
"transactionHash": "0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3",
"transactionPosition": 2,
"type": "call"
}
],
"id": 0
}
Request params
idinteger
jsonrpcstring
methodstring
array
blockNumberstring
Specifies the block number to locate the transaction.
tracerobject
Supports callTracer and prestateTracer.
array
tracerstring
Default value is callTracer.
tracerConfigobject
array
onlyTopCallboolean
timeoutstring
Specifies a custom timeout for JavaScript-based tracing calls. Default is 5 seconds, maximum is 10 seconds. Valid units are "ns", "us", "ms", "s", with optional fractions, e.g., "200ms".
Response
200
Array of block traces.Response params
object
idinteger
jsonrpcstring
resultarray_of_objects
Detailed trace data for the specified transaction, including call stack, gas usage, and execution results.
object
callTracerobject
object
fromstring
Sender's address.
tostring
Receiver's address.
valuestring
Amount transferred in wei.
gasstring
Gas allocated for the call.
inputstring
Data sent with the call.
gasUsedstring
Gas consumed by the trace.
outputstring
Result of the call.
errorstring
Any error encountered.
revertReasonstring
Solidity revert reason, if any.
callsarray
list of sub-calls
prestateTracerobject
object
balancestring
Account balance in wei.
nonceuint64
The transaction count for the account.
codestring
Hex-encoded contract bytecode.
storagemap[string]string
Contract's storage slots.