Bitcoin Mempool and Fees Explained: How to Pick a Fee Rate
How Bitcoin fee rates work, how to read mempool congestion before you send, and when a low-fee transaction needs RBF, CPFP, or an accelerator.
A Bitcoin fee is not a price for sending an amount. It is a bid for block space, measured in satoshis per virtual byte, and it competes against every other unconfirmed transaction waiting at the same moment. Sending 0.001 BTC and 10 BTC costs the same if the two transactions take up the same space.
By the end of this guide you will know how to read that competition, pick a fee rate that matches how urgent your payment is, and decide what to do when you picked too low. If a transaction is already waiting, paste its ID into the Bitcoin transaction accelerator to see its fee rate next to live network estimates before you do anything else.
The mistake most people make is trusting a wallet's fee estimate as if it were fixed. An estimate is a snapshot of the mempool at the moment you sign, and the mempool can fill up in the ten minutes it takes to find the next block.
What the Mempool Actually Is
The mempool is the waiting room for valid transactions that have not been mined yet. There is no single mempool: every Bitcoin node keeps its own copy, and they are usually close to identical because nodes relay transactions to each other within seconds.
Miners build each block from the transactions in their mempool, and they fill it with the highest fee rates first because that maximizes their income. A block holds roughly 1 million virtual bytes (vB) of transactions and arrives about every 10 minutes on average. When more than one block's worth of transactions is waiting, the lowest bids wait longer.
Two limits decide whether a low-fee transaction survives the wait:
- Mempool size cap. Bitcoin Core nodes keep 300 MB of transactions by default. When the pool fills, nodes evict the lowest fee rates first and raise the minimum fee they will accept.
- Expiry. Bitcoin Core drops transactions that stay unconfirmed for 336 hours (two weeks) by default. The coins never left your wallet, so once the transaction disappears from most nodes, your wallet can spend them again.
A stuck transaction is not lost money. Until a block includes it, the BTC either confirms later or the transaction drops out and the coins stay spendable by the sender.
How Fee Rates Are Calculated
Your total fee equals the fee rate multiplied by the transaction's virtual size. Size depends on how many inputs and outputs the transaction has and which address type created them, not on the amount of BTC moved.
| Transaction shape (1 input, 2 outputs) | Approximate size |
|---|---|
| Legacy address (starts with 1) | ~226 vB |
| Nested SegWit (starts with 3) | ~167 vB |
| Native SegWit (starts with bc1q) | ~141 vB |
| Taproot (starts with bc1p) | ~154 vB |
At 20 sat/vB, a native SegWit payment of about 141 vB costs roughly 2,820 sats. The same payment from a legacy address costs about 4,520 sats because it carries more data. Each extra input adds size too, which is why a wallet holding many small deposits pays more to send the same amount.
Consolidating small UTXOs when fees are low is the single biggest lever on future fee costs. A wallet that spends one large input instead of ten small ones can cut the size of a payment by more than half.
Reading Congestion Before You Send
Fee estimators show a handful of targets, usually labeled by expected wait. The accelerator tool uses the same buckets: fastest (next block), half hour, one hour, economy, and the minimum relay rate. The gap between them tells you more than any single number.
- Look at the spread between fastest and economy. If both sit at 1–3 sat/vB, the mempool is nearly empty and almost any fee confirms in the next block or two.
- Check the size of the backlog. A mempool explorer such as mempool.space shows how many blocks' worth of transactions are waiting. Ten or more pending blocks means low bids can wait hours or days.
- Watch the direction. Fees that jumped in the last hour, often after an inscription mint or a large exchange batch, tend to settle once that demand clears. Fees that have climbed steadily all day are less likely to drop soon.
- Match the target to the deadline. A payment to your own cold wallet can use the economy rate. A deposit that starts a fixed-rate swap should use at least the half-hour rate, because the quote has an expiry window.
Weekends and late UTC hours are often quieter than weekday business hours, but that pattern breaks whenever a popular mint or market move floods the network. Always read the live numbers rather than the calendar.
When a Fee Was Too Low: RBF, CPFP, or Accelerator
If the transaction is still unconfirmed and its fee rate sits below the one-hour estimate, you have three ways to move it. Which one works depends on who you are in the transaction.
| Situation | Best option | Who acts |
|---|---|---|
| You sent it and your wallet offers "bump fee" | Replace-by-Fee (RBF) | Sender |
| You received it, or you control the change output | CPFP: spend the unconfirmed output with a high fee | Recipient or sender |
| Wallet has no fee bumping, or the transaction may not have propagated | Rebroadcast through an accelerator | Anyone with the transaction ID |
RBF is the strongest fix because it raises the fee on the original transaction. Since Bitcoin Core 28.0, most nodes accept replacements even when the original did not signal opt-in RBF, but many wallets still only show a bump button for transactions they flagged as replaceable.
CPFP works because miners evaluate a parent and its child as a package. A child paying a high fee raises the average rate of both, pulling the parent into a block alongside it.
An accelerator cannot change the fee you paid, and no accelerator guarantees confirmation. What the Zest tool does is compare your transaction against current estimates, flag whether it is likely to clear on its own, and rebroadcast it across several relay networks so more nodes and miners see it. For a walkthrough of each method step by step, read how to speed up a stuck Bitcoin transaction.
How Confirmation Timing Affects Swaps
Once a transaction enters a block it has one network confirmation, and each later block adds another. Exchanges and swap services wait for a set number of confirmations before they treat a BTC deposit as final, so a low fee delays the whole order, not only the first block.
For a swap funded with BTC, that delay has a cost. A floating-rate order settles at the rate when the deposit confirms, which can differ from the quote you saw. A fixed-rate order can expire while the deposit waits in the mempool. To follow a deposit from broadcast to final confirmation, the guide on verifying a crypto transaction with a block explorer shows what each status means.
A Fee Checklist Before You Hit Send
- Read the live fastest, half-hour, and economy rates, not a figure you saw earlier.
- Pick the target by deadline: next block for time-critical deposits, economy for self-transfers.
- Send from a native SegWit or Taproot address when you can, since smaller transactions cost less at any fee rate.
- Use a wallet that supports fee bumping, and keep the transaction ID.
- If the payment stalls below the one-hour rate, bump it with RBF first, use CPFP second, and rebroadcast through the accelerator when neither is available.