RPC method

debug_traceCall on Arbitrum

Supported on SwiftNodes

Measured 2026-10-04 by our weekly probe, which calls debug_traceCall through the same Arbitrum endpoint customers use.

What debug_traceCall does

Executes a call against a block's state and returns its execution trace (with a tracer such as callTracer), without sending a transaction. It is the standard way to see what a call would do internally before you submit it.

Example request

curl -s https://rpc.swiftnodes.io/rpc/arbitrum?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"debug_traceCall","params":[{"to":"0x0000000000000000000000000000000000000000","data":"0x"},"latest",{"tracer":"callTracer"}]}'
import { createPublicClient, http } from "viem";

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

// Any JSON-RPC method, typed loosely: debug_traceCall on Arbitrum
const result = await client.request({
  method: "debug_traceCall",
  params: [{"to":"0x0000000000000000000000000000000000000000","data":"0x"},"latest",{"tracer":"callTracer"}],
});

Other methods on Arbitrum

debug_traceCall on other chains

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

Frequently asked questions

Does Arbitrum support debug_traceCall?

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

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

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