Skip to main content
POST
debug_traceTransaction
curl --request POST \
  --url https://tempo-moderato.core.chainstack.com/a25a421add2280d53fdbc23417055501/ \
  --header 'Content-Type: application/json' \
  --data '
{
  "jsonrpc": "2.0",
  "method": "debug_traceTransaction",
  "params": [
    "0xb3e821e696897b02283b7b2d602941b1d3cb08448d3a204bab05955215fc2035",
    {}
  ],
  "id": 1
}
'
{
  "jsonrpc": "<string>",
  "id": 123,
  "result": {}
}
Tempo API method that returns a detailed trace of a transaction’s execution. This is useful for debugging failed transactions or understanding contract behavior.
Get you own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  • transactionHash — the hash of the transaction to trace
  • tracerConfig — (optional) tracer configuration object:
    • tracer — tracer type (e.g., callTracer, prestateTracer)
    • timeout — (optional) timeout for the trace

Response

  • result — the trace result object, format depends on the tracer used

debug_traceTransaction code examples

const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);

const traceTransaction = async (txHash) => {
    const trace = await provider.send("debug_traceTransaction", [
      txHash,
      { tracer: "callTracer" }
    ]);
    console.log(JSON.stringify(trace, null, 2));
  };

traceTransaction("0xb3e821e696897b02283b7b2d602941b1d3cb08448d3a204bab05955215fc2035");

Body

application/json
jsonrpc
string
default:2.0
method
string
default:debug_traceTransaction
params
any[]

Transaction hash and optional tracer config

id
integer
default:1

Response

200 - application/json

Transaction trace

jsonrpc
string
id
integer
result
object

Trace result object

Last modified on January 23, 2026