eth_estimateGas on ApeChain
Everything below was measured on 2026-10-13 by calling eth_estimateGas on ApeChain through the same endpoint customers use, and is re-measured weekly.
What eth_estimateGas does
Runs a transaction against current state and returns the gas it would use, so you can set a gas limit. If the transaction would revert or the sender cannot pay, the node returns an error instead of a number.
eth_estimateGas on ApeChain: what we measured
| Zero-value APE transfer to an EOA | 21,169 gas |
|---|---|
| Same on Ethereum | 21,000 gas |
| 1 wei from an empty account | failed with 50000004 gas: insufficient funds for gas * price + value: address 0x9e344D531604fDe8FB7b986775DA0e040D9f0f2e have 0 want 1 |
What the numbers mean
A plain transfer estimates at 21,169 gas, not 21,000. On ApeChain the estimate includes the gas that pays for posting the transaction's data to Ethereum, so it moves with Ethereum's fees. Never hard-code 21,000 here: re-estimate before sending.
An estimate for a sender that cannot pay fails with: "failed with 50000004 gas: insufficient funds for gas * price + value: address 0x9e344D531604fDe8FB7b986775DA0e040D9f0f2e have 0 want 1". Your app sees this text when a user's balance is too low, so match on it to show a clear message.
Chains where a transfer is not 21,000 gas
Of the 53 chains we measure, 6 estimate a plain transfer at something other than 21,000 gas.
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_estimateGas","params":[{"from":"0x0000000000000000000000000000000000000000","to":"0x000000000000000000000000000000000000dEaD","value":"0x0"}]}'import { createPublicClient, http } from "viem";
const client = createPublicClient({
transport: http("https://rpc.swiftnodes.io/rpc/apechain?key=YOUR_API_KEY"),
});
const gas = await client.estimateGas({ account: from, to, value });
// Add headroom: state can change between estimate and inclusion
const gasLimit = (gas * 120n) / 100n;
// On ApeChain the estimate follows Ethereum's fees; re-estimate rather than caching itOther methods on ApeChain
- eth_blockNumberSupported
- eth_chainIdSupported
- eth_getBalanceSupported
- eth_getBlockByNumberSupported
- eth_getTransactionByHashSupported
- eth_getTransactionReceiptSupported
- eth_callSupported
- 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_estimateGas 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_estimateGas?
Yes. eth_estimateGas answered on the SwiftNodes ApeChain endpoint when our weekly probe called it through the customer path (2026-10-13).
How much gas does a plain transfer use on ApeChain?
eth_estimateGas returned 21,169 for a plain transfer on 2026-10-13; it is not the 21,000 of Ethereum.
What does "insufficient funds for gas * price + value" mean from eth_estimateGas on ApeChain?
The sender's balance cannot cover the value plus the gas. Fund the account or lower the value; the have and want figures in the message are in wei.
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.