debug_traceTransaction
Returns the trace of a transaction execution on Optimism Layer 2, including all internal calls and state changes.
Parameters
-
Transaction Hash -
DATA
, 32 bytes- The transaction hash to trace
-
Trace Configuration -
OBJECT
(optional)tracer
- Type of tracer ("callTracer", "prestateTracer", etc.)timeout
- Timeout for the tracetracerConfig
- Additional tracer configuration
Implementation Examples
- cURL
- JavaScript
curl -X POST https://api-optimism-mainnet-archive.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": [
"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
{
"tracer": "callTracer",
"timeout": "5s"
}
],
"id": 1
}'
// Trace transaction execution on Optimism L2
const response = await fetch('https://api-optimism-mainnet-archive.n.dwellir.com/YOUR_API_KEY', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
method: 'debug_traceTransaction',
params: [
"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
{
tracer: "callTracer",
timeout: "5s"
}
],
id: 1
})
});
const data = await response.json();
console.log('Transaction trace:', data.result);
Response Example
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"type": "CALL",
"from": "0x742d35cc6634c0532925a3b844bc9e7595f0beb",
"to": "0x4200000000000000000000000000000000000006",
"value": "0x0",
"gas": "0x76c0",
"gasUsed": "0x5208",
"input": "0xa9059cbb",
"output": "0x",
"calls": []
}
}
Need help? Contact our support team or check the Optimism documentation.