GET/POST calls per second on Wallets
endpoints), see Wallets API rate limits.
Per-wallet queue limits
EVM blockchains use a mempool that queues pending transactions per sender address, up to a limit set by full nodes. Theoretical throughput isqueueLimit / blockTime, though priority fees, congestion, and network liveness
affect actual inclusion. Solana doesn’t use a mempool and has no per-account
queue limit, which is one reason its throughput is significantly higher.
Circle Wallets queue
To smooth over short bursts that exceed the blockchain limit, Circle Wallets queues additional transactions for a bounded duration. The service caps how many transactions a single wallet can hold in this queue. When you hit the cap, the API returns error code155264:
Wait for pending transactions to be included on the blockchain before submitting new requests. EVM chains restrict the number of queued transactions per sender address.
Monitor pending transactions
Use webhooks or the transactions API to track state changes on pending transactions.- Webhooks (recommended): subscribe to webhook notifications for real-time state updates. More efficient than polling.
- Transactions API: call
get transaction
by ID, or
list transactions
filtered by state (
INITIATED,CLEARED,QUEUED,SENT, orSTUCK).
Increase throughput
Three strategies scale throughput past the per-wallet ceiling:- Raise the fee level: setting
feeLevel: MEDIUMorHIGHprioritizes inclusion, which shortens confirmation time and reduces backpressure on subsequent transactions from the same wallet. See Gas fees for how fee levels work. - Shard across multiple sender wallets: splitting sends across multiple wallets bypasses the per-wallet queue limit and increases parallelism. Works on every supported blockchain.
- Batch with smart contracts: for repetitive workloads, batch operations in a single contract call instead of sending individual transactions. For example, an airdrop contract that processes 500 transfers per call reduces 1,000,000 individual transfers to 2,000 batched calls. A batched call costs more gas per call than a single transfer, but the total gas and time saved make batching more efficient at scale. See the Airdrop template for Circle Contracts for a working example.
Resolve stuck transactions
ASTUCK transaction has been sent to the blockchain but can’t be included in a
block because the network fee is below the current floor. This usually happens
when gas prices spike during congestion, or when the feeLevel (or custom
priorityFee/maxFee) is set too low.
Resolve a stuck transaction two ways:
- Accelerate: call the
accelerate transaction API
to resubmit at the
HIGHfee level. - Cancel: call the cancel transaction API before the transaction is mined. Cancellation also incurs gas fees.