Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

Tutorial 

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

Introduction

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://pool.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:
  1. Go to the transaction list
  2. Right-click the transaction that is stuck
  3. 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:
  1. Go to Help
  2. Clear All Transactions
  3. 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:
  1. Go to Manage Wallet
  2. Click on Repair Wallet
  3. 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:
  1. Make sure your transaction has 0 confirmations
  2. Send a new transaction with the same amount of coins again
  3. Make sure you set a way higher fee. Use https://bitcoinfees.21.co/ to determine high fees.
  4. Send the new transaction.
Child Pays For Parent - Blockchain Tutorial

People who use Blockchain can also use Electrum to fix their unconfirmed transactions.

Open Tutorial:

Spoiler (Click to View)
CPFP Blockchain Tutorial Continued:

Spoiler (Click to View)


Using Full Replace-By-Fee for Various Wallets
  • Blockchain and most web wallets
  • Electrum (Supports Opt-In which I recommend you use)
  • Mycelium
  • Bitcoin Wallet for Android
  • MultiBit Classic
  • Copay
  • Jaxx
If you use any of the wallets above, you may be in luck! If you wallet is able to export your private key/xprv, then you will be able to perform a Full RBF! Unfortunately new Blockchain wallets are Watch Only, meaning you can't export private keys and therefore cannot perform a Full RBF.

If you are able to export your private keys, this will be a tedious process but it will work! (Picture tutorial to come this weekend)

Follow these steps:
  1. Get the private keys for the addresses whose unspent outputs were used in the unconfirmed transaction.
  2. Import them into Bitcoin Core (see above for a link to the wallet)
  3. Generate a raw TX
  4. Sign the transaction
  5. Broadcast the transaction
This should fix your unconfirmed transaction. If you are having trouble, feel free to ask for help in the comments.

Using Opt-In Replace-By-Fee <<<------------ Highly Recommended!!!

There are two wallets that I know support Opt-In RBF, Electrum and GreenAddress. I highly recommend using Electrum.

Electrum

Download the latest Electrum client here.

Open Picture Tutorial (Click to View)

GreenAddress

Website - Click me!

GreenAddress is an online wallet that uses a plugin with google chrome.

Open Picture Tutorial (Click to View)

Avoiding Future Issues

To alleviate your pain in the future, there are several things you can do to avoid having these issues.
  • Dynamic Fees - Dynamic Fees are calculated by the wallet to provide a timely transaction. Currently a lot of these fees are not efficient enough. In the Electrum tutorial above, I explain how to do this.
  • Use http://bitcoinfees.21.co/ - You can calculate an optimal fee for your transaction. If your wallet does not support Dynamic Fees and allows you to customize your own, then use this.
  • Upgrade Your Wallet - If your wallet does not support Dynamic Fees or a custom fee, then I recommend you upgrade to a wallet that does.

Conclusion

If you are having trouble with doing any of the above methods, feel free to post in the thread asking for help and stating what you are stuck on. Otherwise feel free to Private Message me. I hope this has helped you in some way or have learned something new. Let me know if you find any errors in this tutorial or have anything to add.


Sources
Spoiler (Click to View)
Interesting but can this be abused?

i.e.

Sellers sells someone something so the buyer makes the fee intentionally small so it remains at 0 confirmations for a long time.

The seller is retarted and releases the item after he sees the transaction on the blockchain with 0 confirmations.

Buyer uses RBF and puts a high fee and sends the funds to the buyers alternate address so the seller ends up getting no money?

Edit: Is this what double spend is?
(May 17, 2017 09:12 PM)Cryptic™ Wrote:  Interesting but can this be abused?

i.e.

Sellers sells someone something so the buyer makes the fee intentionally small so it remains at 0 confirmations for a long time.

The seller is retarted and releases the item after he sees the transaction on the blockchain with 0 confirmations.

Buyer uses RBF and puts a high fee and sends the funds to the buyers alternate address so the seller ends up getting no money?

Edit: Is this what double spend is?

Yes, this is a double spend.

No, using this won't cause scamming in the way you described. The above methods have made it so that new fee payments can only be made if it is for the same sending and receiving addresses.
(May 17, 2017 09:12 PM)Cryptic™ Wrote:  Interesting but can this be abused?

i.e.

Sellers sells someone something so the buyer makes the fee intentionally small so it remains at 0 confirmations for a long time.

The seller is retarted and releases the item after he sees the transaction on the blockchain with 0 confirmations.

Buyer uses RBF and puts a high fee and sends the funds to the buyers alternate address so the seller ends up getting no money?

Edit: Is this what double spend is?

you can only increase the fee not change the address i think

also i dont think any sellers accept 0-confirmation payments nowadays
So if I have a payment pending but I didn't check the Replaceable box when I sent it, will I still be able to edit the fee?
(May 17, 2017 09:20 PM)Patriot Wrote:  So if I have a payment pending but I didn't check the Replaceable box when I sent it, will I still be able to edit the fee?

You will not be able to. If you had the dynamic fees option enabled, you should be fine as it already provides an adequate fee.
Should I do this for coinbase?
can u decrease the fees this way?
Works with Mycelium Wallet for Android as well.
I don't middleman any deals on- or off-site. Please don't message me requesting my past services and certainly don't fall for anybody who claims to be me.
Good thing, I didn't know this thing was there all this time I was using Electrum wallet.
question, can I use this to rush a payment I need to receive?
or does the sender need to proceed with this method?
(May 18, 2017 05:25 AM)Mr. Reviewer Wrote:  question, can I use this to rush a payment I need to receive?
or does the sender need to proceed with this method?

Would need the sender to go through the steps. Watch out for his CPFP tutorial :)
I don't middleman any deals on- or off-site. Please don't message me requesting my past services and certainly don't fall for anybody who claims to be me.
(May 18, 2017 05:25 AM)Mr. Reviewer Wrote:  question, can I use this to rush a payment I need to receive?
or does the sender need to proceed with this method?

Like it was already said, the sender must use this method. You can always point him to this tutorial if you would like! Or agree with him to pay a higher fee before he sends it.
Does this work on blockchain?
If yes, please let me know


Possibly Related Threads...
Thread / Author Replies Views Last Post
by LovealwaysmellOct 21, 2025 04:50 PM 5 237 Oct 21, 2025 04:50 PM
Last Post: Daddapen
by StanleyOct 7, 2025 12:57 AM 5 144 Oct 7, 2025 12:57 AM
Last Post: DAL-SHA
by digital2keyOct 4, 2025 12:31 AM 0 83 Oct 4, 2025 12:31 AM
Last Post: digital2key