Skip to content

FeesBitcoin

Bitcoin mempool and fees explained

Updated:

On this page

Bitcoin fees work very differently from Ethereum gas. This article explains the mempool, the sat/vB unit, why transaction size decides the fee, and what to do when a payment is stuck.

For the basics of the network, see Bitcoin. For the general idea of fees, see gas and fees.

The mempool

When you send bitcoin, your wallet broadcasts the transaction to the network. Each node checks it and keeps it in a waiting area called the mempool (memory pool) until a miner puts it in a block. There is no single mempool. Every node has its own, though they are usually very similar.

A block has a limited size. Miners fill blocks with the transactions that pay the most fee for the space they take. So when the mempool holds more transactions than one block can carry, those with a low fee wait.

Fees are set per byte, not per amount

Bitcoin does not charge by the amount you send. It charges by how much space the transaction takes in a block. The unit is the virtual byte (vB). The price is quoted in satoshis per vB (sat/vB). One satoshi is one hundred-millionth of a bitcoin.

The fee is:

fee = size in vB x fee rate in sat/vB

Example: a transaction of 141 vB at 10 sat/vB costs 1,410 satoshis. Sending a very small amount costs as much as sending a very large one if they have the same size. The fee does not change with value, only with size.

Virtual bytes come from SegWit, which counts the signature data at a discount. A block has a limit of 4 million weight units, which is about 1 million vB.

What decides transaction size

A Bitcoin transaction has inputs (the coins you spend) and outputs (where the coins go). More inputs and more outputs mean a bigger transaction and a higher fee.

  • A simple payment with one input and two outputs (one to the receiver, one back to you as change) is about 140 vB when it uses a modern SegWit address.
  • If your wallet holds many small coins and must combine them, it uses many inputs, and the fee grows.
  • A payment to many receivers has many outputs, which also adds size.

Address types

Different address types give different sizes per input.

  • Legacy addresses (starting with 1) are the largest.
  • SegWit addresses (starting with bc1q) are smaller per input.
  • Taproot addresses (starting with bc1p) are also small per input, and some complex spends become smaller.

So the same payment can cost noticeably less from a SegWit or Taproot address than from a legacy one. The wallet picks the address type, so check what it uses.

Estimating the fee

Wallets estimate the fee rate by looking at the mempool and recent blocks. A typical tool shows several targets:

  • Next block: the highest rate, for the best chance of being in the next block.
  • About 30 minutes: a medium rate.
  • About 1 hour: a lower rate.
  • Economy: a minimum rate for payments that can wait a long time.

These are estimates, not promises. If a sudden rush fills the mempool, a payment that was expected in the next block may wait longer. The gas page shows these Bitcoin targets and converts them to a dollar cost for a typical 141 vB payment.

What happens when the mempool is full

When demand is high, the fee rate needed to get into the next block rises. Low-fee transactions stay in the mempool. Nodes have a size limit for their mempool. When it fills up, they drop the lowest-fee transactions. A dropped transaction is not lost money: the coins were never spent on the chain. Your wallet can send it again.

Mempool rush times happen, for example, when many people move coins at once. Watch the situation in the Bitcoin page: each block tile shows how full it was and the fees it carried.

Unsticking a payment: RBF and CPFP

If you paid too little, there are two common fixes.

  • RBF (replace-by-fee). You send a new version of the same transaction with a higher fee. Nodes replace the old one with the new one. Your wallet must support it. Older nodes only accepted a replacement if the original transaction was marked as replaceable; most nodes today accept it either way, but some wallets only offer RBF for transactions they marked.
  • CPFP (child pays for parent). You or the receiver creates a new transaction that spends an output of the stuck one and pays a high fee. Miners include both together, because they want the fee from the child, and the child cannot be mined before its parent.

The sender usually uses RBF, and the receiver, who cannot change the original, can use CPFP.

Why blocks are not exactly 10 minutes apart

Bitcoin aims for one block about every 10 minutes on average. Mining is a lottery: miners try many guesses, and the time to find a valid block is random. Some blocks come within a minute and others take 30 minutes or more. Every 2016 blocks, the network adjusts the mining difficulty so the average stays near 10 minutes.

This randomness is also why fee estimates for "next block" can be wrong. If a block arrives late, more transactions queue up.

Watch it live

Open Bitcoin on ChainMonitor to see recent blocks as tiles, with how full each one is and the fee rates. Click a block to see its transactions, or paste a transaction ID in the header search to check its status. For how to read what you find, see how to read a transaction and finality and confirmations.

Frequently asked questions

What is sat/vB?

It is the Bitcoin fee rate: satoshis paid for each virtual byte of transaction size. Multiply it by the size of your transaction to get the fee.

Why is my Bitcoin transaction stuck?

Most likely its fee rate is lower than what miners accept right now. It stays in the mempool until the rate falls, you speed it up, or nodes drop it.

How can I speed up a Bitcoin transaction?

Use RBF if your wallet supports it, or ask the receiver to use CPFP. Both pay a higher fee for the same space.

Does sending more bitcoin cost more in fees?

No. The fee depends on the size of the transaction, not on the value. A transaction with many inputs costs more than a simple one of any value.

How many confirmations should I wait for?

A common rule of thumb is 6 confirmations for larger payments. See finality and confirmations.