RPC method

trace_block on X Layer

Supported on SwiftNodes

Measured 2026-10-04 by our weekly probe, which calls trace_block through the same X Layer 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 X Layer: what we measured

  • Default X Layer routing keeps state for roughly the last 1,000,000 blocks (about 11.6 days of X Layer 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/xlayer?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/xlayer?key=YOUR_API_KEY") });

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

Other methods on X Layer

trace_block on other chains

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

Frequently asked questions

Does X Layer support trace_block?

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

Are there limits on trace_block on X Layer?

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

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

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