A Bitcoin transaction fee usually refers to the amount of Bitcoin that we pay to miners when we transfer to another bitcoin address. Transaction fees are pretty straight forward once you know what they are and how to use them. However, in order to properly understand how these fees work, we need to first understand what goes on during a bitcoin transaction.
The purpose of this article is to talk about what fees are, why they’re important and why you need to pay attention to them. The first thing that happens when we send Bitcoin, is the verification of our transaction. Every computer on the Bitcoin network (also referred to as a node) holds a copy of the blockchain ledger – which is a database of every transaction that ever took place. These nodes must verify that the transaction is valid i.e that you actually own the Bitcoin you’re trying to spend.
Once the transaction has been validated, it is then added to a queue where it waits for a miner to select it and place it into a block along with other transactions to be mined and added to the blockchain. Until this happens, your transaction is ‘unconfirmed’. To make a transaction ‘confirmed’; the miner must add it to a mined block which gets added to the blockchain ledger. Once that has happened, you transaction will have 1 confirmation and the transaction can be considered complete.
However, a problem exists here. Each block can only hold so many transactions before it becomes full. When the bitcoin network is very busy (as is usually the case) then the miner will have to make a decision about which transaction to include in the block and which ones to leave for someone else. It probably isn’t a surprise that since miners want to be profitable, they will pick the ones where the highest fee ratio is being offered and ignore the rest, leaving them in the queue – known as the memory pool or *mempool*. The higher your fee, the more likely the miner is to include it in the next block they mine.
Trying to actually calculate what that fee should be is pretty difficult because you need to consider a number of variables including how busy the network is (and thus what the current average fee should be), how large the transaction is; plus other variables. And don’t think that you can get someone else to pay – the sender always pays the fees!
Again, when the network is busy, users will increase their fees in order to make sure their transaction is processed quickly. This doesn’t always mean that you also have to. If you’re not in a rush, you could use a low fee and wait for the network to quieten down when your transaction will likely be picked up and processed by a miner. This is both a feature and a fault of Bitcoin transaction fees in general.
Sometimes fees can become ridiculously expensive because of this ‘bidding war’ between bitcoin users; all vying for attention of the miners. Some options do exist that allow you to safely reduce your fees. One of them is called SegWit (or Segregated Witness). Explaining how this works is beyond the scope of this article but what this essentially does is configures your transaction data in a way that means the transaction file size is reduced (a bit like zipping a file). Another option is to bundle payments together and include them all in a single transaction where multiple recipients can be payed at once. This is considerably more complex and mostly used by Bitcoin exchanges looking to reduce their cost of doing business.
In any case, if the fee you pay is too low, then your transaction can end up being ‘stuck’ or left unconfirmed. If this happens, you have a couple of options:
- Wait. If you’re not in a rush, you could just send and forget. Doing this might mean that your transaction takes up to 72 hours to be confirmed. One way or the other, your transaction will either get confirmed, or will time out and be returned to your wallet.
- Replace By Fee. Some wallets support a feature called Replace by Fee or RBF. This allows you to actually increase (or decrease) the miner fee for your transaction after your transaction is sent.
- Accelerate it. BTC Nitro can rebroadcast your transaction, essentially reminding nodes on the network that your transaction is waiting and placing it back in the mempool. This isn’t guaranteed, especially if you used an extremely low for, for example, less than 10 Satoshis per byte. Some mining pools will include the transaction in the next block they mine for a fee, but these can often be higher than the value of your transaction in the first place!
- Child Pays for Parent. This basically means double-spending your bitcoin but with a larger miner fee. This isn’t always a simple task and you’ll have to include enough fees to more than cover your old transaction plus the new one you’re trying to double-spend. We’d advise against this method however unless you really know what you’re doing. Get this wrong and you could risk losing your funds altogether.
What’s the Worst That Could Happen?
Eventually, your stuck transaction will timeout and the funds will be returned to the senders wallet. However this can be painful as we’ve seen it take as long as 6 weeks for this to happen. You should be aware that refund this won’t actually happen until every mempool drops your transaction. With rebroadcasting nodes, this could potentially take even longer, possibly even resulting the in the transaction becoming stuck, or unconfirmed, forever. Thankfully this is extremely rare and you would need a huge transaction with near zero fees for this to be the case.
As you would imagine, someone has already tried to fix these problems and did so by creating what’s called the Lightning Network which aims to eliminate the challenge of high fees and slow transactions. However at the time of writing; the Lightning Network hasn’t been widely adopted and Bitcoin remains more of an investment asset rather than a means of low latency spending that could replace traditional cash and credit cards. We’re still hopeful and will always support Bitcoin.
Hopefully this article has given you a good idea of what fees are, why they’re important and what can happen if you don’t take them seriously.