Bitcoin transaction stuck in the mempool? Here's why – and what you can do about it
For the most part, Bitcoin transactions are fast and hassle free. We do everything we can at BitLaunch to ensure this remains the case, including launching an in-house payment system. Occasionally, however you'll find that your Bitcoin transactions aren't completing as quickly as you expected. Transactions can hang unconfirmed for hours, leaving less experienced users biting their nails.
The important thing is not to worry – your Bitcoin is not lost forever. However, you should also know that this type of situation is preventable. An understanding of how Bitcoin transactions – and particularly their fees – work will reduce the chance of it happening to you again. Today, we'll discuss why transactions get stuck, how you can unstick them, and how you can stop it from happening in the future.
Why do Bitcoin transaction get stuck?
When you perform a transaction with Bitcoin, it enters something called the memory pool, or mempool for short. There, it sits until it can be bundled into a block and cryptographically confirmed by miners. In an ideal scenario, transactions are confirmed every ten minutes or so. At times, however, your transaction may not be included in the next block – or even the one after that, and so on.
Usually, this is a side effect of the congestion on the Bitcoin network. This is unfortunately a regular and expected occurrence. Congestion usually occurs because there has been a sudden spike in transactions or because the hashrate has suddenly dropped.
For the uninitiated, the hashrate refers to the global amount of computing power dedicated to mining. Many things can affect this. For example, a recent crackdown on mining in China has dropped the hashrate by up to 54%, creating a situation where the time to complete a block has risen to 14-19 minutes. Other factors such as power cuts, natural disasters, and hardware availability can also affect hashrate.
The important thing to know is that when the network is congested for whatever reason, those who paid the highest fees are prioritized. If the fee you paid is below the average at the time of sending, it could take a while until your transaction is confirmed. The more congested the network, the more people are willing to pay higher fees, and so the average shifts.
How can I "unstick" my Bitcoin transaction?
If you need your Bitcoin transaction to complete urgently, there are two main ways you can speed it along: Child Pays For Parent (CPFP) and Replace by Fee (RBF) transactions.
Child Pays For Parent
A CPFP transaction allows a receiver to pay to make an incoming stuck transaction more desirable to miners. They do so by sending a second, child transaction with a high fee. As the child transaction can only be confirmed after the original parent, miners will be encouraged to complete both. This won't guarantee your inclusion in the next block, but it will increase your chances. Typically, you'll want the overall fee for both transactions to be significantly above the required fee for this to work. Most wallets provide a simple interface for CPFP, but your experience may vary.
Replace By Fee (RBF)
There's a lot of depth, discussion, and variants of RBF, but the basic premise is this: RBF lets you pay a fee to change the fee on your stuck transaction. It's best explained by an example:
- A user makes a transaction with a fee of 1 sat/byte, the lowest possible amount. It sits in the mempool for days with zero confirmations until they realise that the transaction is not going to complete any time soon.
- Rather than wait, they broadcast a new transaction that is identical to the previous, but incorporates a higher fee.
- By mining the new transaction, miners will get both its fees and the fees from the original transaction.
Bear in mind, however, that RBF should be enabled in your wallet before you send your transaction. You can find a list of RBF-compatible wallets here.
Before you perform any of these, however, check on your transaction with a block explorer, which will give you an estimated time. If you deem it unacceptable, you can make use of one of the above methods. You can also try a transaction accelerator such as Bitaccelerate, via BTC, or BTC transaction accelerator. These can be free or paid, and essentially request that a mining pool includes the transaction in its next block despite its low fee.
How to prevent your Bitcoin transaction from getting stuck
So, you've resolved your stuck transaction, but how do you make sure this doesn't happen again? If you've been following along, you may already know the answer: pay an appropriate fee on your transaction which is in line with the current congestion. When you top up your BitLaunch wallet, we'll automatically recommend a fee that should get your Bitcoin to it quickly.
For additional guidance, you can consult several Bitcoin fee estimation sites, such as BitcoinFees, BTCNetwork, mempool, or BuyBitcoinWorldwide. While it's impossible to give a completely accurate prediction, these sites can give newcomers an indication. You should ideally check the network congestion and recently confirmed transactions yourself and make your own mind up.
Paying more isn't the only route to a faster transaction, though. If you're smart about it, you can send transactions with the same fee but have them complete faster. A native Segwit wallet, for example, can significantly reduce fees. Sending your transaction on a weekend can also help, as the Bitcoin network is typically utilized less.
Ultimately, there is a balance to be made between fees and speed. If you're just looking to save money, it can be beneficial to send a conservative fee to start, but this is a risky option if your transaction is time sensitive. In a perfect world, you would be able to send a perfectly balanced fee every time, but congestion can change rapidly. In such situations, we have tools like RBF and CPFB to help us along, but you can always over-estimate if a transaction is particularly important.