trace_transaction on Arbitrum
Measured 2026-10-04 by our weekly probe, which calls trace_transaction through the same Arbitrum endpoint customers use.
What trace_transaction does
Returns the Parity-style trace of one transaction: every internal call, creation and value transfer it caused. It is the usual tool for debugging a transaction after it has been mined.
What to use instead on Arbitrum
Arbitrum did not serve the trace_* namespace in our probe, which is common on OP Stack and zk chains. The debug_* namespace works on Arbitrum: use debug_traceTransaction with the callTracer instead.
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":"trace_transaction","params":["0x0000000000000000000000000000000000000000000000000000000000000000"]}'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: trace_transaction on Arbitrum
const result = await client.request({
method: "trace_transaction",
params: ["0x0000000000000000000000000000000000000000000000000000000000000000"],
});Other methods on Arbitrum
- eth_getLogsSupported
- eth_getBlockReceiptsSupported
- eth_feeHistorySupported
- eth_getProofSupported
- eth_createAccessListSupported
- debug_traceCallSupported
- trace_blockSupported
trace_transaction on other chains
Support differs by chain; the full measured table is on the trace_transaction reference.
- Ethereum
- Base
- Optimism
- Polygon
- BNB Smart Chain
- Avalanche
- Sonic
- Linea
- Scroll
- zkSync Era
- Blast
- Mantle
- Gnosis
- Celo
- Berachain
- Monad
- Unichain
- Kaia
- PulseChain
Frequently asked questions
Does Arbitrum support trace_transaction?
Not on our Arbitrum upstreams: trace_transaction failed in our weekly method probe (2026-10-04). Arbitrum did not serve the trace_* namespace in our probe, which is common on OP Stack and zk chains. The debug_* namespace works on Arbitrum: use debug_traceTransaction with the callTracer instead.
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.