Skip to content

Selecting fees

8 min read

Fees are priced per virtual byte, driven by mempool demand, not by the amount sent. A few practical habits meaningfully cut what you pay.

Quiz still to takeGo to the quick check

Answer every question correctly (100%) to complete this lesson.

Your progress is kept in this browser. An account keeps it across your devices.

Fees are quoted in satoshis per virtual byte (sat/vB). A transaction's size in virtual bytes depends mainly on how many inputs and outputs it has, more inputs make a transaction larger and therefore more expensive at a given fee rate, regardless of the total value moved.

Because block space is limited and demand varies, the market-clearing fee rate rises and falls with mempool congestion. Wallets and fee estimators (including the mempool.space API) track pending transactions to suggest a rate likely to confirm within a target number of blocks.

If a transaction was sent with Replace-By-Fee (RBF, BIP-125) signalled, it can later be rebroadcast with a higher fee to speed up an unconfirmed transaction stuck in the mempool, useful if network demand rose unexpectedly after sending.

Fee rates are not constant through the week: demand for block space tends to be lower during periods of lower overall transaction activity, such as weekends in many analyses, though this is a tendency rather than a guarantee. Non-urgent transactions can be timed to take advantage of quieter mempool periods.

Explain more simply

The fee you pay depends on how much 'space' your transaction takes up in a block and how busy the network currently is, not on how many bitcoin you are sending.

Most wallets suggest a fee automatically, often with a choice between slower/cheaper and faster/more expensive.

Real-world analogy

Fees work like toll pricing on a busy bridge: the toll rises when traffic is heavy and falls when it is quiet, regardless of how expensive the cargo in your vehicle is.

Key facts

  • Fees scale with transaction size in virtual bytes, not with the amount of bitcoin sent.
  • RBF lets a sender rebroadcast an unconfirmed transaction with a higher fee.
  • Mempool congestion, which varies over time, is the main driver of the market fee rate.

Common misconception

Sending a larger amount of bitcoin costs a proportionally larger fee.

Fees are based on transaction data size (inputs/outputs), not on value transferred. Sending 0.001 BTC or 10 BTC in an otherwise identical transaction costs the same fee.[5]

Go deeper

Since SegWit, transaction size is measured in weight units and expressed as virtual bytes (vB), where witness data (signatures) counts less than the rest of the transaction; this is why SegWit and Taproot transactions are cheaper per equivalent operation than legacy ones.

Consolidating many small UTXOs into one input-heavy transaction during low-fee periods is a common technique to reduce future transaction sizes and avoid getting stuck with many small, expensive-to-spend outputs (sometimes called 'dust').

Child-Pays-For-Parent (CPFP) is an alternative to RBF: a receiver can spend an unconfirmed output with a high enough fee that miners are incentivised to confirm both transactions together, useful when the original sender is unavailable to bump the fee.

Quick check

Answer every question correctly (100%) to complete this lesson.

  1. 1.What mainly determines a Bitcoin transaction fee?

    What mainly determines a Bitcoin transaction fee?
  2. 2.What does Replace-By-Fee (RBF) allow?

    What does Replace-By-Fee (RBF) allow?

Counts towards your streak in this browser.

Extra exam questions

Every question here counts towards your accuracy, XP and rank. No guessing: every answer is explained.

16 questions

Quick check

Answer every question correctly (100%) to complete this lesson.

  1. 1.Bitcoin transaction fees are typically quoted in which unit?

    Bitcoin transaction fees are typically quoted in which unit?
  2. 2.What primarily determines the total fee (in sats) you pay for a transaction?

    What primarily determines the total fee (in sats) you pay for a transaction?
  3. 3.Why do more inputs in a transaction generally increase the fee?

    Why do more inputs in a transaction generally increase the fee?
  4. 4.During periods of high mempool congestion, what typically happens to fee rates needed for timely confirmation?

    During periods of high mempool congestion, what typically happens to fee rates needed for timely confirmation?
  5. 5.What does RBF (Replace-By-Fee) allow a sender to do?

    What does RBF (Replace-By-Fee) allow a sender to do?
  6. 6.What does CPFP (Child-Pays-For-Parent) allow?

    What does CPFP (Child-Pays-For-Parent) allow?
  7. 7.If a transaction does not signal RBF, can CPFP still be used to speed it up?

    If a transaction does not signal RBF, can CPFP still be used to speed it up?
  8. 8.A transaction paying a very low fee rate during congestion might:

    A transaction paying a very low fee rate during congestion might:

Counts towards your streak in this browser.

Sources