Bitcoin does not have a fee schedule... Nobody sets a price, nobody publishes a rate card, and the number your wallet suggests is a guess about an auction that has not finished yet. Every ten minutes or so, a miner picks roughly one megabyte of transactions out of a waiting room called the mempool... And they pick the ones that pay the most per unit of space.... that is the whole pricing model. , Evreything else, from the $128 average fees on halving day in 2024 to the stretches where a transaction clears for a few cents, falls out of that one rule.
Most explanations stop at fees go up when the network is busy. , That is true and nearly useless. The useful version explains what busy means in bytes, why the size of your transaction matters more than the amout you send. And why a fee that looked fine five minutes ago can leave you stuck for a day.
What is the Bitcoin mempool, really?
The mempool is not one place. Every full node on the network keeps its own list of valid transactions that have been broadcast but not yet confirmed in a block...... Those lists overlap heavily, which is why peolpe talk about the mempool, but there is no central queue and no official order.
Each node also enforces its own limits. , Bitcoin Core, the reference software most nodes run, defaults to a 300 MB memory cap for the mempool and drops transactions that have been waiting longer than 14 days. When the cap fills up, the node evicts the lowest paying transactions first and temporarily raises the minimim fee it will accept. So during a real congestion event, a cheap transaction is not just slow.. it can vanish from many nodes entirely and need rebroadcasting.The floor has also moved. For years the default minimum relay fee was 1 satoshi per virtual byte. Bitcoin Core developers cut that default by 90 percent to 0.1 sat/vB in 2025, arguing that a decade of price appreciation had made the old floor expensive in real terms. Not every node followed. Bitcoin Knots, the main alternative client, kept the 1 sat/vB floor, so a transacton paying below it can propagate unevenly depending on which nodes it hits.
How do miners decide which transactions get in?
A block can hold at most 4 million weight units, which works out to 1 million virtual bytes (vB). Miners want the most fee revenue that fits in that space. So they sort the mempool by fee rate, measured in satoshis per virtual byte, and fill the block from the top down.

