Arbitrum One
Arbitrum One
Arbitrum One
Free tier covers personal projects. Pay-as-you-go scales without a card.
debug_traceTransaction replays a transaction that already landed on Arbitrum One, opcode by opcode, reproducing the exact EVM state at the block where it was mined. You pass the transaction hash and an optional tracer config, and the node re-executes the transaction against its historical ArbOS state. Arbitrum One is a Nitro Optimistic Rollup (chain ID 42161) that pays gas in ETH, so this trace shows the real L2 execution behind any tx you find on Arbiscan. Send the request to https://arbitrum.therpc.io/YOUR_API_KEY.
| # | Name | Type | Required | Description |
|---|---|---|---|---|
| 1 | transactionHash | string | Yes | Hash of the transaction to trace. |
| 2 | options | object | No | Tracer configuration object. |
| Type | Description |
|---|---|
| object | With the default tracer: `{gas, failed, returnValue, structLogs[]}` where each structLog entry contains `{pc, op, gas, gasCost, depth, stack?, memory?, storage?}`. With callTracer: a nested call-tree object. With prestateTracer: a pre-execution account/storage map. |
Try it live in the Arbitrum One playground.
| Code | Message | Cause |
|---|---|---|
-32601 | Method not found | debug namespace is not enabled on the node (requires --http.api=debug or equivalent). |
-32602 | Invalid params | Transaction hash is missing, malformed, or the options object contains unknown fields. |
-32000 | transaction not found | The transaction hash does not exist on the chain or the node lacks archive state for that block. |
Parameters
0x-prefixed 32-byte hash
omit for default struct-log tracer