Why is my transaction not confirmed and what can I do about it?

Here is a guide for as many portfolios as I could understand how to perform a RBF with. This is adapted from my post bitcointalk: https://bitcointalk.org/index.php?topic=1802212.0

A "blocked" transaction is a transaction that has remained unconfirmed for a period of time with which the recipient or sender is uncomfortable. Blocked transactions can be boring because it means that recipients often consider that shippers have not yet paid, or that the recipient needs money as soon as possible.

Blocked transactions are typically caused by low transaction fee rates. However, other factors may result in blocked transactions, such as expenses arising from an unconfirmed transaction, dust in the transaction, or double expense for another transaction. If a transaction involves a double-spend transaction and the double spend is confirmed, the transaction will be "locked" forever because it can never be confirmed.

There are several options for confirming blocked transactions:

For the recipient and the sender of the transaction, you can:

  • Wait for the transaction to be confirmed
  • Wait until the network "forgets" the transaction
  • Ask a minor to confirm it for you

For the sender of a transaction, you can also:

  • Try a double-spend transaction per replacement
  • If you have a change output, you can attempt a Child-Pay-For-Parent transaction

For the recipient of a transaction, you can also:

  • Trying a child-to-parent transaction

Waiting for a confirmation

If you are unable to execute the other options or are too afraid to do so, you can simply wait and hope that the transaction will eventually be confirmed. To make sure that the transaction is constantly recalled to the network, you can rebroadcast it periodically. Most portfolios will be rebroadcast automatically; you just have to leave your wallet open for replay.

Waiting for the network to "forget" the transaction

If a transaction remains unconfirmed for too long, it may be "forgotten" by most Bitcoin network nodes if no one rebroadcasts the transaction. This is due to node reboots, mempool timeouts, or mempool evictions because the mempool minimum fees have increased. This process usually 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 higher transaction fees. If you still see the transaction in your wallet but you do not find it in the block explorers, you will need to follow the instructions in the next section Replace by commission.

Note that some portfolios continually rediffuse the transaction when it is turned on. You must delete the transaction from the wallet by following the instructions in the RBF section or close the wallet and keep it for several days.

Seek help from a minor

Some mining pools and miners offer services that allow you to prioritize your transaction in their mempool tool so that it is chosen earlier to be included in a block. One of these services is https://pool.viabtc.com/tools/txaccelerator/. Note that ViaBTC limits the throttle to 100 transactions every hour and requires a minimum charge of 10 satoshis / bytes; its accelerator may not work. Https://pushtx.btc.com/#/ is another service of this type. BTC.com does not need another payment method to "speed up" your transaction.

Also note that if you attempt a commission replacement transaction, the original transaction and the RBF transaction will be treated as double expenses. Miners will probably not help with transactions marked as double expenses.

Attempt of a dual expense replacement expense transaction (RBF)

What is an RBF transaction?

A commission replacement transaction is a transaction that is almost identical to your blocked transaction but pays a higher transaction fee. Since the original transaction probably does not use the RBF opt-in option, the RBF transaction we are going to create will be considered a double expense and will be marked as such. The transaction uses Full-RBF and may therefore take a little longer to confirm because it is technically a double expense.

The difference between RBF transaction types

Tax replacement transactions have 3 different types, First-Safe-Safe (FSS), Full RBF, and Opt-in RBF. FSS RBF requires that the RBF transaction include the same exits as the transaction it replaces and uses the same entries. Full RBF means that the transaction is simply a duplicate expense of another transaction but pays a higher transaction fee than it replaces. RBF opt-in means that the RBF transaction can only replace a transaction that has opted to be replaced. The optional RBF follows BIP 125.

The instructions in this section will be used to complete RBF transactions. RBF transactions with opt-in will be described in the section "Avoid blocked transactions in the future".

How to perform a full RBF transaction

Performing a full RBF transaction depends entirely on the portfolio you are using. Some portfolios support the advanced features required to perform a Full RBF transaction, others do not. Below are guides for each portfolio that explain how to complete a complete RBF transaction with this portfolio. Typically, the procedure is to remove the unconfirmed transaction from the wallet and then return the bitcoin, but with higher transaction fees.

When you complete a full RBF transaction, the transaction must include the recommended fee rate in effect at the time the transaction was created. See the "Avoid this problem in the future" section for help with this.

Bitcoin Core

Bitcoin Core facilitates Full RBF transactions. Simply go to the list of transactions, right-click on the blocked transaction and choose the transaction. Abandonment of transaction option.

