RPC method

trace_block on Immutable zkEVM

Not available on SwiftNodes

Measured 2026-10-11 by our weekly probe, which calls trace_block through the same Immutable zkEVM endpoint customers use.

What trace_block does

Returns Parity-style traces for every transaction in a block: internal calls, contract creations and value transfers. Indexers use it to reconstruct internal ETH movements that receipts do not show.

What to use instead on Immutable zkEVM

Immutable zkEVM did not serve the trace_* namespace in our probe, which is common on OP Stack and zk chains. The debug_* namespace works on Immutable zkEVM: use debug_traceBlockByNumber with the callTracer for the same internal-call data.

Example request

curl -s https://rpc.swiftnodes.io/rpc/immutable-zkevm?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"trace_block","params":["latest"]}'
import { createPublicClient, http } from "viem";

const client = createPublicClient({ transport: http("https://rpc.swiftnodes.io/rpc/immutable-zkevm?key=YOUR_API_KEY") });

// Any JSON-RPC method, typed loosely: trace_block on Immutable zkEVM
const result = await client.request({
  method: "trace_block",
  params: ["latest"],
});

Other methods on Immutable zkEVM

trace_block on other chains

Support differs by chain; the full measured table is on the trace_block reference.

Frequently asked questions

Does Immutable zkEVM support trace_block?

Not on our Immutable zkEVM upstreams: trace_block failed in our weekly method probe (2026-10-11). Immutable zkEVM did not serve the trace_* namespace in our probe, which is common on OP Stack and zk chains. The debug_* namespace works on Immutable zkEVM: use debug_traceBlockByNumber with the callTracer for the same internal-call data.

Immutable zkEVM endpoints, live block height and WebSocket status are on the Immutable zkEVM RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.