eth_chainId on ApeChain
Everything below was measured on 2026-10-13 by calling eth_chainId on ApeChain through the same endpoint customers use, and is re-measured weekly.
What eth_chainId does
Returns the chain ID (EIP-155) as a hex string. Wallets and libraries check it before signing, and the signature commits to it, so a transaction signed for one chain cannot be replayed on another.
ApeChain chain ID, as measured
net_version returns the same number as decimal text. Older tools read net_version; use eth_chainId, which is the value signatures commit to.
We sent ApeChain a legacy transaction signed without a chain ID (pre-EIP-155). Its nodes did not reject it for that: the answer was about the empty balance ("insufficient funds for gas * price + value: address 0x9e344D531604fDe8FB7b986775DA0e040D9f0f2e have 0 want 4270675920021001"). Unprotected transactions are accepted at the RPC, so replay protection depends on your wallet signing with the chain ID.
| eth_chainId | 0x8173 (33,139) |
|---|---|
| net_version | 33139 |
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_chainId","params":[]}'// Check you are on ApeChain before signing
import { createPublicClient, http } from "viem";
const client = createPublicClient({
transport: http("https://rpc.swiftnodes.io/rpc/apechain?key=YOUR_API_KEY"),
});
const id = await client.getChainId(); // 33139
if (id !== 33139) throw new Error(`wrong chain: ${id}`);
// Add ApeChain to a browser wallet
await window.ethereum.request({
method: "wallet_addEthereumChain",
params: [{
chainId: "0x8173",
chainName: "ApeChain",
nativeCurrency: { name: "APE", symbol: "APE", decimals: 18 },
rpcUrls: ["https://rpc.swiftnodes.io/rpc/apechain?key=YOUR_API_KEY"],
}],
});Other methods on ApeChain
- eth_blockNumberSupported
- eth_getBalanceSupported
- eth_getBlockByNumberSupported
- eth_getTransactionByHashSupported
- eth_getTransactionReceiptSupported
- 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_chainId 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_chainId?
Yes. eth_chainId answered on the SwiftNodes ApeChain endpoint when our weekly probe called it through the customer path (2026-10-13).
What is the ApeChain chain ID?
33139 in decimal, 0x8173 in hex, as returned by eth_chainId on 2026-10-13.
How do I add ApeChain to MetaMask?
Call wallet_addEthereumChain with chainId 0x8173, the native currency APE with 18 decimals, and your RPC URL; the example on this page has the full object.
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.