Bitcoin Fees explained
Why is there a Fee at all?
Any time you broadcast a Bitcoin transaction, you’re competing for a tiny slice of each upcoming block. That block space isn’t free and has different purposes:
Prevent Spam: Requiring a fee means bots can’t flood the chain with junk.
Reward for the Miners: They collect those fees on top of the block subsidy, so even as halving events shrink the subsidy, their income (and the network’s hash power) can keep growing.
The minimum fee of 1 sats/vB
Why do the fees variate so much?
It’s simply a competition for the block space. If there are many people that want do do a Bitcoin Transaction the fees get pushed to higher numbers. If you want your transaction to confirm sooner, you need to pay more to give the miners the incentive to put your transaction into the next block.
Wallets translate this into a single number that is displayed a “sats per vByte” and most will suggest “fast,” “normal,” or “slow” settings. Want instant confirmation? Choose the highest the rate. You can wait? Choose a lower fee rate and your TX will settle once there is less demand for block space.
The average fee rate in blocks 909 903 - 909 9007
How high can fees rise?
The network doesn’t really care how many coins you’re moving. 0.01 BTC or 100 BTC often costs the same because the byte count is identical.
With an empty mempool, you only pay a few sats of fees. If there is a lot of demand, such as we saw during the NFT and Ordinal hype, fees can raise to hundredths of Euros for only one transaction. In this fees environment it’s advisable to use the Lightning Network or other second layer solutions.
SegWit’s Impact
The 2017 Segregated Witness upgrade changed how transaction weight is calculated. Signatures moved into a separate “witness” field that counts for less toward the 4 MB block limit. If you’re sending from a bc1… (native SegWit) address, you’re getting an automatic markdown compared with legacy formats.
“Blockchain Fee” vs “Exchange Fee”
Buying or selling on an exchange involves two ledgers:
The actual chain: Moving coins on or off the platform.
The exchange’s database: Trades between users inside.
Trading fees are the platform’s revenue and have nothing to do with miner rewards. You only pay the network fee when you withdraw to your own wallet.
The fees in the Lightning
Layer 2 flips the fee model. Because payments hop through liquidity channels instead of being written into blocks.
Base fee: A tiny fixed charge (can be thousandths of a sat).
Liquidity fee: A fraction of the payment size.
Each routing node sets its own rates. If a path doesn’t have enough inbound capacity, the payment fails or you split it up. For day-to-day spending, Lightning is instant and overs fees as low as fractions of a cent.
Tips to avoid overspending
Batch your UTXOs. One output per payee costs less than multiple separate transactions.
Use Replace-by-Fee (RBF). Start low and only if you really need your transaction to be confirmed immediately: increase the fee.
Check the mempool and wait for times of a low fee environment for your transaction.
Final Thoughts
- Fees excist to prevent spam. They also deliver a framework to give miners the incentive of which transactions to take in a block.
- Miners rely on those fees more each halving cycle, because the block reward gets reduced.
- Lightning offers near-free, instant payments but depends on channel liquidity, while on-chain remains for final settlement.