How to Minimize Bitcoin Transaction Fees Guide
I wanted to explain how the system works a bit. As you all probably already know, miners are incentivized to pack transactions into blocks based on their associated fees. In high-volume times like now, the Mempool (think of it like a waiting room for unconfirmed Bitcoin transactions) gets filled up and backlogged. The miners slowly try to clear this out by processing transactions, but will naturally prioritize transactions with higher fees. Lower fee transactions typically only get processed when there are few high fee transactions left in the Mempool to compete. Basically, the higher the fee on the transaction, the faster miners will process it.
What is the Mempool?
There are many websites dedicated to visualizing the current state of the Mempool. Here’s an example where you can see the size of the Mempool over time. Note the clogging of the Mempool since the start of 2021 given the currently massive BTC volume:
BTC Mempool Size over Last 3 Months
Using Mempool information to minimize fees
So why does this matter to you? Knowing this information, you can manually set your BTC transaction fees to be lower if you’re willing to wait longer. Fees are defined in the units Satoshis/Byte (or sats/byte for short). You can use sites like this one to determine what fee you’d need for a given time preference. The sites use information on the Mempool to recommend fee amounts. For example:
20 Minute Fee Estimate
Most standard withdrawals, especially for newbies, are just 1 input and 2 outputs (multi-sig breaks this assumption, but let’s keep things simple for the sake of example). You’d therefore set these two values accordingly in the site above. SegWit is pretty widely supported at this point, so I set the transaction type to SegWit. If you needed your transaction to be processed in less than 2 blocks (or less than approximately 20 minutes), you’d need to pay 96 sats/byte in fees. This equates to a total of 16,512 sats in fees, or approximately $9.41:
2 Hour Fee Estimate
If you were willing to wait approximately 2 hours for the transaction (about 12 blocks), you’d need to pay 75 sats/byte in fees. This equates to a total of 12,900 sats in fees, or approximately $7.35:
1 Week Fee Estimate
If you’re just withdrawing to your wallet and don’t mind waiting a week for the transaction (about 1,008 blocks), you’d need to pay 14 sats/byte in fees. This equates to a total of 2,408 sats in fees, or approximately $1.37:
TL;DR: By manually setting the fee yourself on transactions that need not be rushed, you can minimize how much you spend on fees. I normally set fees to the minimum I can get away with since I never need fast transactions for moving BTC between wallets and such. To anyone who has more practical experience with faster transactions, please correct anything I got wrong! I hope this helps out some of the newbies :)