The Mempool and the Fee Market: Where a Transaction Waits
Every Bitcoin node keeps its own mempool, a waiting room of valid transactions that are not yet in a block. Block space is limited, so miners fill each block with the transactions that pay the most per virtual byte, fees rise and fall with demand, and a stuck transaction can be sped up with replace-by-fee or child-pays-for-parent.
Category: Mining and the Network · Published 2026-10-28
Editorial review complete · technical review pending · sources under review What does this mean?
Editorial review covers clarity and neutrality. Technical, security, and source reviews indicate whether an article's material claims were checked against relevant authoritative material. A source link being available does not by itself mean every claim has been verified. A reviewed status means the article's material claims were examined; it does not mean the article is exhaustive or that future protocol, market, or software changes cannot make it outdated.
A waiting room for transactions
When you send bitcoin, the transaction does not land in a block right away. First it is broadcast to the network, and each node that hears about it holds a copy in its mempool, short for memory pool.1 Think of it as a busy waiting room full of valid, signed transactions that have not yet been confirmed.
There is no single global mempool. Every node keeps its own, and they tend to look alike because nodes pass transactions on to one another.1 A miner assembling the next block draws from the mempool it sees, choosing which waiting transactions to include. Until a block includes your transaction and the network builds on top of it, your payment is real but pending: it exists and it is spreading, but it has not yet been written into the permanent record. And if the block that included it loses a race with a competing block, the transaction simply returns to the waiting room until another block picks it up.1
Why fees exist at all
Bitcoin blocks are deliberately limited in size. A block can hold at most four million weight units, which works out to one million virtual bytes (vbytes), room for a few thousand ordinary transactions.2 And a new block arrives only about once every ten minutes on average.4 Space is scarce on purpose, and scarce space needs a way to be rationed.
That is what fees do. A transaction fee is simply the difference between the bitcoin a transaction spends and the bitcoin it sends onward; whatever is left over is claimed by the miner who includes it.4 Fees are a market-based way of saying please prioritise me. They also matter for the long run. The whitepaper expected that once a predetermined number of coins had been issued, the reward for mining could move entirely to transaction fees.5 Whether fees alone will be enough to pay for mining is still an open question, covered in what happens as the block subsidy approaches zero.
Fee-rate, not fee: the sat/vByte yardstick
Here is the part newcomers most often get wrong. Miners do not rank transactions by the total fee paid. They rank by fee-rate: the fee divided by how much room the transaction takes up, measured in satoshis per virtual byte (sat/vByte).23
A small transaction paying a modest fee can outrank a large one paying more in absolute terms, because it delivers more reward per unit of block space. Picture a moving van with limited room: the driver loads whatever pays best per cubic metre, not whichever single box has the biggest tag. Block-building software works the same way, adding the best-paying transactions per byte first until the block is full.3 This is why the size of your transaction, which depends mostly on how many inputs and outputs it has, shapes its cost just as much as the fee-rate you choose.
Why fees rise and fall
Because block space is fixed but demand is not, fees rise and fall with traffic.3 When few people are transacting, the mempool drains, blocks have spare room, and a transaction paying close to the minimum can still confirm quickly. When the network is busy, transactions pile up faster than blocks can clear them. The mempool swells, the waiting room overflows, and the only way to move up the queue is to offer a higher fee-rate than the crowd.
In real congestion, low-fee transactions can sit for hours or longer, waiting for a quiet stretch. None of this is a malfunction: it is the fee market doing its job, pricing access to a limited resource. One common myth is worth retiring: network difficulty has nothing to do with fees. Difficulty governs how hard it is to find a block; the fee market governs what goes inside it.
How your wallet guesses the right fee
You rarely set a fee-rate by hand. Your wallet does fee estimation for you: it works out the fee-rate a transaction needs for a good chance of confirming within your chosen number of blocks, whether that is the next block or sometime over the next day.6
Estimation is a forecast, not a guarantee, because new transactions keep arriving. If you guess too low and get stuck, Bitcoin offers escape hatches. Replace-by-fee lets the sender broadcast a new version of the transaction that spends the same coins with a higher fee; it must pay more in total than the transaction it replaces. Since version 28.0, Bitcoin Core nodes accept such a replacement by default whether or not the original was flagged as replaceable.7 Child-pays-for-parent lets whoever controls one of its outputs, often the recipient, spend that output with a generous fee. A miner can only take the child if the parent is in the same block or an earlier one, so the pair is weighed together and the stuck parent comes along.8 Both exist precisely because the mempool is a moving target.
What the miner actually collects
When a miner finds a valid block, the first transaction inside it is special: the coinbase transaction. This is not the company with a similar name; it is the payment a miner writes to itself. The coinbase collects two things added together: the block subsidy of newly created coins, and the sum of every fee from the transactions packed into that block.4
So a well-filled block during a busy period earns noticeably more than the subsidy alone, while a block mined in quiet hours earns little extra. A solo miner who finds a block is paid that block's whole reward, subsidy and fees together (less any fee the solo pool charges), rather than a share of a pool's earnings, and the new coins cannot be spent until 100 more blocks have been added.4 Finding one is the rare part: solo mining is a lottery, and an expected time to a block is an average, not a countdown. How solo-mining probability works explains the odds.
FAQ
Is there one single mempool for all of Bitcoin?
No. Every full node keeps its own mempool of unconfirmed transactions. They look similar because nodes relay transactions to each other, but there is no central, authoritative mempool. A miner builds the next block from whatever its own node currently holds.
Why is my transaction stuck as unconfirmed?
It is waiting in the mempool with a fee-rate too low for current demand. Block-building software takes higher sat/vByte transactions first, so when the network is busy, cheaper ones wait until traffic eases. You can often speed it up with replace-by-fee or child-pays-for-parent if your wallet supports them.
What does sat/vByte mean?
It is the fee-rate: satoshis paid per virtual byte of transaction size. A virtual byte is four weight units, the measure the block size limit uses. Miners rank transactions by this ratio, not by total fee, because it measures reward per unit of scarce block space. A small, efficient transaction can beat a large one even if the large one pays more overall.
Do higher fees make a transaction more secure?
No. Fees only affect how quickly a transaction is likely to be confirmed. Once it is in a block and more blocks build on top, security comes from that accumulated proof-of-work, not from the fee you paid. A low fee may mean a longer wait, but the eventual confirmation is just as valid.
Does a miner keep the transaction fees on top of the subsidy?
Yes. The coinbase transaction at the start of each block pays the miner the block subsidy plus the total of all fees from the transactions included in that block; together they make up the block reward. As the subsidy shrinks through halvings, fees are expected to become a bigger share of a miner's reward, though whether they will be enough on their own is an open question.
Key takeaways
- Each node keeps its own mempool of unconfirmed transactions; there is no single global one.
- A block holds at most four million weight units, so miners choose transactions by fee-rate (sat/vByte), not by total fee.
- Fees rise and fall with demand for block space and have nothing to do with mining difficulty.
- Wallet fee estimates are forecasts, and replace-by-fee or child-pays-for-parent can rescue a transaction that gets stuck.
- The miner who finds a block collects the subsidy plus every fee in it, and those coins cannot be spent for 100 blocks.
Sources
- Bitcoin Developer Guide, P2P Network (Memory Pool): full nodes keep their own pool of unconfirmed transactions eligible for the next block, and transactions from blocks that go stale can return to it — Bitcoin Project (developer.bitcoin.org)
- BIP 141, Segregated Witness: the block weight limit (at most 4,000,000) and virtual transaction size (transaction weight divided by 4) — Bitcoin Improvement Proposals (GitHub)
- Bitcoin Developer Guide, Transactions: fees per byte rise with demand for block space, transactions are added highest fee per byte first until the block is full, and most transactions carry a change output — Bitcoin Project (developer.bitcoin.org)
- Bitcoin Developer Guide, Block Chain: the fee as inputs minus outputs, claimed by the miner; the coinbase transaction collecting the block subsidy plus fees and its 100-block spending rule; difficulty set so 2,016 blocks take two weeks — Bitcoin Project (developer.bitcoin.org)
- Bitcoin: A Peer-to-Peer Electronic Cash System (the whitepaper), section 6: transaction fees add to the block incentive, which can transition entirely to fees once a predetermined number of coins is in circulation — bitcoin.org
- Fee estimation: estimating the fee rate a transaction needs for a high probability of confirming within a given number of blocks — Bitcoin Optech
- Bitcoin Core mempool replacement policy: a replacement must pay at least the fees of the transactions it replaces plus its own relay cost; full replace-by-fee is the default as of v28.0 and signalling is no longer required — Bitcoin Core project (GitHub)
- Child pays for parent (CPFP): spending an output of a low-fee unconfirmed transaction in a high-fee child so miners include both; a parent must appear in the chain before its child — Bitcoin Optech