debug_traceTransaction - Moonbeam RPC Method
Trace a transaction execution on Moonbeam. Requires archive node for debugging cross-chain DeFi, multi-chain dApps, and Ethereum-to-Polkadot bridging via XCM, Axelar, LayerZero, and Wormhole.
Traces a transaction execution on Moonbeam 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, multi-chain dApps, and Ethereum-to-Polkadot bridging via XCM, Axelar, LayerZero, and Wormhole
- Debug failed transactions - Pinpoint the exact opcode and call depth where a transaction reverted on Moonbeam
- 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