WATS Wallet logoWATS Wallet
Technical6 min read

What Is a Mempool? The Waiting Room Every Transaction Passes Through

A mempool is the node-level holding area where signed transactions wait before a block producer picks them up. Here is how pending, replacement and eviction actually work, why the public pool is a gift to front-running bots, and why Solana and ERC-4337 do it differently.

A mempool (short for “memory pool”) is the holding area where a blockchain node keeps transactions that have been signed and broadcast to the network but not yet included in a block. There is no single global mempool: every node keeps its own copy and gossips it to peers, so “pending” really means your transaction is sitting in most well-connected nodes’ pools waiting to be picked up. Block producers choose from that pool by fee priority, which is why an underpaid transaction can wait for hours, be replaced by a higher-fee version carrying the same nonce, or be evicted and forgotten without ever failing on-chain. The public pool is readable by anyone, so pending swaps are visible to searcher bots before they confirm. Not every chain works this way — Solana streams transactions straight to the upcoming block producers, and on EVM chains ERC-4337 wallets such as WATS submit UserOperations to a separate alternative mempool that bundlers package into ordinary transactions.

Between signing and the block

When you press send, your transaction does not go into the blockchain. It goes into a queue to maybe get into the blockchain. Your wallet broadcasts the signed transaction to a node, the node checks it is well-formed, correctly signed, sensibly nonced and funded, and then it enters the mempool — the pool of pending transactions waiting for a block producer to pick them up. Everything a wallet shows as “pending” is living in this waiting room, and most of the confusing things transactions do — stalling, disappearing, being replaced — are mempool behaviour, not blockchain behaviour.

What the mempool actually is

The first surprise: there is no single, canonical mempool. Each node keeps its own pool of pending transactions and gossips them to its peers, so the network holds thousands of largely overlapping but never identical copies. A transaction “in the mempool” really means “in most well-connected nodes’ mempools by now.” Nodes also enforce local policy — a minimum fee to accept a transaction at all, caps on how many pending transactions one account may hold, and eviction of the cheapest entries when the pool is full — which is why a very-low-fee transaction can quietly vanish from the network without ever reverting on-chain. Nothing was spent, because nothing was ever executed.

How transactions leave: the fee auction

Block space is scarce, and the mempool is where the market for it clears. Block producers assemble the most profitable set of pending transactions they can fit, which in practice means fee priority decides who exits the waiting room first. On EVM chains that priority is the tip you attach on top of the base fee under EIP-1559: pay the going rate and you leave within a block or two; underbid and you wait until demand cools or your transaction is evicted. One consequence catches people out constantly — because EVM accounts execute in strict nonce order, a single cheap stuck transaction blocks every later one you send, however generously those are priced.

Pending, replaced, dropped

Because a pending transaction is not yet history, it can still be edited in one specific way: replaced. Broadcasting a new transaction with the same nonce and a meaningfully higher fee tells nodes to drop the old one — the standard cure for a stuck send, and, when the replacement is a zero-value transfer to your own address, the standard way to cancel one. Transactions that neither confirm nor get replaced are eventually dropped: evicted from pools and forgotten, as if never sent. Nothing is lost, because the funds never moved — but none of this is visible in a typical wallet UI, which is where most “where is my transaction?” panic comes from.

A very public waiting room

Everything in the public mempool is visible to anyone before it confirms, including bots that parse pending swaps and act on what they see. That visibility is the raw material of front-running and the sandwich trades covered in the slippage explainer: a pending trade announces exactly what you are about to buy and the worst price you have agreed to accept. This is why a tight slippage tolerance is a real defence — it caps what a sandwich can extract. It is also why a growing share of EVM traffic now travels through private submission channels that skip the public pool and go straight to block builders, trading transparency for protection and taking on a new trust assumption in the process.

Not every chain has one

