Skip to main content

debug_traceCall

Traces a call without creating a transaction on Optimism.

Archive Node Required

This method requires an archive node. It is not available on full nodes.

Use Cases#

  • Transaction simulation - Debug before sending
  • Gas analysis - Analyze gas usage per opcode
  • Contract debugging - Step through execution for cross-chain DeFi, Superchain-interoperable dApps, and public goods funding recipients

Parameters#

ParameterTypeRequiredDescription
callObjectYesCall object (same as eth_call)
blockNumberQUANTITY|TAGYesBlock number or tag
tracerConfigObjectNoTracer configuration

Request#

{
"jsonrpc": "2.0",
"method": "debug_traceCall",
"params": [
{
"to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"data": "0x70a08231000000000000000000000000d8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
},
"latest",
{}
],
"id": 1
}

Code Examples#

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_traceCall",
"params": [
{"to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "data": "0x70a08231000000000000000000000000d8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},
"latest",
{"tracer": "callTracer"}
],
"id": 1
}'