eth_getTransactionCount on zkSync Era
Everything below was measured on 2026-10-13 by calling eth_getTransactionCount on zkSync Era 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 zkSync Era: what we measured
On an address that had just sent a transaction in the latest block (0x528acad9478cf2d9f99e556ad8858b8ee6ac766a):
| "latest" | 228 |
|---|---|
| "pending" | 228 |
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 a few seconds per block, sending twice in one block is common.
Example request
curl -s https://rpc.swiftnodes.io/rpc/zksync?key=YOUR_API_KEY \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionCount","params":["0x528acad9478cf2d9f99e556ad8858b8ee6ac766a","pending"]}'import { createPublicClient, http } from "viem";
const client = createPublicClient({
transport: http("https://rpc.swiftnodes.io/rpc/zksync?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 zkSync Era
- eth_blockNumberSupported
- eth_chainIdSupported
- eth_getBalanceSupported
- eth_getBlockByNumberSupported
- eth_getTransactionByHashSupported
- eth_getTransactionReceiptSupported
- eth_callSupported
- eth_estimateGasNot measured
- eth_gasPriceSupported
- eth_maxPriorityFeePerGasSupported
- eth_sendRawTransactionSupported
- eth_getCodeSupported
- eth_subscribeSupported
- eth_getLogsSupported
- eth_getBlockReceiptsSupported
- eth_feeHistorySupported
- eth_getProofNot available
- eth_createAccessListNot available
- debug_traceCallSupported
- trace_blockNot available
- trace_transactionNot available
eth_getTransactionCount on other chains
- Ethereum
- Base
- Arbitrum
- Optimism
- Polygon
- BNB Smart Chain
- Avalanche
- Sonic
- Linea
- Scroll
- 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 zkSync Era support eth_getTransactionCount?
Yes. eth_getTransactionCount answered on the SwiftNodes zkSync Era endpoint when our weekly probe called it through the customer path (2026-10-13).
How do I get the next nonce on zkSync Era?
eth_getTransactionCount(address, "pending"). For several transactions in a row, increment locally.
zkSync Era endpoints, live block height and WebSocket status are on the zkSync Era RPC page.
One key covers every chain we serve, and SwiftNodes has a free tier.