Docs
Moonbeam

debug_traceBlock - Moonbeam RPC Method

Trace all transactions in a block on Moonbeam. Requires archive node for cross-chain DeFi, multi-chain dApps, and Ethereum-to-Polkadot bridging via XCM, Axelar, LayerZero, and Wormhole.

Traces all transactions in a block on Moonbeam by block RLP.

Archive Node Required

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

Use Cases

  • Transaction debugging - Analyze transaction execution step-by-step
  • Smart contract analysis - Debug contract interactions
  • Security auditing - Trace internal calls for cross-chain DeFi, multi-chain dApps, and Ethereum-to-Polkadot bridging via XCM, Axelar, LayerZero, and Wormhole

Parameters

ParameterTypeRequiredDescription
blockRlpDATAYesRLP-encoded block data
tracerConfigObjectNoTracer configuration

Request

JSON
{
  "jsonrpc": "2.0",
  "method": "debug_traceBlock",
  "params": ["0xf9..."],
  "id": 1
}

Code Examples

Bash
curl -X POST https://api-moonbeam.n.dwellir.com/YOUR_API_KEY \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "debug_traceBlock",
    "params": ["0xf9..."],
    "id": 1
  }'
JavaScript
import { JsonRpcProvider } from 'ethers';

const provider = new JsonRpcProvider('https://api-moonbeam.n.dwellir.com/YOUR_API_KEY');

// Use debug_traceBlockByNumber instead (more practical)
const traces = await provider.send('debug_traceBlockByNumber', ['latest', {}]);
console.log('Transaction traces:', traces.length);