RPC method

trace_block on Sonic

Supported on SwiftNodes

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

trace_block on Sonic: what we measured

  • Default Sonic routing keeps state for roughly the last 1,000,000 blocks (about 22.7 days of Sonic history). Tracing a block older than that needs historical state. Add &archive=1 to send the request to archive upstreams (paid plans).

Example request

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

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

Other methods on Sonic

trace_block on other chains

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

Frequently asked questions

Does Sonic support trace_block?

Yes. trace_block answered correctly on the SwiftNodes Sonic endpoint in our weekly method probe (2026-10-04), which sends real requests through the customer path.

Are there limits on trace_block on Sonic?

Default Sonic routing keeps state for roughly the last 1,000,000 blocks (about 22.7 days of Sonic history). Tracing a block older than that needs historical state. Add &archive=1 to send the request to archive upstreams (paid plans).

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

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