RPC method

trace_block on zkSync Era

Not available on SwiftNodes

Measured 2026-10-04 by our weekly probe, which calls trace_block through the same zkSync Era 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 zkSync Era

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

Example request

curl -s https://rpc.swiftnodes.io/rpc/zksync?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/zksync?key=YOUR_API_KEY") });

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

Other methods on zkSync Era

trace_block on other chains

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

Frequently asked questions

Does zkSync Era support trace_block?

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

zkSync Era endpoints, live block height and WebSocket status are on the zkSync Era RPC page.

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