What is a "Stuck" transaction? How are they caused?
A "stuck" transaction is a transaction which has remained unconfirmed for period of time which either the receiver or the sender is uncomfortable with. Stuck transactions can be annoying as it means that recipients often consider the senders to not have paid yet, or the recipient needs the money as soon as possible.
Stuck transactions are typically caused by low transaction fee rates. However other things can cause stuck transactions such as spending from an unconfirmed transaction, having dust outputs in the transaction, or being a double spend of another transaction. If a transaction has a double spending transaction and the double spend confirms, then the transaction will be "stuck" forever as it can never confirm.
What can I do to make my stuck transaction confirm?
There are a few options for confirming stuck transactions. For both the recipient and the sender of the transaction, you can:
- Wait for the transaction to confirm
- Wait for the network to "forget" about the transaction
- Ask a miner to confirm it for you
For the sender of a transaction, you can also:
- Attempt an Replace-By-Fee double spend transaction
- If you have a change output, you can attempt a Child-Pays-For-Parent transaction
For the recipient of a transaction, you can also:
- Attempt a Child-Pays-For-Parent transaction
Waiting for a confirmation
If you are incapable of performing any of the other options are are too afraid to do so, you can simply wait and hope that the transaction will eventually confirm. To make sure that network is constantly being reminded of the transaction, you can rebroadcast the transaction periodically. Most wallets will rebroadcast automatically, so simply leaving your wallet open will allow rebroadcasting to happen.
Waiting for the network to "forget" about the transaction
If a transaction remains unconfirmed for too long, it can be eventually "forgotten" by most nodes on the Bitcoin network if no one rebroadcasts the transaction. This happens due to node restarts, mempool expiry times, or mempool eviction because the minimum relay fee has increased. This process typically takes a few days (usually 3). Once a transaction has been "forgotten", you may not see it in your wallet and you probably will not see the transaction in most block explorers. Once the transaction has been "forgotten", you can simply send the Bitcoin again but include a higher transaction fee. If you still see the transaction in your wallet, you will need to follow the instructions in the next Replace-By-Fee Section.
Note that some wallets will continuously rebroadcast the transaction while the wallet is on, so you either have to remove the transaction from the wallet using the instructions in the RBF section, or shut down the wallet and keep it off for several days.
Ask a miner for help
Some mining pools and miners offer services to allow you to prioritize your transaction in their mempool so that it is chosen sooner for inclusion in a block. You can contact the users Quickseller and macbook-air. These two users have access to F2Pool's transaction selector and they can help you with confirming your stuck transaction. If you do contact them, please be sure to include the transaction id of your "stuck" transaction so that they can help you much more quickly and easily. You can also try using https://www.viabtc.com/tools/txaccelerator/ to "accelerate" your transaction. Note that ViaBTC does have a limit the accelerator to 100 transactions every hour and requires that it pays a minimum fee rate of 10 satoshis/byte, so their accelerator may not necessarily work.
Also note that if you attempt an Replace-By-Fee transaction, both the original transaction and the RBF transaction will be considered double spends and miners will likely not help with any transactions marked as double spends.