Fees, Mempools, and the Bitcoin Fee Market
Every Bitcoin transaction competes for a limited resource. That resource is space inside future blocks. Miners earn rewards for building blocks, and part of that reward comes from transaction fees. This interaction between users who want fast confirmation and miners who sell block space creates what people call the Bitcoin fee market.
To understand this market we need three main ideas:
-
What a fee is and what it pays for
-
What a mempool is and how it behaves
-
How miners choose which transactions to include
This article starts with short definitions of each concept. Then it dives deeper into how mempools work, how fees are measured, and how the fee market behaves under different levels of congestion.
1. Core concepts in brief
1.1 Transaction fee
In Bitcoin, the transaction fee is the difference between the total value of the inputs and the total value of the outputs. That difference is not sent to any address inside the transaction; it is collected by the miner who includes the transaction in a block.
For example, if the inputs add up to 1.001 BTC and the outputs add up to 1.000 BTC, the fee is 0.001 BTC.
There is no protocol rule that sets the fee. The sender chooses it, usually through wallet software that suggests a fee level. The fee buys priority in the queue of unconfirmed transactions: when block space is scarce, a higher fee makes a transaction more likely to be confirmed in the next few blocks instead of waiting through many blocks.
Before a transaction is broadcast and accepted into any node’s mempool, it exists only inside the sender’s wallet as an unsigned or locally signed draft. At this stage the sender can freely change the fee by adjusting the outputs or the explicit fee setting and then signing a new version. Even if a low fee version was already signed but never successfully relayed to the network, it can simply be discarded and replaced with a higher fee transaction, because it was never in the global mempool.
Once a transaction has been created, signed, and accepted into the mempool of at least some nodes, its inputs, outputs, and fee are fixed and cannot simply be edited. If it is still unconfirmed, the effective fee can sometimes be increased indirectly. One method is to create a new transaction that spends the same inputs and pays a higher fee, replacing the original if it was marked as replaceable. Another is to create a “child” transaction that spends an output of the unconfirmed transaction and pays a high fee, rewarding miners for including both together.
After the transaction has been confirmed in a block, the fee is final. Changing it would require rewriting the chain of blocks, which is not considered a valid way to alter past fees.
1.2 Block space
Every block has a limit on how much data it can contain. That limit is expressed in weight units, and a transaction that uses more bytes or complex scripts consumes more weight.
Block space is scarce. New blocks are produced only every ten minutes on average, and each block can carry only a limited amount of data. The time between blocks is random, so sometimes blocks arrive close together and sometimes there is a long gap. When more transactions are created than a single block can contain, only the highest paying ones fit in the next block and the rest wait in the mempool for later blocks. In busy periods, confirmation can therefore require waiting through several blocks, unless a transaction offers a fee high enough to be selected early. If the number of people using bitcoin grows while the block size limit remains fixed, blocks tend to be full, fees rise, and low value payments are often delayed, batched together, or moved to additional layers built on top of the base chain. The fixed supply of block space and changing demand from users make fees necessary.
From a theoretical perspective, if bitcoin were to replace a major currency such as the dollar and every payment had to settle directly on the base chain, block capacity would clearly be insufficient. There are only about 144 blocks per day on average, each able to carry on the order of a few thousand transactions, for a total of several hundred thousand transactions per day. Global economic activity involves far more payments, so block space would become permanently congested: the mempool would remain large, fees would be very high, and only transactions that can pay relatively high fees would be confirmed quickly. Small everyday payments would either be delayed for many blocks or priced out of the base layer completely.
In practice, if bitcoin grows into a larger monetary role, this limitation is expected to push usage into a layered structure. The base chain would serve mainly as a global settlement layer for larger or less frequent movements of value, while most everyday activity would occur in off chain systems such as custodial ledgers or Layer 2 protocols like payment channel networks. These systems can process many off chain transfers and settle net results on the base chain only occasionally, making indirect use of scarce block space. Under such a design, blocks remain limited and scarce, but the economy scales by moving routine payments away from direct competition for each new block.
1.3 Mempool
Each full node that participates in the network keeps a memory pool, or mempool: a list of unconfirmed transactions that the node considers valid under its local rules. It is a waiting room for transactions.
When you broadcast a new transaction, it first enters the mempools of some nodes. Those nodes relay it to their peers, and eventually it spreads through much of the network. Miners then pick transactions out of their mempools and put them into blocks. When a block does not have enough capacity to store all transactions that accumulated since the previous block, the rest simply remain in the mempool and continue to wait for later blocks. Transactions that pay higher fee rates are usually taken out of the mempool first, so they are confirmed earlier, while those with very low fee rates may stay in the mempool for many blocks during congestion. In periods when many people are using bitcoin at the same time, the mempool can stay large for long periods and becomes a visible sign that block space is not sufficient to confirm all pending transactions quickly at low cost.
While a transaction is still in the mempool, some wallet software allows an increase of the effective fee through fee bumping techniques, such as replacing the original transaction with a higher fee version or creating a child transaction that spends one of its outputs and pays a large fee. Once the original transaction leaves the mempool and is confirmed in a block, its fee can no longer be changed.
Because the mempool uses limited memory and bandwidth, a node does not promise to accept and relay every valid transaction forever. Each node applies local policy rules that set a minimum fee rate for transactions it will keep, limit the total size of its mempool, and sometimes treat unusual or very large transactions as non-standard. When the mempool is full, the node tends to evict its lowest fee transactions to make room for new ones with higher fee rates. A transaction whose fee rate is too low, or that has been outbid by many later transactions, can therefore be dropped from many nodes’ mempools and stop being relayed, even though it would still be valid if some miner chose to include it in a block.
There is no single global mempool. Every node has its own, although they tend to be similar much of the time.
1.4 Fee rate
Miners do not only care about the absolute fee. They care about how much fee they earn for each unit of block space they use.
The usual measure is fee rate, in satoshis per virtual byte. A virtual byte is a way to express weight in something that feels like a size in bytes. A transaction with a higher fee rate pays more per unit of block space and is more attractive to miners, so it tends to be selected for inclusion in earlier blocks, while a transaction with a very low fee rate may have to wait through several blocks before there is room. As more users compete for the same limited block space, the fee rate required for fast confirmation rises and low fee transactions are pushed toward slower confirmation or to alternative arrangements.
A small transaction with a high fee can therefore have a much higher fee rate than a huge transaction with only a slightly larger fee.
1.5 Miner revenue and incentives
Miners earn two kinds of rewards: the block subsidy that creates new coins, and the sum of fees from all transactions in the block.
The subsidy halves roughly every four years. As it shrinks, fees become more important to the total reward. Even today, miners pay attention to fees, because they can significantly change their income. The incentive is simple: a miner who fills the block with transactions that have higher fee rates tends to earn more money. If activity on the network grows and blocks are usually full, the fee component of miner revenue becomes even more important, since users must compete more aggressively for limited block space. In such conditions miners are especially attentive to any transactions that raise total fees, including replacement transactions and child transactions that are designed to increase the effective fee of earlier unconfirmed transactions. These mechanisms allow users to improve their position in the fee market while preserving the basic rule that miners favor the set of transactions that yields the greatest total reward.
1.6 Fee market
The fee market is the dynamic process where users decide how much fee they are willing to pay for a given confirmation speed, and miners choose which transactions to include based on fee rates and space constraints.
When demand for block space is low, even very small fees can get confirmed quickly. When demand is high, users must compete by offering higher fee rates. That competition sets the clearing price for block space at each moment in time. Because each block can hold only a limited amount of data and blocks appear only every few minutes on average, there are many situations where a single block cannot store all recently created transactions. In such situations the fee market determines which transactions are included immediately and which must wait for later blocks: confirmation time grows for low fee transactions, while those that pay relatively high fee rates obtain faster confirmation even under heavy load.
If use of bitcoin increases while the protocol keeps the same block size limit, the fee market simply becomes more competitive. Blocks are full more often, the clearing price for block space tends to move upward, and some payment patterns migrate to batching and additional layers instead of competing directly on the base chain.
2. How transactions move through the network
To see where fees fit in, it helps to follow the life of a transaction from the sender’s wallet to final confirmation.
2.1 Creation and initial broadcast
When you press “send” in a wallet:
-
The wallet selects UTXOs that belong to you and that sum to at least the amount you want to spend plus the fee.
-
It constructs a transaction with inputs that reference those UTXOs and outputs that specify where the coins should go.
-
It chooses a fee. The fee is expressed as a total amount, but internally the wallet aims for a target fee rate.
-
It signs the transaction with the relevant private keys.
-
It broadcasts the signed transaction to peers on the network.
At this point, your transaction is not in any block yet. It is only a candidate.
2.2 Mempool acceptance
When a node receives your transaction, it does several checks:
-
All inputs refer to existing UTXOs in its current UTXO set.
-
Those UTXOs are not already spent by other confirmed transactions.
-
The scripts attached to the inputs run successfully and signatures are valid.
-
The transaction follows standard policies, such as size and structure limits.
If all checks pass and the node has enough room in its mempool, the node adds the transaction to its mempool and relays it to peers.
Other nodes repeat the same process. The transaction spreads through the network and becomes part of many mempools.
2.3 Selection by a miner
A miner builds a candidate block by:
-
Starting with the required coinbase transaction that collects the block subsidy and any future fees.
-
Looking at the transactions in its mempool.
-
Sorting or selecting them mostly by fee rate, subject to constraints such as dependency ordering and weight limit.
-
Assembling as many profitable transactions as will fit into the block weight limit.
The miner then runs the proof of work process on this candidate block. If the miner wins the race and finds a valid hash, the block is broadcast to the network.
Nodes that accept the block:
-
Add it to their chain.
-
Remove all transactions in that block from their mempool, because they are now confirmed.
-
Update their UTXO set to reflect the new spends and new outputs.
Your transaction is now confirmed at least once.
3. What fees really pay for
Fees serve several purposes at once.
3.1 Preventing spam
If it were free to submit arbitrarily many transactions, the mempools of honest nodes could be flooded with junk. Blocks could be filled with meaningless transactions that store random data or that simply waste space.dee
Requiring a fee for each byte of transaction data discourages abuse. A spammer would have to pay real cost to waste block space. This makes large scale attacks expensive.
3.2 Prioritizing scarce block space
Only a limited number of transactions can fit in each block. Fees let users express how urgent their transaction is.
-
If a transaction is very time sensitive, the sender can pay a high fee rate.
-
If the sender does not care when it confirms, they can choose a low fee rate and wait.
Miners then tend to process the high fee rate transactions first, which matches the intentions of the senders.
3.3 Rewarding miners and supporting security
Fees also affect the economic security of the system.
Miners spend significant resources, such as electricity, to create blocks. Their revenue must cover these costs and provide some profit. The stronger and more valuable the block reward is, the more hash power tends to secure the network.
As the block subsidy decays over time, fees are expected to play a larger role in this reward. If users value block space and are willing to pay for it, this sends an economic signal that can support long term security.
4. How mempools actually work
The mempool is a key part of the fee market. It is where transactions wait and compete. Several important properties influence how it behaves.
4.1 Local and dynamic
Each full node maintains its own mempool. There is no global shared pool that every node must copy exactly. Nodes learn about transactions at different times and may apply slightly different local policies.
Despite this, mempools usually converge toward a similar set, because nodes talk to each other frequently and relay most standard transactions.
The mempool is dynamic:
-
New transactions arrive constantly.
-
Confirmed transactions are removed when blocks are accepted.
-
Conflicting transactions may evict each other or be rejected.
-
Transactions may be dropped when the mempool is full.
4.2 Size limits and eviction
Nodes typically cap the memory used by their mempool. When the limit is reached and a new transaction arrives, the node must make room.
The usual approach is to evict transactions with the lowest fee rate first. This means that at times of congestion, low fee rate transactions may be dropped from some mempools. They are not confirmed and may not even be relayed further.
For a user, this can look like a transaction that is visible in some places but invisible in others. If the wallet notices that a transaction has vanished from the network it can react by constructing a replacement with a higher fee, if conditions allow that.
4.3 Dependencies and package handling
Some transactions depend on others. A child transaction can only be valid if the parent is confirmed or at least accepted in the mempool. Nodes track these relationships.
When choosing which transaction to evict or to include in a block, nodes and miners must consider the combined effect. For example, a low fee rate parent may be kept if a high fee rate child makes the package attractive overall.
This package logic becomes important for fee bumping techniques and for nuanced miner strategies.
5. Fee rate, weight, and wallet fee estimation
The raw fee in satoshis is only half the story. The other half is how much block space the transaction consumes.
5.1 Size and weight
Transactions have a size in bytes. With segregated witness, different parts of the transaction have different weight factors. The protocol defines a notion of weight that reflects this and sets a maximum weight per block.
Virtual bytes are a way for humans to think in terms similar to bytes. The idea is:
-
Compute the weight of the transaction.
-
Divide by four and round up to get virtual bytes.
This produces a single number that feels like a size. It simplifies thinking about fee rates.
5.2 Fee rate and miner preferences
The fee rate is defined as:
fee rate = total fee in satoshis divided by virtual bytes
Miners want to maximize satoshis per unit of block space. Sorting transactions by fee rate is a simple way to approximate this.
A miner that fills each block with the highest fee rate transactions earns more from fees than a miner that accepts low fee rate transactions while leaving high fee rate ones behind.
There are some complications due to dependencies and policies, but the principle remains that fee rate is the main measure of attractiveness.
5.3 How wallets estimate fees
Users rarely want to choose a fee rate directly based on raw mempool inspection. Wallets help by offering simple targets such as:
-
Confirm in approximately the next block.
-
Confirm within the next six blocks.
-
Save fees and confirm at some point today.
To do this, wallets:
-
Observe recent blocks and mempool state.
-
Group transactions by fee rate and by confirmation delay.
-
Build a model that estimates which fee rates tend to confirm within different time windows.
-
Suggest a fee rate for the user’s chosen target.
These models are statistical. They cannot guarantee a specific confirmation time, but they can give reasonable guidance based on current conditions.
If the fee market changes suddenly, for example due to a burst of new demand, the estimates can become inaccurate for a while until they adapt.
6. The fee market in normal conditions
In calm periods, the behavior of the fee market looks simple.
6.1 Nearly empty mempool
If there are few unconfirmed transactions:
-
Blocks are not full.
-
Many transactions can be included immediately.
-
Even very low fee rates are enough to get into the next block.
Wallets will often suggest minimal fees. Users who set slightly higher fees than the minimum gain little advantage, because the competition is weak.
6.2 Gentle competition
When the mempool contains more transactions than fit in one block but not an extreme backlog:
-
Blocks tend to be full or nearly full.
-
Miners pick the best fee rates, and some lower fee rate transactions must wait.
-
Waiting time depends on how often blocks are found and on how new transactions arrive.
In this regime the fee market behaves somewhat like a repeating auction. Every new block clears the highest fee rate bids in the mempool, then a new round begins with the remaining transactions plus new arrivals.
Users who want fast confirmation set fee rates at or above the current clearing level. Users who do not mind waiting set lower fee rates and hope to be swept up when demand drops.
7. Congestion, spikes, and backlog
Sometimes demand for block space spikes suddenly.
7.1 Building a backlog
Imagine that for some reason many people want to transact in a short period:
-
Speculation at a market peak.
-
A new protocol that uses Bitcoin transactions as a data layer.
-
A sudden wave of on chain movement from a large service.
The rate of new transactions entering mempools exceeds the capacity of blocks to clear them at the current fee levels. As the mempool fills, low fee rate transactions are squeezed out of miners’ candidate sets.
Users notice that their usual fees no longer confirm quickly. Some respond by raising fee rates. Others who care less about timing wait and hope.
The mempool backlog is the set of unconfirmed transactions that would like to be in the next few blocks but are not attractive enough at current fees.
7.2 Rising clearing price
As the backlog grows, the fee rates of newly submitted transactions tend to rise. People look at recent blocks, see what fee rates are winning, and adjust.
The effect is similar to a surge in demand for a product whose supply is fixed in the short term. The market clearing price goes up until some potential buyers decide that it is not worth paying.
At very high congestion levels:
-
Only transactions with very high fee rates confirm quickly.
-
Low fee rate transactions can remain in mempools for many hours or even days.
-
Some nodes may drop them when mempool limits are reached.
7.3 Clearing the backlog
The backlog ends when enough of the following happens:
-
A long sequence of blocks clears many waiting transactions.
-
New transaction volume slows down, for example after a speculative rush ends.
-
Some users cancel their plans or move activity off chain because fees are too high.
Once there is more room in blocks relative to incoming demand, the minimum fee rate that clears the mempool falls. Wallets gradually lower their estimates, and the system moves back toward a calmer regime.
8. Changing fees after broadcast
Sometimes a user sets a fee that turns out to be too low. The transaction sits in the mempool and does not get picked up. There are two important techniques to change the effective fee after broadcast.
8.1 Replace by fee
Replace by fee, often shortened to RBF, allows a new version of a transaction to replace an old one in the mempool, as long as several conditions are met:
-
The new transaction spends the same inputs as the old one.
-
It pays a higher fee.
-
It signals that it is replaceable, according to policy.
When a node receives the new transaction, it can remove the old one from its mempool and insert the new one. If miners also accept this replacement, they will consider the higher fee version for inclusion in blocks.
RBF is a simple way to bump a fee when the original guess was too low and the transaction has not yet been confirmed.
8.2 Child pays for parent
Child pays for parent, often called CPFP, works differently. Instead of replacing the original transaction, it adds a new transaction that depends on it.
The structure looks like this:
- The original parent transaction has an output that pays back change to the sender.
- The sender creates a new child transaction that spends this change output and pays a high fee.
A miner who wants to include the child must also include the parent, because the child is invalid without it. When the miner looks at the combined package, the total fee and total weight can result in an attractive overall fee rate, even if the parent alone was unattractive.
CPFP is commonly used by receivers as well. If they receive a payment with a low fee, they can spend that output with a high fee child and thus accelerate confirmation of both.
9. Miner strategies and real world behavioder
In theory, a miner maximizes revenue by always filling blocks with the highest fee rate transactions. In practice, there are some nuances.
9.1 Transaction selection and templates
Mining software typically builds a block template that selects a set of transactions from the mempool. The template builder:
-
Sorts transactions by fee rate, taking into account package rules.
-
Adds them until the block would exceed the weight limit.
-
Respects certain standardness and policy constraints.
Large mining pools often run their own full nodes and mempool logic, so they can apply policies that match their preferences.
9.2 Non fee considerations
Miners may sometimes consider factors other than raw fee rate:
-
They may avoid certain types of controversial or non standard transactions.
-
They may favor some transactions due to out of band agreements or services they provide.
-
They may apply local rules that penalize transactions seen as abusive.
However, ignoring fee rate too much goes directly against miners’ financial incentives. Over time, miners who consistently leave money on the table reduce their own profitability.
9.3 Competition between miners
Because there are many miners and pools, a single miner cannot easily control the overall fee market. If one miner chooses to include low fee rate transactions for free, others can still fill their blocks with high fee rate ones.
This competition tends to keep miner behavior aligned with the economic incentives built into the protocol.
10. Practical guidance for users
From a user perspective, the fee market can be summarized in a few practical habits.
10.1 Match the fee to the urgency
Ask yourself how fast you really need confirmation.
-
If a transfer is between your own wallets and is not time sensitive, you can tolerate slow confirmation with a low fee rate.
-
If you are paying a merchant who will only deliver after one confirmation, you may want a higher fee rate that targets the next block.
Being honest about urgency avoids overpaying or underpaying.
10.2 Use wallets with dynamic fee estimation
Modern wallets that monitor recent blocks and mempool conditions can make better suggestions than static rules.
Whenever possible:
-
Use the wallet’s recommended fees for different confirmation targets.
-
Avoid hard coding a fixed fee rate that may become inappropriate when conditions change.
10.3 Learn about fee bumping options
If your wallet supports RBF or CPFP:
-
Enable replaceable transactions when sending, if you may need to bump fees later.
-
Understand how to create a child transaction that spends your own change, so you can rescue a stuck payment.
These tools give you flexibility and reduce the risk of being trapped by a bad initial guess.
10.4 Plan for congestion
If you anticipate network congestion, for example during a major market event:
-
Avoid making many small on chain payments that could be postponed.
-
Consider batching payments when possible, so the total fee is shared among many outputs.
-
For frequent interactions, consider second layer solutions that reduce on chain footprint.
Thinking about block space as a scarce resource encourages more efficient patterns of use.
11. The fee market in the larger Bitcoin picture
Fees, mempools, and the fee market connect economic incentives to the technical operation of the network.
-
Mempools are where unconfirmed transactions wait and compete.
-
Fees express how much users value speed and priority.
-
Miners look at fee rates when choosing which transactions to include in the limited space of each block.
Together, these pieces ensure that scarce block space is allocated to those who value it most at any given moment, that spam is discouraged, and that miners have a reason to keep contributing hash power even as the subsidy declines.
Understanding this process makes wallet behavior much less mysterious. When you see a transaction sit unconfirmed, or when your wallet suggests a surprisingly high fee, you can now relate it to mempool conditions and the current state of the fee market, rather than seeing it as random.
Other links
1. Blockchain and Bitcoin - Overview and Big Picture
https://shiluqi.blogspot.com/2025/11/blockchain-and-bitcoin-main-article.html
TODO
No comments:
Post a Comment