eth_getTransactionReceipt on Arbitrum Nova
Everything below was measured on 2026-10-13 by calling eth_getTransactionReceipt on Arbitrum Nova through the same endpoint customers use, and is re-measured weekly.
What eth_getTransactionReceipt does
Returns the outcome of a mined transaction: status (1 success, 0 reverted), gas used, the effective gas price, the logs it emitted and any contract it created. It returns null until the transaction is in a block.
eth_getTransactionReceipt on Arbitrum Nova: what we measured
| Fields | 17 (3 beyond the Ethereum set) |
|---|---|
| Receipt for an unknown hash | null |
| Size of the sample receipt | 2.1 KB |
Reading the fee and fields
Beyond the Ethereum fields, Arbitrum Nova receipts carry 3 more. gasUsedForL1: the part of gasUsed that pays for posting the transaction's data to Ethereum. It is already included in gasUsed; l1BlockNumber: the Ethereum (L1) block number the L2 block or transaction was sequenced against. On Arbitrum, the NUMBER opcode (block.number in Solidity) returns this L1 value, not the L2 block number; timeboosted: whether the transaction went through Arbitrum's Timeboost express lane.
On Arbitrum Nova, gasUsed already includes the gas that paid for posting the transaction to Ethereum; gasUsedForL1 shows how much. In the sample receipt it was 3,250,545 of 3,356,654 gas (96.8%). The fee is gasUsed × effectiveGasPrice, with nothing to add.
A hash the node has not seen returns null, not an error, so poll until it is non-null (viem's waitForTransactionReceipt does this) and give up after a timeout.
A real Arbitrum Nova receipt
As our endpoint returned it; logs collapsed to a count and long hex values shortened.
{
"blockHash": "0x06032f7979617391439959eee3b0574221c107b80a5e57577a035455e51b402a",
"blockNumber": "0x51556ab",
"contractAddress": null,
"cumulativeGasUsed": "0x3337ee",
"effectiveGasPrice": "0x1312d00",
"from": "0x465e4e786cf1a6c7b2229181279eb9479989eaa6",
"gasUsed": "0x3337ee",
"gasUsedForL1": "0x319971",
"l1BlockNumber": "0x18f87b5",
"logs": "1 logs",
"logsBloom": "0x0000000000000000…(256 bytes)",
"status": "0x1",
"timeboosted": false,
"to": "0xe347c1223381b9dcd6c0f61cf81c90175a7bae77",
"transactionHash": "0xc78e0ab59fac4c79ac5349d9ccacefa91049698cadbba9d36c2f912d14bc277e",
"transactionIndex": "0x1",
"type": "0x2"
}Example request
curl -s https://rpc.swiftnodes.io/rpc/arbitrum-nova?key=YOUR_API_KEY \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xc78e0ab59fac4c79ac5349d9ccacefa91049698cadbba9d36c2f912d14bc277e"]}'import { createPublicClient, http } from "viem";
const client = createPublicClient({
transport: http("https://rpc.swiftnodes.io/rpc/arbitrum-nova?key=YOUR_API_KEY"),
});
const receipt = await client.waitForTransactionReceipt({ hash, timeout: 60_000 });
if (receipt.status !== "success") throw new Error("reverted");
// Total cost on Arbitrum Nova: gasUsed already includes the L1 part
const total = receipt.gasUsed * receipt.effectiveGasPrice;
const l1Share = receipt.gasUsedForL1; // raw field: Arbitrum Nova-specificOther methods on Arbitrum Nova
- eth_blockNumberSupported
- eth_chainIdSupported
- eth_getBalanceSupported
- eth_getBlockByNumberSupported
- eth_getTransactionByHashSupported
- eth_callSupported
- eth_estimateGasSupported
- eth_gasPriceSupported
- eth_maxPriorityFeePerGasSupported
- eth_sendRawTransactionSupported
- eth_getTransactionCountSupported
- eth_getCodeSupported
- eth_subscribeSupported
- eth_getLogsSupported
- eth_getBlockReceiptsSupported
- eth_feeHistorySupported
- eth_getProofSupported
- eth_createAccessListSupported
- debug_traceCallSupported
- trace_blockNot available
- trace_transactionNot available
eth_getTransactionReceipt on other chains
- Ethereum
- Base
- Arbitrum
- Optimism
- Polygon
- BNB Smart Chain
- Avalanche
- Sonic
- Linea
- Scroll
- zkSync Era
- Blast
- Mantle
- Gnosis
- Celo
- Berachain
- Monad
- Unichain
- Kaia
- PulseChain
- World Chain
- Ronin
- Abstract
- ApeChain
- MegaETH
- Fantom
- Lisk
- Hemi
- X Layer
- BOB
- Plasma
- Fraxtal
- Zora
- Story
- Soneium
- Sei
- Hyperliquid
- Taiko
- Morph
- Ink
- Katana
- Ethereum Classic
- opBNB
- Mode
- Flare
- Core
- Chiliz
- Telos EVM
- Tempo
- Cronos
- Manta Pacific
- Shibarium
- Boba Network
- Immutable zkEVM
Frequently asked questions
Does Arbitrum Nova support eth_getTransactionReceipt?
Yes. eth_getTransactionReceipt answered on the SwiftNodes Arbitrum Nova endpoint when our weekly probe called it through the customer path (2026-10-13).
How do I get the total fee of a transaction on Arbitrum Nova?
gasUsed × effectiveGasPrice. On Arbitrum, gasUsed already includes the L1 component (gasUsedForL1).
Why is the Arbitrum Nova receipt null?
The transaction is not in a block yet, or the hash is unknown to the node. Keep polling with a timeout.
Arbitrum Nova endpoints, live block height and WebSocket status are on the Arbitrum Nova RPC page.
One key covers every chain we serve, and SwiftNodes has a free tier.