debug_traceTransaction - Optimism RPC Method
Trace a transaction execution on Optimism. Requires archive node for debugging cross-chain DeFi, Superchain-interoperable dApps, and public goods funding recipients.
Traces a transaction execution on Optimism by transaction hash.
Archive Node Required
This method requires an archive node. It is not available on full nodes.
When to Use This Method
- Analyze transaction execution step-by-step - Trace every opcode and internal call in a completed transaction for cross-chain DeFi, Superchain-interoperable dApps, and public goods funding recipients
- Debug failed transactions - Pinpoint the exact opcode and call depth where a transaction reverted on Optimism
- Examine internal call traces - Follow the full call tree including delegate calls and contract creations
- Gas usage profiling - Measure gas consumption per opcode to identify optimization opportunities
Best Practices
- Requires archive node access; not available on standard full nodes
- Traces can be very large for complex transactions with many internal calls
- Use tracer options like
onlyTopCallorcallTracerto limit output size - Store traces off-chain for analysis rather than querying repeatedly
Tracer Options
{}- Default opcode tracer (verbose){ tracer: "callTracer" }- Call tree tracer{ tracer: "prestateTracer" }- Pre-state tracer
Code Examples
Related Methods
debug_traceCall- Trace without executingdebug_traceBlockByNumber- Trace entire block
debug_traceCall
Trace a call without creating a transaction on Optimism. Simulate transactions, debug contract interactions, and analyze gas usage with full execution traces.
trace_block
Get traces for all transactions in a block on Optimism. Requires archive node for cross-chain DeFi, Superchain-interoperable dApps, and public goods funding recipients.