If this option is grayed out, go to Bitcoin Core datadir and delete the mempool.dat file. Then restart Bitcoin Core with the -walletbroadcast = 0 option and then you should be able to use Abandonment of transaction.

If the above two options fail for any reason, start Bitcoin Core with the -zapwallettxes Ability to delete all unconfirmed transactions from your wallet.

Once the transaction is abandoned or cleared from the wallet, you can simply go to the Send and Send Bitcoin tab again, but be sure to include sufficient transaction fees.

Bitcoin Armory

Bitcoin Armory also facilitates the completion of Full RBF transactions. Go to Help> Clear all unconfirmed transactions and restart Armory. This will clear all unconfirmed portfolio transactions and allow you to create the complete RBF transaction. Once Armory has restarted, simply send the Bitcoin as you normally would, but make sure you include sufficient transaction fees.

MultiBit HD

MultiBit HD also makes Full RBF transactions easy enough. Go to Manage the portfolio and click Repair wallet and follow the assistant. This process will erase all unconfirmed transactions from your wallet, as Bitcoin Core and Armory do. Once the repair portfolio is finished, simply send the Bitcoin again, as you normally would. Note that some users have already had problems with this method and this may not always work. You may have to wait for the transaction to be "forgotten" for this method to work.

Portfolios that do not allow you or those that I do not know how to complete full RBF transactions

Not all portfolios support the creation of Full RBF transactions. Many portfolios do not allow you to delete all unconfirmed transactions to enable complete RBF transactions. The following is a list of portfolio software that does not support full RBF transactions. If a portfolio on this list supports FullRBF transactions, please let me know and provide instructions to this effect so that I can add it above.

  • Blockchain.info and web portfolios in general
  • Electrum (supports RBF opt-in, but not full RBF)
  • spawn
  • MultiBit Classic
  • Bitcoin Wallet for Android
  • Breadwallet
  • copay

Attempted child-to-parent transaction

What is a child-for-parent transaction?

A child-to-parent transaction (PPCA) exactly matches its name. A child transaction passes from an unconfirmed parent transaction and includes transaction fees that cover both the child's and the parent's fees. However, creating CPFP transactions is much harder as it requires spending from an unconfirmed transaction, which many portfolios do not allow.

Use of dynamic fees

The best way to avoid blocked transactions is to make sure that you do not spend from an unconfirmed transaction and to include sufficient transaction fees. If your portfolio supports dynamic transaction fees, you must use them. If you want very fast confirmations, set the dynamic charges to choose the fastest possible. Dynamic charges are calculated by the portfolio by analyzing the current state of the network and determining the optimal transaction fees from it. Since the state of the network is constantly changing, the optimal transaction fees calculated one day are not necessarily the best costs of the next day.

If your portfolio does not support dynamic charges but allows you to set a custom transaction fee rate for each transaction, you can search for the optimal charge rate on sites such as http://bitcoinfees.21.co/ and https: //bitcoinfees.github. .io / and define the price of each transaction according to these sites. You must do this for every transaction you make, otherwise you may have to pay a non-optimal fee.

If your wallet does not support any rate type or does not allow you to set custom transaction fees, you must upgrade to a new wallet. The use of a fixed price or a flat rate is no longer a good idea because the network is constantly changing. You can use this formula: * 148 + * 34 + 10 or is the number of entries and is the number of outputs to estimate the size of your transaction and determine the optimal charges.

Note that some portfolios (for example, blockchain.info), even if they use dynamic fees, set an upper limit on transaction fees. If you find that your transactions are permanently blocked, even if you use dynamic fees, you should check your wallet settings and perhaps even switch to a new wallet with no transaction limit.

Use Opt-In RBF

Opt-In RBF is a feature that makes it easier to create an RBF transaction because these transactions will not be rejected by nodes that support Opt-In RBF.

Currently, few portfolios support the creation of opt-in RBF transactions

Electrum

To create a transaction that can be replaced, go to Tools> Preferences and check the box next to "Enable Commission Replacement". Then, when you want to send Bitcoins, next to the Fee cursor is a box called "Replaceable". Check this box to be able to replace the transaction with a transaction that pays higher fees until the transaction is confirmed.

To increase the fees of a transaction that uses Opt-In RBF, right-click on the transaction in the history list and choose the "Increase fees" option.

Arsenal

Armory also allows the creation of RBF transactions. When sending a transaction, check the "Enable RBF" box.

To increase the cost of a transaction that uses Opt-In RBF, right-click on the transaction in the transaction list and choose the option "Charge Trigger". Transactions whose fees can be increased are clearly indicated in the list of transactions.