Bitcoin Transaction Fees Explained: sat/vB, vBytes and the Mempool
Bitcoin charges for space, not for value
Sending 0.001 BTC and sending 100 BTC can cost exactly the same fee. Bitcoin blocks have a fixed capacity, and miners choose the transactions that pay the most per unit of space. So the fee depends on how large your transaction is in bytes, and on how much competition there is for the next block. That is why Bitcoin fees are quoted as satoshis per virtual byte (sat/vB). One satoshi is 0.00000001 BTC.
What a virtual byte is
The SegWit upgrade in 2017 changed how size is measured. Each transaction has a weight: non-witness data counts 4 weight units per byte, while witness data, mostly signatures, counts 1 weight unit per byte. A virtual byte is weight divided by 4. The block limit is 4 million weight units, which is 1 million vB. This discount is why SegWit and Taproot transactions are cheaper than legacy ones carrying the same payment.
Typical transaction sizes
| Transaction type (1 input, 2 outputs) | Approximate size |
|---|---|
| Legacy (P2PKH, addresses starting with 1) | ≈ 226 vB |
| Nested SegWit (P2SH-P2WPKH, starting with 3) | ≈ 167 vB |
| Native SegWit (P2WPKH, starting with bc1q) | ≈ 141 vB |
| Taproot (P2TR, starting with bc1p) | ≈ 154 vB |
Each extra input adds the most size, because each input carries a signature. A native SegWit input adds about 68 vB. That is why a wallet holding many small UTXOs pays more to send the same amount. The Bitcoin transaction cost page multiplies these sizes by the live fee rate.
The fee formula
fee in sats = size in vB × fee rate in sat/vB
A native SegWit payment of 141 vB at 5 sat/vB costs 705 sats. At a BTC price of $80,000, that is about $0.56. At 50 sat/vB during congestion, the same payment costs about $5.64.
How the mempool sets the price
Unconfirmed transactions wait in each node's mempool. Roughly every ten minutes a miner assembles a block from the highest-paying transactions that fit. When the mempool holds less than a block's worth of transactions, even 1–2 sat/vB confirms quickly. When it holds many blocks' worth, the fee needed for the next block rises. GasNow shows three tiers from mempool.space: Fast targets the next block, Standard roughly 30 minutes and Slow about an hour. Live values are on the Bitcoin fee tracker.
What causes Bitcoin fee spikes
Spikes come from bursts of demand: exchange withdrawals during sharp price moves, inscription and token minting waves, and periods after a run of slow blocks. Because block space is fixed, spikes can last hours. When your transaction is not urgent, setting a low fee rate and waiting is often the right call.
Frequently asked questions
Why is my Bitcoin fee the same for small and large amounts?
Bitcoin fees depend on transaction size in virtual bytes and on demand for block space, not on the amount sent.
What is a good sat/vB right now?
It changes with mempool congestion. Check the live Fast, Standard and Slow rates on GasNow's Bitcoin fee tracker before sending.