The gossiped mempool is an Ethereum-style design choice, not a law of nature. Solana largely skips it: the leader schedule is known in advance, so clients forward transactions directly to the upcoming block producers rather than flooding a global pool, which is one reason its pending states feel so short-lived. TON moves messages through its own sharded routing rather than one shared queue. And ERC-4337 adds a parallel lane on EVM itself: UserOperations wait in an alternative mempool of their own, where bundlers pick them up and wrap them into a normal transaction, as set out in the bundler and UserOperation explainer. Same waiting-room logic, different room.

Where a wallet meets the mempool

The mempool is the layer WATS handles so you rarely have to think about it: WATS broadcasts through healthy nodes and tracks pending status across Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana and TON — three ecosystems with three different waiting rooms — behind one interface, so a pending state means the same thing to you whichever waiting room it is stuck in. On EVM chains, WATS actions travel as ERC-4337 UserOperations through the alternative mempool, where a paymaster settles the native gas the block producer demands while you settle in a single token, ATS. That is not a discount — the network is still paid its full going rate, and your ATS charge tracks it — it changes only which token pays. ATS is a LayerZero OFT, so one balance covers every supported chain instead of eight native-coin balances, and ATS collected as fees is burned, driving supply from 100,000,000 toward a 30,000,000 floor. WATS is the first and only wallet to combine ERC-4337 and OFT single-token fees with that burn, and none of it touches custody: WATS is fully non-custodial, you hold your keys, and WATS never holds one.

So the practical takeaway is narrow. You cannot make the mempool go away, and you should not want to — it is the auction that gets your transaction included at all. What you can remove is the failure mode that has nothing to do with the auction: sitting on the wrong chain with no native coin to bid with. If that is the version of “pending” you keep hitting, funding one ATS balance in the WATS Hot Wallet is the fix, and the mechanics are spelled out on the ATS fee page.

Frequently asked questions

What is a mempool, in one sentence?

A mempool is the holding area where a blockchain node keeps valid, signed transactions that have been broadcast to the network but not yet included in a block. Block producers select from it, generally by fee priority, so the mempool is both a queue and an auction for block space. Anything your wallet labels “pending” is waiting there.

Is there one global mempool?

No. Every node maintains its own pool of pending transactions and shares them with peers over a gossip network, so what exists is thousands of overlapping local views rather than one master queue. That is why explorers sometimes disagree about a pending transaction, and why a very-low-fee transaction can be present in some pools, evicted from others, and eventually forgotten by all of them.

Why is my transaction stuck pending, and can I cancel it?

It is almost always waiting in the mempool because its fee is below the going rate — it will confirm if demand cools, or wait indefinitely. Because a pending transaction can be replaced, the fix is to rebroadcast with the same nonce and a higher fee: either the same transaction, to speed it up, or a zero-value transfer to your own address, to cancel it. Wallets typically expose both as speed-up and cancel buttons. On EVM chains this matters beyond the one transaction, because a stuck nonce blocks every later transaction from that account.

Can other people see my transaction before it confirms?

In the public mempool, yes — pending transactions are fully visible, and bots actively parse them, which is what makes front-running and sandwich attacks possible. Keeping slippage tolerance tight limits what such bots can extract from a swap, and on EVM a growing share of traffic uses private submission channels that skip the public pool entirely, trading that transparency for protection.

Do ERC-4337 UserOperations wait in the same mempool?

No. UserOperations are not transactions, so they travel through a separate alternative mempool, where bundlers collect them and wrap them into a regular transaction that then enters the ordinary mempool. WATS uses this path on EVM chains: the UserOperation carries a paymaster that settles the native gas, which is how a WATS user can pay network fees in ATS rather than in each chain’s native coin.

Do I need each chain’s native coin to get a transaction out of the mempool?

In WATS, no. The WATS Hot Wallet charges network fees in one token, ATS, across Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana and TON, so you are never stopped from broadcasting simply because you hold no ETH on one chain and no BNB on another. On EVM this works through ERC-4337, where a paymaster pays the native gas the block producer requires, and ATS is a LayerZero OFT so a single balance covers every supported chain. It is not a discount — the network still receives its full fee, and ATS only changes which token pays it.