Today, Ofir Beigel is back to answer some of our users’ most common questions about fees. To read his first post on transaction fee basics, click here.
In our previous post, we covered the what, why, and how surrounding bitcoin transaction fees. In today’s post, I want to dig further into the details and answer some of the most common questions about bitcoin transaction fees.
How can I calculate my transaction size so I’ll know what fee to attach to it?
You can’t easily do this on your own, and thankfully, many wallets can do this for you. For example, the Blockchain Wallet uses dynamic fees that calculate the required fee for you so that your transaction will confirm as reliably and quickly as possible. You also have the option to set your fees manually by using Advanced Send. Different wallets handle fees differently, and you should find out how your wallet handles the fees for you (if at all).
What happens if I don’t attach any fees to my bitcoin transaction?
Before transactions get packaged into blocks and inserted into the blockchain they wait around in the transaction pool, also known as the memory pool (or mempool for short). Each transaction in the mempool has a certain degree of priority. The priority is based on the amount of coins sent (higher = greater priority) , the age of the coins (older = greater priority) and the transaction size (smaller = greater priority).
I will not go into detail about what each of these parameters mean, but what is important to understand is this: some transactions have such a high priority that they don’t even need any fees attached. The first 50kb of each of transaction space in each block is set aside for high priority transactions. Other transactions may sit in the mempool for a long time, mature, and then finally move forward in priority in order to be included in the next block.
What if my transaction is still stuck in the mempool due to low fees or low priority?
If your transaction is stuck, it will either sit there long enough to gain a higher priority, or it will get rejected and flushed out of the mempool within roughly a week (in most cases). Once it’s been rejected, you’ll be able to try re-sending with a higher fee. Some wallets will give you the option to resend a specific transaction with higher fees in case it’s not confirmed; however, if you use a wallet with dynamic fees, you can likely avoid this entirely. As a last resort, miners will sometimes have spare space left in their block and will include zero transaction fees on a best effort basis, but it’s not recommended to count on this method.
To wrap things up:
- Fees should be calculated depending on the transaction size (and it’s not based on the amount of bitcoin being sent). This can be done automatically by your wallet (e.g. dynamic fees).
- If your transaction isn’t confirmed for a long time, either check with your wallet if you can change the fee attached to it or wait for it to get flushed out of the network and then resend it.
We hope Ofir’s posts have helped sharpen your know-how on bitcoin transactions and fees! If you still have questions, connect with us on Twitter, Facebook, or visit our Help Center for even more resources.
A bitcoin blogger since 2013, Ofir owns 99Bitcoins and the popular Bitcoin Obituaries section. He is an Internet marketer and public speaker focused on getting as many people as possible to know what bitcoin is and why it is so important.