Bitcoin transactions have 0 confirmations? Learn how to fix them!

in #bitcoin8 years ago (edited)

opengraph.png

There are a couple hundred thousand unconfirmed transactions on the bitcoin network at the time this thread was written. Click me to see the current amount of unconfirmed transactions. Today I will explain and show you a step-by-step process on why your transactions are stuck on 0 confirmations.

Why does my transaction still have 0 confirmations after 24 hours?

Stuck transactions are usually caused by paying a fee that is too low for bitcoin miners to accept.

What can I do to make my transaction confirm?

There are a few things you can do as the receiver and the sender:
Sit and wait for the transaction to confirm
Let the transaction time-out (will take awhile)
Contact a miner/pool to mine it for you
As a sender you can:
Attempt to use Replace-By-Fee (restricted to certain wallets)
Attempt a Child-Pays-For-Parent transaction (CPFP)
As a receiver you can:
Attempt a Child-Pays-For-Parent transaction
If for some reason you are unable to perform any of the above actions, you must simply wait and hope that your transaction will eventually confirm. If your wallet does not re-broadcast your transaction automatically, you must do that periodically for the network to "remember" your transaction. Most wallets automatically do this for you.

How can I force the network to "forget" my transaction?

Transactions that remain unconfirmed for an extended period of time may be "forgotten" by most nodes on the bitcoin network. This process may take a few days. Reasons a transaction can be "forgotten" are:
Node Restarts
Mempool expiry times
Mempool eviction (mempool increases minimum fee)
How do I get a miner or pool to confirm my transaction?

Some miners and pools offer services to prioritize your transaction. You may contact them and ask if they will take a payment to include your transaction. Many users have linked to https://www.viabtc.com/tools/txaccelerator/ but it may not necessarily work for you as it has a limit of 100 transactions per hour.

Attempting Replace-By-Fee Transactions

A Replace-By-Fee (RBF) transaction, also known as a double spend, is a transaction that is identical to the one that is "stuck" on 0 confirmations. Please note that transactions that do not use Opt-In RBF will be considered a double spend and will be flagged as such, which may take a long time to confirm still. If you want to get into the technicalities of RBF, refer to my post here.

Three Different Types of RBF Transactions

There are three different types of RBF transactions:
First-Seen-Safe (FSS) - Requires that the Replace-By-Fee transaction includes the same outputs and inputs (sender/receiver ID) as the original transaction.
Full RBF - A Full Replace-By-Fee means that the transaction is a double spend of another transaction but includes a higher fee; therefore, it replaces the original transaction.
Opt-In RBF - Opt-In Replace-By-Fee simply means that an RBF transaction can only replace a transaction that has been "Opted-In" to allow itself to be replaced.

Making A Full Replace-By-Fee Transaction

Making an RBF transaction depends entirely on the wallet you are using. Some wallets will support this option and some will not. Below I will include a list of wallets that support Full RBF and how to go about performing an RBF.

  • I highly recommend you use Opt-In RBF, featured further in this tutorial with Electrum, as it is the simplest and easiest one for you to perform.

Bitcoin Core

Download Link from Official Site

In Bitcoin Core Follow these steps:
Go to the transaction list
Right-click the transaction that is stuck
Choose "Abandon Transaction"

If for some reason the option is grayed out, you must restart Bitcoin Core using the -walletbroadcast=0 option. Repeat the above steps after doing this.

If both options listed above fail, you can restart Bitcoin Core using the -zapwallettxes option. This will clear all the unconfirmed transactions. Once you restart it you can start a new transaction, but make sure you include a higher fee.

Bitcoin Armory

Download Link from Official Site

In Bitcoin Armory follow these steps:
Go to Help
Clear All Transactions
Restart Armory

Once you have restarted Armory, you can go ahead and send a new transaction with a higher fee.

MultiBit HD

Website

In MultiBit HD follow these steps:
Go to Manage Wallet
Click on Repair Wallet
Follow the wizard

Once you have completed these steps you can now send a new transaction with a higher fee.

Wallets That Do Not Use Full Replace-By-Fee

This is a list of commonly used wallets that do not use Full RBF:
Blockchain and most web wallets
Electrum (Supports Opt-In which I recommend you use)
Mycelium
Bitcoin Wallet for Android
MultiBit Classic
Copay
Jaxx

Using Child-Pays-For-Parent (CPFP) Transaction

A Child-Pays-For-Parent transactions is when a child transaction spends from an unconfirmed parent transaction and includes a transaction fee which covers both the fee of the child and the parent. These type of transactions are very hard to perform as most wallets do not allow this. A few mining pools will not accept a transaction with a low fee leading to a high fee either.

To do this you must:
Make sure your transaction has 0 confirmations
Send a new transaction with the same amount of coins again
Make sure you set a way higher fee. Use https://bitcoinfees.21.co/ to determine high fees.
Send the new transaction.