eth_getTransactionReceipt on ApeChain
Everything below was measured on 2026-10-13 by calling eth_getTransactionReceipt on ApeChain 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 ApeChain: what we measured
| Fields | 16 (2 beyond the Ethereum set) |
|---|---|
| Receipt for an unknown hash | null |
| Size of the sample receipt | 1.7 KB |
Reading the fee and fields
Beyond the Ethereum fields, ApeChain receipts carry 2 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.
On ApeChain, gasUsed already includes the gas that paid for posting the transaction to Ethereum; gasUsedForL1 shows how much. In the sample receipt it was 8 of 330,586 gas (0%). 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 ApeChain receipt
As our endpoint returned it; logs collapsed to a count and long hex values shortened.
{
"blockHash": "0x073b5cfe1a457a25ad1977ad68bab1253586cf7101a507632f4988b5ad289c50",
"blockNumber": "0x3189e23",
"contractAddress": null,
"cumulativeGasUsed": "0x50b5a",
"effectiveGasPrice": "0x17acc3c940",
"from": "0xabd82aab17c0a1fc27697bc20cb6f30624b9b705",
"gasUsed": "0x50b5a",
"gasUsedForL1": "0x8",
"l1BlockNumber": "0x18f8853",
"logs": "1 logs",
"logsBloom": "0x0000000000000000…(256 bytes)",
"status": "0x1",
"to": "0x031a84f81a9505e48624936c274f4dfd497676ae",
"transactionHash": "0x1ee827dd7350d0cd3901ef03a4088fb3306c32979f95108640905dde65aec1d9",
"transactionIndex": "0x1",
"type": "0x2"
}Example request
curl -s https://rpc.swiftnodes.io/rpc/apechain?key=YOUR_API_KEY \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0x1ee827dd7350d0cd3901ef03a4088fb3306c32979f95108640905dde65aec1d9"]}'import { createPublicClient, http } from "viem";
const client = createPublicClient({
transport: http("https://rpc.swiftnodes.io/rpc/apechain?key=YOUR_API_KEY"),
});
const receipt = await client.waitForTransactionReceipt({ hash, timeout: 60_000 });
if (receipt.status !== "success") throw new Error("reverted");
// Total cost on ApeChain: gasUsed already includes the L1 part
const total = receipt.gasUsed * receipt.effectiveGasPrice;
const l1Share = receipt.gasUsedForL1; // raw field: ApeChain-specificOther methods on ApeChain
- 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
- 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
- Arbitrum Nova
- Immutable zkEVM
Frequently asked questions
Does ApeChain support eth_getTransactionReceipt?
Yes. eth_getTransactionReceipt answered on the SwiftNodes ApeChain 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 ApeChain?
gasUsed × effectiveGasPrice. On Arbitrum, gasUsed already includes the L1 component (gasUsedForL1).
Why is the ApeChain receipt null?
The transaction is not in a block yet, or the hash is unknown to the node. Keep polling with a timeout.
ApeChain endpoints, live block height and WebSocket status are on the ApeChain RPC page.
One key covers every chain we serve, and SwiftNodes has a free tier.