💡 The Plain-English Definition
Fee is the total amount of Bitcoin paid to include a transaction in a block. Feerate is fee per unit of transaction size — measured in satoshis per virtual byte (sat/vB). Miners care about feerate, not fee. A small transaction paying a high feerate gets confirmed before a large transaction paying a higher total fee.
🤔 But Why Though?
Miners have limited block space — approximately 4 million weight units per block. To maximise their revenue, they fill that space with the highest-earning combination of transactions, like filling a suitcase with the most valuable items per kilogram of weight. A transaction weighing 250 vB (virtual bytes — the standard unit of transaction size after SegWit, the 2017 upgrade that changed how transaction data is measured) and paying 2,500 satoshis has a feerate of 10 sat/vB. A transaction weighing 500 vB and paying 4,000 satoshis has a feerate of 8 sat/vB. Despite paying more satoshis in total, the second transaction earns the miner less per unit of block space — so the miner will include the first transaction before the second.
This means setting fees correctly requires knowing your transaction’s size, which varies based on transaction type. A simple one-input, one-output Legacy transaction (using the original Bitcoin address format starting with 1…) might weigh 250 vB. The same transaction using Native SegWit addresses (starting with bc1q…) might weigh 140 vB — smaller, and therefore cheaper at any given feerate. A multi-input transaction with many UTXOs (Unspent Transaction Outputs — discrete chunks of Bitcoin you own) will weigh more and cost more at the same feerate. Good wallets calculate this automatically and estimate the appropriate feerate based on current mempool conditions, presenting the total fee for your approval before broadcast.
🌍 The Real-World Analogy
Think of miner selection like a cargo airline optimising its payload. The airline earns revenue per kilogram of cargo, not per package. A 1kg package earning £20 is more valuable than a 3kg package earning £30 — even though the absolute payment is higher for the second, the first earns more per kg of limited space. Miners optimise the same way: feerate (per unit of space) determines priority, not total fee.
⚡ So What?
Understanding feerate explains why your transaction might sit unconfirmed despite paying a seemingly reasonable fee — if the feerate (per byte) is too low, miners fill blocks with better-paying transactions first. It also explains why consolidating many small UTXOs into larger ones improves fee efficiency for future transactions: fewer inputs means smaller transactions means lower fees at any given feerate.
