Bitcoin network fees have been crazy high the past few weeks. One friend txt me showing it would cost $500 to send a single transaction!
Fees may seem complicated, but as more and more people around the world start using Bitcoin they'll keep going up. So let's understand how fees work:
- Every bitcoin transaction that touches the blockchain requires you to pay a "network fee" or "transaction fee" to the miners for processing your transaction
- Fee price is calculated by your wallet automatically and a good wallet will allow you to manually adjust the amount of the fee you'd like to pay
- Some custodial/exchange wallets like Gemini still pay the fee on your behalf, but as fees rise we'll see exchanges stop doing this like Coinbase did recently
- The fee is based on how much space your transaction will take up on the blockchain, NOT how much bitcoin you're transacting. This means the fee is the same whether you send 0.00001 BTC or 100 BTC. Recently we saw someone move over $1B worth of BTC for just $3.54.
- The average BTC transaction size over the past few months was 370-480 bytes (source)
- Paying zero fee is technically possible, but typically the smallest fee required is 1 Sat (0.00000001 BTC = 1 Satoshi aka Sat) per byte of data, so if the size of your transaction is 400 bytes, then the smallest fee you can include is 400 Sats which at $16k per BTC is roughly $0.064
Six and a half cents isn't so bad right!? But that's using the smallest transaction size and the smallest transaction fee.
A transaction grows in size based on how many inputs it contains. For example:
- If you send me 1 BTC and I send that same 1 BTC right back, the size of this transaction would be the smallest it could be.
- If you send me 10 transactions of 0.1 BTC and I send 1 BTC back, my transaction would have 10 inputs and would be roughly 10 times the size!
So now your transaction is $0.64 cents. Still not toooooo bad, but that is still paying the smallest possible fee of 1 Sat per byte.
Roughly every 10 minutes, the Bitcoin network processes a batch of transactions called a block. A block can only hodl roughly 1 megabyte of data, so at 400 bytes per transaction that means only ~2,500 transactions fit in a block!
- When more transactions happen every 10 minutes then can fit in a 1 megabyte block, the blocks become full
- When blocks ARE full, you can increase the fee to ensure your transaction is included in the next block. This creates a "fee market".
- When blocks ARE full, you can still pay a small fee, but the network will process all the transactions with a higher fee before it processes yours - this could take a while
- When blocks are NOT full, every transaction fits so paying the smallest possible fee works just fine
At the time of writing this, The blocks are full. There are 25,000 transactions waiting to be processed. So it will take at least 1 hour and 40 minutes to process the current transaction backlog even if no one used the Bitcoin network during that time.
Currently, it costs roughly 110 Sats per byte to ensure your transaction is included in the next block. So if your transaction only has one input, that would cost $7.04 to include your transaction in the next block. If your transaction has 10 inputs, that's $70.40!
Again, your wallet will calculate this stuff for you when you create a BTC transaction. But I like to double check and understand how the calculation works.
Lately, my go-to way of visualizing how full the blocks are and calculating how much fee to include is: https://bitcoinfees.net/
If you need your transaction to confirm ASAP and the blocks are full, be sure to include the number of sats per byte displayed in GREEN. If you're not in a rush, consider including a YELLOW fee. If you only include 1 or 2 sats/byte, you can wait weeks. A transaction can eventually get rejected if the blocks never clear up, but better not to have to deal with that.
Hardcore Bitcoiners will say, "full blocks and high fees are a good thing!". It means people are using the network as intended and competing for block space. This is true, although it becomes blatantly obvious that the world can't operate on a network that can only process 2,500 transactions per 10 minutes (~5 per second).
Some day most of our transactions won't even touch the blockchain - everything will be on 2nd and 3rd layers built on top of the network. For now, I prefer to use the base layer while we still can.
Sometimes you can sneak a cheap transaction into the next block on weekends when things slow down. But as the world catches on and demand rises for the only truly decentralized and provably scarce resource on the planet, expect the blocks to become permanently full and fees to increase dramatically.
To the moon 🚀 — @GΞR฿Z Founder & Creator @ BitLift