RPC errors · debug_*, trace_*

the method debug_traceTransaction does not exist/is not available (-32601)

What it means

-32601 is the JSON-RPC standard code for "method not found". For debug_* and trace_* it almost never means the method does not exist in the client: it means the node that answered was started without that namespace enabled, or the provider disabled it on that plan. Tracing is expensive, so shared nodes often leave it off.

Because the answer depends on which node serves you, the same chain can trace on one provider and not another. Several messages above even name the reason ("on this plan", "namespace 'Trace' is disabled").

The exact messages, and where we saw them

Returned by real upstream nodes when we triggered this error on 2026-09-24 through our endpoint on each chain we serve.

the method debug_traceTransaction does not exist/is not available
the method trace_block does not exist/is not available
Method not found
method not available on this plan
Code -32601. Seen on 1 chain: BNB Smart Chain.
authenticated API key required for method
Code -32401. Seen on 2 chains: Mode, Zora.
The method 'trace_block' is found but the namespace 'Trace' is disabled for http://0.0.0.0:8545. Consider adding …
Code -32600. Seen on 2 chains: Fuse, Gnosis.

How to fix it

  • Check which methods a chain actually serves before building on them. Our weekly method matrix records debug_traceCall, trace_block, trace_transaction and trace_filter per chain, measured, not claimed.
  • If you need tracing where it is off, use a node with the namespace enabled (a provider plan that includes it, or your own node with --http.api / --rpc.modules including debug/trace).
  • For simple cases, eth_call with state overrides or re-executing the call at the parent block can answer "why did this revert" without a tracer.

Related