Making a Bitcoin transaction is usually pretty straightforward. Technically, all you need is a Bitcoin wallet of your own to send or receive Bitcoin, and the Bitcoin address of the other party so that you can send them BTC or confirm you received funds from them. Once you make the transaction, Bitcoin miners add your transaction to the Bitcoin blockchain, and voila! The transaction is completed.
But Bitcoin transactions are not always immediately successful. Sometimes you make a transaction and it remains unconfirmed for a while. That means some BTC has left your wallet, but it doesn’t appear anywhere else on the blockchain, creating anxiety that your funds have disappeared. Don’t worry though, because your funds aren’t lost. They are just stuck in the mempool limbo, waiting for miners to take notice of your transaction and add it to the next block of confirmed Bitcoin transactions.
We prepared a guide to explain what happens to Bitcoin transactions that are not immediately confirmed and how you can rebroadcast your Bitcoin transaction to recover your funds from the blockchain purgatory.
How Are Bitcoin Transactions Confirmed?
A Bitcoin transaction is fundamentally different from other forms of payment. When you make a transaction through a credit card, you trust the bank to handle your funds properly and deduct the necessary amount from your bank account. If there is a problem with your transaction, you can simply call the bank and ask them to solve the issue at hand.
Bitcoin, however, functions on the basis of its code and decentralized network. Since it’s a decentralized payment system, there is no authority you can call to inquire about your transaction or ask for help with troubleshooting. Your Bitcoin transactions are confirmed through a process known as mining and collectively ensured by the peer-to-peer Bitcoin network.
Mining nodes in the network pick up unconfirmed Bitcoin transactions and try to provide proof that they are valid so that these transactions can be added to the Bitcoin blockchain.
When you make a Bitcoin transaction, you are simply sending out a message that says “X address sends Y amount of BTC to Z address”. At this stage, this is an unconfirmed transaction. Your Bitcoin wallet adds the transaction to its memory pool and broadcasts the transaction to other nodes on the peer-to-peer network. The other nodes receive the unconfirmed transaction in their mempools and soon all the nodes can see your transaction.
Once a Bitcoin transaction is in the mempool, it usually gets picked up by miners to be validated onto the blockchain. Technically, it takes around 10 minutes for a Bitcoin block to be mined, so your transaction can be confirmed within minutes. Once miners add your transaction to a block and validate it, the transaction takes its place on the Bitcoin blockchain and is considered complete and immutable.
Why Does My Bitcoin Transaction Remain Unconfirmed?
Like we said above, your Bitcoin transaction can be confirmed in 10 minutes but that is often not the case. Bitcoin blocks have size limits, which means that only a limited number of transactions can be added to a new block. Bitcoin has become really popular over the years, leading to an increased number of Bitcoin transactions and an increased waiting time for transaction confirmations.
That said, Bitcoin transactions typically don’t take too long if there isn’t unusual traffic on the Bitcoin network. On a normal day, you can expect your Bitcoin transaction to be confirmed within a couple of hours. However, if there is a lot of network activity i.e many unconfirmed transactions in the mempool, it might take a while for the miners to pick up your transaction.
Bitcoin miners can select the transactions they wish to include in a block and they usually prefer to include transactions with higher fees because miners receive the attached transaction fees. High network traffic can create a backlog in the mempool, leading miners to pick and choose the most profitable transactions, leaving others to collect dust. When traffic increases, users often attach higher fees to transactions to make sure their transactions are picked up as soon as possible, which means a transaction with a less-than-average miner fee won’t make its way to a Bitcoin block.
If your Bitcoin transaction hasn’t been confirmed after a couple of hours, it’s a good idea to check the mempool backlog and the Bitcoin network traffic. If there is increased activity, it’s normal that your transaction hasn’t been confirmed. Another possibility is that you picked too low of a miner fee for the transaction to be picked up by miners. If that is the case, you might have to wait for the network traffic to slow down before your transaction is validated, or use a rebroadcasting method to push your transaction through the mempool.
How to Rebroadcast Bitcoin Transactions?
If your Bitcoin transaction has taken too long to confirm, you can try to speed up the process through a few methods. However, keep in mind that waiting a little bit more can be the easiest and cheapest solution sometimes. If you are not in a particular hurry, don’t try to rush your transaction. It’s normal for Bitcoin transactions to take over a day sometimes.
You should also know that most nodes automatically delete the transactions in the mempool after 72 hours, so if your transaction isn’t confirmed by that time frame, your BTC will probably return to your wallet. However, there is a slight chance that a node will keep broadcasting the transaction after the time limit, and in that case, it’s a good idea to use one of the methods we’ll describe to accelerate your transaction.
There are four main methods you can use to accelerate or rebroadcast an unconfirmed Bitcoin transaction. These include using a Bitcoin transaction accelerator, the double-spending method, Replacing by Fee (FBF) and Child Pays for Parent (CPFP).
Let’s go over them one by one so you can decide which is better suited to your needs.
Replace by Fee (RBF)
The most convenient way to speed up a Bitcoin transaction is to use the Replace by Fee (RBF) feature in your Bitcoin wallet. Replace by Fee allows users to increase the transaction fee of an unconfirmed Bitcoin transaction so that it gets picked up by Bitcoin miners.
Technically, the Replace by Fee feature allows you to create an identical transaction to your original transaction but this time with a higher fee. Once you make the new transaction, the original transaction will be canceled, and the higher fee will likely incentivize miners to prioritize your transaction.
A wallet that has a Replace by Fee feature automatically updates the transaction details for you so that the amount of BTC you send and the receiving address for the transaction remain the same. All you need to do is to enter a higher transaction fee and renew the transaction.
The only downside to rebroadcasting a Bitcoin transaction with RBF is that you have to pay fees for both the original and the new transactions. This is a protective measure to discourage Denial-of-Service (DoS) attacks by making the operation too costly.
Unfortunately, not all Bitcoin wallets have the Replace by Fee feature. Some of the most popular Bitcoin wallets like Bitcoin Core and Electrum have RBF, though you might have to opt-in for i.e select and activate the feature before making the original transaction. That way you will be able to rebroadcast the same BTC transaction afterward with higher fees.
Bitcoin Transaction Accelerators
Bitcoin transaction accelerators are operated by miners and mining pools. Since miners decide which transactions get validated first, you are going directly to the source with this one. It’s a little bit like calling your bank in a way because you can send miners your transaction ID (TXID) directly and ask them to include it in the next block they will mine.
Bitcoin transaction accelerators are simply accelerators. You don’t have to make a new transaction or rebroadcast a transaction if you’re using this method to push your unconfirmed transaction out to the mempool.
However, it can still take some time for your transaction to be confirmed because it isn’t guaranteed that the miner or the mining pool you contact will be the first ones to add a new block to the blockchain. That said, most accelerators are operated by huge mining pools so there is a decent chance that your transaction will be confirmed in a short while.
Some BTC transaction accelerators are free and you can easily speed up your transaction without an additional cost. However, since transaction accelerators are quite popular, there might be a queue of transactions waiting. Transaction accelerators that are free of charge typically accept a limited amount of requests every hour so you might have to resubmit your TXID a couple of times before it is accepted.
For example, ViaBTC offers a free Bitcoin transaction accelerator service, but only a 100 unconfirmed transactions can be accelerated every hour so you might have to try your luck for a bit before you are successful. BitAccelerate is another free Bitcoin accelerator you can use.
Child Pays for Parent (CPFP)
Until now we talked about how to accelerate a Bitcoin transaction you are sending but there is also a way to speed up an unconfirmed transaction when you are the receiving party. The Child Pays for Parent method helps you receive an unconfirmed transaction by taking advantage of transaction grouping.
We have talked about how miners can pick and choose the most profitable transactions in the mempool before, but there is another important feature when it comes to the Bitcoin blockchain protocol. While miners can group together the transactions they choose, any repeating transaction and/or transactions that are sending BTC that they don’t have in their balance are automatically removed from the block. The only exception is when there is a Child Pays for Parent transaction.
Let’s say you’re waiting for a BTC payment but it hasn’t been confirmed due to a low transaction fee. In that case, CPFP allows you to create another transaction – a child transaction if you will – that allows you to spend the incoming BTC. In this case, the input of the first transaction becomes the output of the second transaction. While the first, or the parent transaction, has a low fee, the child transaction has a higher fee rate, allowing both transactions to be processed rapidly together.
The CPFP method doesn’t invalidate the original transaction, but instead groups two different transactions so that they can only be processed together. That way, if a miner wants to take advantage of the second transaction with a higher fee, they have to process both transactions.
Child Pays for Parent is a feature that exists in some Bitcoin wallets, including Exodus and Bitcoin Core. It’s a good idea to check beforehand to confirm your wallet has this feature if you think a transaction might take a long time due to network congestion or higher fee rates.
Finally, you can use the double-spending method to rebroadcast a Bitcoin transaction you wish to speed up or cancel but it’s not a good idea to rely on this method. Bitcoin and blockchain technology were founded to prevent the double-spending problem in the first place, to prevent people from spending the coins they don’t actually have. That’s why, with double-spending, there’s a risk that your transactions will be completely ignored and/or canceled.
However, double-spending is a tricky method and it won’t be easy to accomplish it with your regular wallet software. Technically, double-spending means sending the same BTC again for a different transaction. So you are actually trying to spend the money you don’t have.
Technically, when you double-spend transactions, you are sending conflicting messages to the blockchain. The first message says you are sending X amount of bitcoin to Y address. The second repeats the transaction, with the same or the higher amount, but with a high fee. The miners ignore the first transaction and pick the second transaction because it has higher fees.
The Replace by Fee method was developed on the basis of double-spending but it follows the protocols of Bitcoin, whereas double-spending is a method that tries to work around the system.
A Few Words Before You Go…
It’s normal for Bitcoin transactions to take a while sometimes, especially if the Bitcoin network is busy or the attached transaction fees are too low. You don’t have to worry if your transaction has not been confirmed for a while. It will either go through eventually, or it will be purged from the mempool, returning your BTC to you.
The most convenient approach when a transaction gets stuck is to simply wait. You can check a block explorer, for example, the Blockchain.com block explorer to see if there is unusual traffic on the network. In any case, most wallets continue to rebroadcast your transaction to other nodes until it’s picked up by miners.
If you aren’t in the mood to wait, there are a couple of methods you can use to speed up your transactions. Some Bitcoin wallets support CPFP or RBF, so you can simply make another transaction with a higher fee to solve the problem. Another good option is to use a Bitcoin accelerator service provided by mining pools. Double-spending is considered the worst option due to its inherent incompatibility with Bitcoin protocols.