eth_getTransactionCount on Arbitrum
Everything below was measured on 2026-10-13 by calling eth_getTransactionCount on Arbitrum through the same endpoint customers use, and is re-measured weekly.
What eth_getTransactionCount does
Returns the number of transactions an address has sent, which is the nonce its next transaction must use. With the pending tag it also counts the address's transactions waiting in the node's mempool.
eth_getTransactionCount on Arbitrum: what we measured
On an address that had just sent a transaction in the latest block (0xbf97926a5e28e98bb5de8e2460138c90f0431774):
| "latest" | 15,143 |
|---|---|
| "pending" | 15,143 |
Which tag to use
"pending" equalled "latest" for this address when we read it. Use "pending" for the next nonce anyway: it covers your own transactions that are sent but not yet mined. On a chain with sub-second blocks that window is short, but a burst of sends still overlaps it.
Example request
curl -s https://rpc.swiftnodes.io/rpc/arbitrum?key=YOUR_API_KEY \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionCount","params":["0xbf97926a5e28e98bb5de8e2460138c90f0431774","pending"]}'import { createPublicClient, http } from "viem";
const client = createPublicClient({
transport: http("https://rpc.swiftnodes.io/rpc/arbitrum?key=YOUR_API_KEY"),
});
const nonce = await client.getTransactionCount({ address, blockTag: "pending" });
// Sending several transactions: let viem track nonces locally
import { nonceManager, privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(key, { nonceManager });Other methods on Arbitrum
- eth_blockNumberSupported
- eth_chainIdSupported
- eth_getBalanceSupported
- eth_getBlockByNumberSupported
- eth_getTransactionByHashSupported
- eth_getTransactionReceiptSupported
- eth_callSupported
- eth_estimateGasSupported
- eth_gasPriceSupported
- eth_maxPriorityFeePerGasSupported
- eth_sendRawTransactionSupported
- eth_getCodeSupported
- eth_subscribeSupported
- eth_getLogsSupported
- eth_getBlockReceiptsSupported
- eth_feeHistorySupported
- eth_getProofSupported
- eth_createAccessListSupported
- debug_traceCallSupported
- trace_blockSupported
- trace_transactionNot available
eth_getTransactionCount on other chains
- Ethereum
- Base
- 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
- Arbitrum Nova
- Immutable zkEVM
Frequently asked questions
Does Arbitrum support eth_getTransactionCount?
Yes. eth_getTransactionCount answered on the SwiftNodes Arbitrum endpoint when our weekly probe called it through the customer path (2026-10-13).
How do I get the next nonce on Arbitrum?
eth_getTransactionCount(address, "pending"). For several transactions in a row, increment locally.
Arbitrum endpoints, live block height and WebSocket status are on the Arbitrum RPC page.
One key covers every chain we serve, and SwiftNodes has a free tier.