Learn Crypto Blog
Learn Crypto
6 months

How Bitcoin transaction fees work

How Bitcoin transaction fees work
  • How much traditional financial transactions cost
  • Bitcoin's on-chain transaction fees
  • Bitcoin transactions for low fees at Lightning speed
  • How to minimise bitcoin transaction fees

Bitcoin was created as an upgrade to the legacy financial system, giving more people access to banking, and making transactions faster and cheaper. Sending bitcoin isn’t, however, free, and fees can vary depending on the method used and the priority given to speed. To shed light on what can be a confusing subject we pulled together a beginner’s guide to how Bitcoin transaction fees.

The idea that making a financial transaction with regular money - dollars and euros - can incur a cost shouldn’t be news to anyone, what is less obvious is what you are actually paying for. 

How much traditional financial transactions cost

The existing financial system is centralised, so moving money simply requires debiting a balance on computer A and crediting a balance on computer B, though in reality there are quite a few hops in between. 

When you make a Visa transaction, both you and the receiving retailer pay a fee. You aren’t aware of it, but it is built into the price of the goods or service. The real cost of the transaction is tiny, and decreases as the number of Visa users increases, so the fees are very expensive relative to what is actually happening. 

In reality the fee is just to cover the costs of sorting out problems if and when things go wrong. If you read the Bitcoin whitepaper, Satoshi Nakamoto, its author, alludes to this. 

The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions, and there is a broader cost in the loss of ability to make non-reversible payments for non-reversible services - Page 1 of the Bitcoin Whitepaper

Bitcoin’s on-chain transaction fees 

Given that Bitcoin’s creator had transaction costs firmly in mind when creating a new trustless way to send money, surely fees for sending Bitcoin are tiny and completely transparent? The answer is yes and no.

First of all, you only pay a fee to send bitcoin, not to receive it. Secondly, the fees for sending Bitcoin are not relative to the value being sent; what is important is the amount of data your transaction represents and how many other transactions are also competing to be sent at the same time. 

This focus on data volume is because Bitcoin transactions are recorded in a blockchain, a distributed digital ledger of data blocks, each of fixed size (1mb). A new block is added to that chain every ten minutes, containing recent transactions that can only become spendable amounts at a new address when they are confirmed.

To get your transaction confirmed it needs to be added to a new block of data by a Miner, who earns the fees, and a block reward, for the service. 

So given there is only so much space in a block, Miners will prioritise transactions, either based on the size fee - picking the highest - or the ease of adding them to the block - picking the smallest by data volume.

Luckily, you don’t have to make any calculations yourself, your Bitcoin wallet will normally use a Dynamic Fee option where you can choose between paying a Regular Fee when time isn’t critical, or a Priority Fee, if the transaction is time sensitive. If not, there are plenty of websites where you find that information for yourself.

If you really want to, you can come up with a custom fee calculation, specifying a specific amount calculated on the basis of satoshis per byte. It also helps to pay attention to how congested the network is by checking the Memory Pool (Mempool for short) which is where unconfirmed bitcoin transactions sit, waiting for a Miner to pick them up and add them to a new block. The clearer the Mempool, the less competition for confirmation, the lower transaction fees. 

As a side note, if you get that deep into monitoring transactions and fees you might be confused to see blocks of more than 1mb being confirmed. That is because part of the resolution of the battle of block size found a way to avoid part of the transaction data being cached in the computer’s memory. So blocks can essentially be up to 1.7mb.


What Bitcoin’s fee system means in practical terms is that it is ideal for sending large sums - measured in dollar/euro value -  as you can literally send a billion dollars for under $10, which is 0.000001%, and it will be received six confirmations in the Bitcoin blockchain - giving it irreversible settlement finality - in under an hour.


What about transactions on exchanges?

What we’ve described so far relates to fees where you control your bitcoin i.e in a non-custodial wallet. If you aren’t clear what that means, you can read our blog article on custody, but in essence when, for example, you keep your bitcoin on centralised exchange, and request a transfer, they process it on your behalf, and so the fee you pay is determined by the exchange, not the bitcoin network.

Sometimes the exchange will simply pass on the fees at the going rate, in some cases they will charge a fixed fee that will be much higher, to discourage withdrawals, or absorb fees as a promotional tool. It is just important to be aware of the approach taken when using a custodial service where you have no flexibility over the fees you pay.

How Bitcoin’s focus on decentralisation impacts fees

The tldr for sending bitcoin,is  the less you want to send the higher, proportionally, fees become, up to a tipping point where sending a couple of Euros/Dollars doesn’t make economic sense. But that isn’t where the story ends, as that would mean that the majority of everyday transactions wouldn’t be possible on the Bitcoin blockchain, making it useless as a medium of exchange. 

The issue comes down to the need to limit block size, to preserve the decentralised nature of the Bitcoin network. It is so important that a war was fought over it - though with tweets not bullets. It is a complex subject but in order for Bitcoin to be decentralised, it should be easy to serve as a Node on its network - verifying transactions. 

Nodes need to download the entire blockchain, and given we are approaching 80,000 blocks that requires quite a bit of computing memory. The bigger a block, the further out of reach running a Node on a standard computer set-up becomes, and the less decentralised the Bitcoin network.

Those arguing for limited block size won the Block Wars, which resulted in an update called Segregated Witness - or Segwit for short - which attempted to increase block efficiency, stripping out non-essential data, rather than just increasing overall block size. With the arguments settled, the focus shifted to ways for people to transact off the blockchain, which avoids paying fees to Miners altogether. 

You can see the impact on fees when Mining is disrupted by looking at April 2021, when a perfect storm of conditions in China, at the time accounting for a significant proportion of mining power, reduced the Hash Rate, the measure of current mining capacity.

bitcoin transaction fees peak April 2021

Bitcoin transactions for low fees at Lightning speed

The answer came with the Lightning Network. Learn Crypto has several articles explaining how the Lightning Network works and how its adoption is growing, but for the purpose of this article, the Lightning Network is an off-chain solution (sometimes called Layer 2 solution) for sending small Bitcoin transactions with tiny fees.

Transactions move back and forth in channels between users of the Lightning Network, and are confirmed on the main Bitcoin blockchain, when the channel is closed and the transactions back and forth are settled up. The fees go to users providing liquidity (credit) to enable routing of transactions, so as the Lightning Network grows, the more people you can transact with, by proxy.

Newcomers to Bitcoin can sometimes be surprised at the cost of transaction fees. This is either because they aren’t using a wallet that allows them to choose an appropriate fee for their type of transaction, and/or because they misunderstand how Bitcoin is intended to work.

How to minimise bitcoin transaction fees

Here’s a summary of ways to minimise bitcoin transaction fees:

  • Use a non-custodial wallet that allows you to choose the fee level
  • Use a non-custodial wallet that supports Segwit
  • If your transaction isn’t time sensitive try and time it for when the network is less busy
  • If you want to make low value bitcoin transactions consider using the Lightning Network
  • When choosing a custodial service, like an exchange, be aware of what they charge for withdrawals

Satoshi Nakamoto sacrificed speed for security and decentralisation, which means blocks of limited data size, ten minute confirmation times and a competition for inclusion of transactions in that limited space which is won by the highest fees. Anyone who understands the true value of decentralisation, should realise that this is a cost worth paying, and rather than asking why Bitcoin fees are so high, might consider at what cost low fees on rivals chains come?

Tune feed