How are Bitcoin fees calculated?
Before trying to minimise the fees you pay to make a transaction on the Bitcoin base layer, you must understand how they are calculated in the first place.
You may be used to the fiat system where fees are generally a percentage of the value that you’re trying to send.
For example, you want to send $100, but it costs you $102. The payment processor charges you 2% for the service of making that transaction.
Or, if you’re trying to send internationally, the fee will be a lot higher (which you’ll be fully aware of if you live in a ‘developed’ country and you often send money home to family).
Bitcoin is different. Here fees are paid to Bitcoin Miners and are prioritised by the value of the fee. The more you pay, the more likely the miner is to include your transaction and process it quickly.
The fee itself is largely determined by the data size (not the value) and the current demand from all other users of the Bitcoin network.
How is Data Size calculated?
Imagine you have $100 in your wallet and you want to pay for something that costs $80. You hand over your $100 and you get $20 change.
But what if the $100 you have is made up of 5 x $20? Well, you pick out 4 and hand them over. Simple.
Again, Bitcoin is different.
Your $100 could be one UTXO (unspent transaction output) or 5 different UTXOs of $20 (or indeed any number of UTXOs of any value).
When you select 4 x $20 UTXOs to make your payment they are combined to a single $80 UTXO for the receiver.
But how does this effect the fee?
Well, each UTXO has a size (in data), each block can contain a maximum of 4MB of data, so the transactions with the highest fee are most likely to be included in the block, and the rest just have to wait.
If your transaction has 4 UTXOs rather than 1, it is more likely to contain more data and therefore cost most.
Still with me!?
There are other factors that contribute to data size, but if you understand the above, you’ll know more than most.
But what about demand for block space?
Great question, and I’m sure everyone was thinking it 😉
The more transactions being attempted at any time, the harder it is for your transaction to be included. Think of a coffee van with 100 people all trying to get a coffee. If you stood at the back and shouted I’ll pay $100 for 1 coffee, I’m pretty sure the vendor would allow you to jump the queue. Bitcoin miners are the coffee vendor.
For example, at times of volatility in the Bitcoin price, more people (often traders) are trying to have their transaction included before you. The more people, the more transactions, the higher the cost. If your transaction is not urgent it’s a good idea to wait until the mempool (coffee van) is not so busy.
How can I tell if the mempool is busy?
Thankfully, there are some incredibly talented bitcoiners that have helped you out here.
The Fee Adviser by talej is an app that allows you to set an alert for the fee you want to pay. Rather than constantly checking the mempool yourself, it will send you a push notification that now is a good time to get that transaction through for a reasonable amount.
Anything else I should consider?
You definitely want to be using a Bitcoin wallet that allows you to control the priority (and hence cost) of your transaction. Thankfully, there are now many good wallets out there that do.
You may also want to consider the Lightning Network (a Layer 2 solution for Bitcoin) as the place where you conduct your lower value transactional spending.
As with everything in Bitcoin, there are trade-offs and you should always use the tool that is best suited for you.
You may find this article useful when determining where you should store your Bitcoin.
I hope this helps to demystify Bitcoin transaction fees and helps you hang on to more of your sats. 🤜🤛