For the complete documentation index, see llms.txt. This page is also available as Markdown.

debug_traceTransaction - zkSync

Example code for the debug_traceTransaction JSON-RPC method. Сomplete guide on how to use debug_traceTransaction JSON-RPC in GetBlock.io Web3 documentation.

Replays a transaction and returns a detailed execution trace. Use the optional second parameter to specify a tracer (e.g. callTracer) and timeout.

Parameters

Parameter
Type
Required
Description

txHash

string

Yes

Transaction hash to trace

options

object

No

Optional tracer options, e.g. {tracer: 'callTracer', timeout: '120s'}

Request Example

curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "debug_traceTransaction",
    "params": [
        "0x22de7debaa98758afdaee89f447ff43bab5da3de6acca7528b281cc2f1be2ee9",
        {
            "tracer": "callTracer",
            "timeout": "120s"
        }
    ],
    "id": "getblock.io"
}'
import axios from 'axios';

const data = JSON.stringify({
    "jsonrpc": "2.0",
    "method": "debug_traceTransaction",
    "params": [
        "0x22de7debaa98758afdaee89f447ff43bab5da3de6acca7528b281cc2f1be2ee9",
        {
            "tracer": "callTracer",
            "timeout": "120s"
        }
    ],
    "id": "getblock.io"
});

const config = {
    method: 'post',
    url: 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
    headers: {
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => console.log(JSON.stringify(response.data, null, 2)))
    .catch(error => console.log(error));

Response Example

Response Parameters

Field
Type
Description

result.type

string

Call type (Call, Create, DelegateCall, etc.)

result.from

string

Caller address

result.to

string

Callee address

result.gas

string

Gas provided to the call (hex)

result.gasUsed

string

Gas actually consumed by the call (hex)

result.value

string

ETH value attached to the call (wei, hex)

result.input

string

Calldata

result.output

string

Return data

result.calls

array

Recursive list of sub-calls made during execution

result.error

string | null

Error message if the call failed

result.revertReason

string | null

Decoded revert reason, if available

Use Cases

  • Debugging failed or reverted transactions

  • Per-call gas analysis

  • Decoding internal contract calls for analytics

Error Handling

Status Code
Error Message
Cause

403

Forbidden

Missing or invalid <ACCESS-TOKEN>

-32602

Invalid params

Request parameters are missing or malformed

429

Too Many Requests

Rate limit exceeded for your plan

SDK Integration

Last updated

Was this helpful?