That is why the amount you send is irrelevant to the fee.... , Moving 0.001 BTC and moving 1,000 BTC cost exactly the same if the two transactions occupy the same number of bytes. A miner does not care what is inside the envelope. they care how thick it is and how much postage is on it. Naturally, One refinement matters a lot in pratice.... Miners evaluate transactions as packages. If a low fee transaction has a child transaction spending its output with a high fee, the miner looks at the combined fee rate of parent plus child. This is the mechanism behind Child Pays For Parent, covered below, and it is the reason a stuck transaction is rarely hopeless.
Why your transactions size matters more than the amout
Logically, transaction size depends on how many inputs you spend, how many outputs you create, and what address format those use. Each input is a previous payment you received. A wallet that holds one large deposit spends one input. A wallet that collected fifty small deposits may need fifty inputs to send the same total, and every one of them adds bytes.
Adress format is the second lever. Older legacy addresses (starting with 1) carry their signature data in the main transaction body... SegWit addresses (starting with bc1q) move that data into a discounted witness section, which is counted at one quarter weight. Taproot addresses (starting with bc1p) are cheaper still to spend from, though their outputs are slightly larger.
CryptoCasino.Vegas reserach put real numbers on this. Using standard single signature transaction sizes and a reference price of $70, 000 per BTC, the table below shows what the same simple payment costs across formats and fee environments. On top of that,
| Transaction type | Size (vB) | Quiet 1 sat/vB | Norml: 10 sat/vB | Busy: 50 sat/vB | Spike: 300 sat/vB |
|---|---|---|---|---|---|
| Legacy (1...), 1 input, 2 outputs | 226 | 226 sats ($0....16) | 2,260 sats ($1.58) | 11,300 sats ($7.91) | 67,800 sats ($47....46) |
| Nested SegWit (3....), 1 input, 2 outputs | 166 | 166 sats ($0.12) | 1,660 sats ($1.16) | 8, 300 sats ($5.81) | 49,800 sats ($34.86) |
| Native SegWit (bc1q), 1 input, 2 outputs | 141 | 141 sats ($0...10) | 1,410 sats ($0.99) | 7,050 sats ($4...94) | 42,300 sats ($29..61) |
| Taproot (bc1p), 1 input, 2 outputs | 154 | 154 sats ($0.11) | 1,540 sats ($1.08) | 7,700 sats ($5.39) | 46,200 sats ($32.34) |
| Native SegWit, 10 inputs, 1 output | 722 | 722 sats ($0.51) | 7,220 sats ($5.05) | 36,100 sats ($25...27) | 216,600 sats ($151....62) |
Taproot looks slightly worse than native SegWit in a simple one input payment because its outputs are 12 bytes bigger... The picture flips as input counts grow, since each Taproot input is about 10.5 vB lighter.. For a wallet that regularly spends many inputs, Taproot wins.
Why do Bitcoin fees spike so suddenley?
Block space supply is fixed and demand is not. When demand rises above roughly 1 million vB per ten minutes, the excess waits, and everyone who wants to jump the queue has to outbid everyone else in it. Fees do not rise gradually in that situation. They rise as fast as people are willing to bid. in practice, The history of Bitcoin fee spikes reads like a list of moments when a lot of peolpe wanted the same scarce thing at once.| Episode | What drove demand | Peak average fee (approx.) |
|---|---|---|
| December 2017 | Retail bull run, low SegWit adoption, exchange deposit rush | About $55 |
| April 2021 | Bull market peak and exchange flows | About $62 |
| May 2023 | BRC 20 token minting on Ordinals | About $30 |
| April 20, 2024 | Halving block plus lauch of the Runes protocol | About $128 |
| 2025 to 2026 | Low on chain demand, activity moving to layer 2 and exchanges | Cents; fees under 1% of miner revenue |
The randomness nobody mentions: block timing
Basicaly, blocks arrive every ten minutes on average, not every ten minutes on schedule. Mining is a random process, and the gaps between blocks follow an exponential distribution. That has a direct effect on fees that most guides skip entirely.
The probability that the next block takes longer than 30 minutes is about 5 percent. With roughly 144 blocks a day, that happens arround seven times daily... The probability of a gap longer than an hour is about 0..25 percent, which still works out to two or three times a week. During those gaps, transactions keep arriving and nothing leaves. A mempool that was clearing comfortably at 5 sat/vB can suddenly have a backlog where anything under 20 sat/vB waits for several blocks.
This is why fee estimates feel unreliable.... Your walltet quotes a rate based on the mempool it sees now and recent confirmation history..... it cannot know whether the next block arrives in 40 seconds or 50 minutes. A fee that was a sensible bid at broadcast can become a lowball bid five minutes later without anything changing on your side.
How to unstick a Bitcoin transaction
A transaction stuck in the mempool is not lost... It is underbid. There are two standrad ways to raise the bid.
Replace By Fee (RBF). The sender broadcasts a new version of the transaction that spends the same inputs with a higher fee. Nodes replace the old version with the new one.. Since Bitcoin Core 28.0, nodes accept replacements by default even if the original did not signal that it was replaceable, so RBF now works on allmost any unconfirmed transaction. The catch is that only the sender can do it, and only if their wallet supports it. Truth is, Child Pays For Parent (CPFP). The receiver, or the sender if there is a change output, spends an output of the stuck transaction in a new transaction with a high fee. Miners evaluate the pair together. if the parent is 141 vB paying 2 sat/vB and you want the pair to reach 20 sat/vB, the child needs to pay enugh to bring the combined average up... With a 110 vB child, the package is 251 vB and needs 5,020 sats total. The parent already paid 282, so the child must pay about 4,738 sats, which is roughly 43 sat/vB on its own... CPFP is expensive, but it is the only tool the recipient has.
How fee rates affect exchange and casino withdrawals
Large platforms rarely send one transacion per user. They batch withdrawals, paying dozens or hundreds of users from a single transaction..... Each extra output adds only about 31 vB, so a batch of 100 payouts can cost less per user than a handful of individual sends.... The trade off is timing. A batch goes out on the platforms schedule, not yours, and if the platform bids low to save money, every user in that batch waits togather.
That explains most pending withdrawals that are not actually pending at the platform. The transaction has been broadcast and is sitting in the mempool below the current clearing rate. Look up the transaction ID on a block explorer. If it shows a fee rate well below the projected next block, the delay is the auction, not the platform.
Some platforms remove the hmuan side of the delay entirely. cryptoCasino.Vegas, for example, processes withdrawals automatically without a manual review queue, which leaves the fee rate and the mempool as the only variables between a request and a confirmation.
Practical takeaways for paying Bitcoin fees
Think in sat/vB, not dollars. The dollar fee is the fee rate multiplied by your transacton size..... Compare rates against the projected next block on a mempool explorer before you send.
Use native SegWit or Taproot addresses. A legacy address costs around 60 percent more for the same payment.... There is no upside to keeping one.
Consolidate when fees are low. If you hold many small deposits, merge them into one output durring a quiet period..... A ten input consolidation at 1 sat/vB costs about 722 sats.... The same inputs spent during a 300 sat/vB spike cost over 216,000.
Leave RBF on.. Bid conservatively and bump if needed.... That beats overpaying by default to guard against a slow block that may never come. Honestly, Do not panic over a stuck transacton.. It stays valid until it confirms, gets replaced, or drops from mempools after two weeks. Underbid is not the same as gone.
In reality, the mempool is a continuous sealed bid auction for a fixed supply of space. Once you see it that way, the spikes stop looking random and the fees stop looking arbitrary. You are not paying a price. you are placing a bid, and the only questoin is how many other people want the same block.