Skip to main content
RPC operator referenceHTTPS · JSON-RPC 2.0

Tracing

Trace and debug methods run on chains whose serving clients expose those namespaces and are included in every plan, at the same price as any other method.

What's included

The whole trace_* namespace, a subset of debug_* (below), and ots_* and erigon_* methods, each on the chains whose node client implements the family (per-chain coverage below). There is no tracing add-on and no separate tier, every plan, including Free, can trace.

Supported debug_ methods

The gateway allows exactly these debug_ methods:

  • everything matching debug_trace*: debug_traceTransaction, debug_traceCall, debug_traceBlockByNumber, debug_traceBlockByHash, …
  • everything matching debug_getRaw*: debug_getRawBlock, debug_getRawTransaction, debug_getRawReceipts, …
  • debug_storageRangeAt
  • debug_getBadBlocks
  • debug_accountRange
  • debug_getModifiedAccountsByNumber and debug_getModifiedAccountsByHash

Every other debug_ method, setters, profiling, node control, returns JSON-RPC -32601 and is never billed. See the error reference.

Supported chains

Method support is independent of full/archive coverage. The live catalog below is authoritative for each chain:

NetworkChain IDDebugTrace
Ethereum1YesYes
BNB Smart Chain56YesYes
Avalanche C-Chain43114YesNo
Base8453YesYes
Arbitrum One42161YesNo
Optimism10YesYes
Robinhood Chain4663YesNo
Polygon PoS137YesNo
Sonic146YesYes
Linea59144YesNo
Scroll534352YesNo
Gnosis100YesYes
Celo42220YesNo
Blast81457YesNo
Mantle5000YesNo
Manta Pacific169YesNo
Boba Network288YesNo
Berachain80094YesYes
Chiliz88888YesNo
Ink57073YesYes
IoTeX4689YesNo
Lisk1135YesYes
MegaETH4326YesYes
Monad143NoNo
opBNB204NoNo
Immutable zkEVM13371YesNo
PulseChain369YesNo
Ronin2020YesYes
Cronos25YesNo
Stable988YesNo
Tempo4217YesYes
Unichain130YesNo
Viction88YesNo
World Chain480YesYes
XDC Network50YesNo
ZetaChain7000NoNo
Zora7777777YesNo
Flow EVM747YesNo
Ethereum Sepolia11155111YesYes
Base Sepolia84532YesYes
Arbitrum Sepolia421614YesNo
Arc Testnet5042002NoNo
Optimism Sepolia11155420YesYes
Polygon Amoy80002YesNo
BNB Smart Chain Testnet97NoNo
Gnosis Chiado10200YesYes
Berachain Bepolia80069YesYes
Chiliz Spicy88882YesNo
Flow EVM Testnet545YesNo
Lisk Sepolia4202YesYes
Mantle Sepolia5003YesNo
Monad Testnet10143NoNo
opBNB Testnet5611YesNo
PulseChain Testnet v4943YesNo
Ronin Saigon202601YesYes
Unichain Sepolia1301YesNo
Zora Sepolia999999999YesNo

Per-chain coverage is on the networks page.

Timeouts and retries

Trace and debug methods get a 45s server-side budget (standard methods get 30s). A failed attempt can retry another eligible upstream when one is available within that budget. Traces are not hedged, running every multi-second trace twice would halve node capacity.

When the budget is exhausted you get HTTP 504. Set your client timeout to 60s or more so the server-side budget, not your client, decides when a heavy trace fails. A trace ending in 504 is not billed and its quota reservation is refunded.

Cost

Every completed trace or HTTP 200 JSON-RPC error is 1 response. A debug_traceTransaction that returns megabytes of call frames costs the same as eth_blockNumber. HTTP 5xx failures, including 504, are free. See pricing.

Examples

debug_traceTransaction with the callTracer, the call tree of a transaction:

Request example
curl https://rpc.solidrpc.io/YOUR_API_KEY/evm/1 \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"debug_traceTransaction","params":["0xTRANSACTION_HASH",{"tracer":"callTracer"}],"id":1}'

trace_block, every trace in a block:

Request example
curl https://rpc.solidrpc.io/YOUR_API_KEY/evm/1 \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"trace_block","params":["latest"],"id":1}'

Method availability varies by client

Different chains run different node clients, and not every client implements every namespace, some implement debug_trace* but not trace_*. When a node does not implement a method, its own -32601 passes through to you unchanged. If you depend on a specific method on a specific chain, ask us before you build on it.