Here is a guide for as many portfolios as you could find out how to perform an RBF with. This was adapted from my bitcointalk publication: https://bitcointalk.org/index.php?topic=1802212.0
A "stuck" transaction is a transaction that has remained unconfirmed for a period of time with which the recipient or sender does not feel comfortable. Stuck transactions can be annoying because it means that recipients often feel that the senders have not yet paid or that the recipient needs the money as soon as possible.
Stuck transactions are usually caused by low transaction fee rates. However, other things can cause stuck transactions, such as spending on an unconfirmed transaction, having dust outs in the transaction or being a double expense of another transaction. If a transaction has a double-spending transaction and the double investment confirms, then the transaction will be "stuck" forever, since it can never be confirmed.
There are several options to confirm stuck transactions:
For both the recipient and the sender of the transaction, you can:
- Wait for the transaction to be confirmed.
- Wait for the network to "forget" about the transaction.
- Ask a miner to confirm it
For the sender of a transaction, you can also:
- Try a double-spending transaction of Replace-By-Fee
- If you have a change result, you can try a Child-Pays-For-Parent transaction
For the recipient of a transaction, you can also:
- Try a "Child-Pays-For-Parent" transaction
Waiting for a confirmation
If you can not do any of the other options or are too afraid to do so, you can simply wait and wait for the transaction to finally confirm. To ensure that the transaction is constantly reminded to the network, you can reissue it periodically. Most wallets will be retransmitted automatically, so simply leaving your wallet open will allow the retransmission to take place.
Waiting for the network to "forget" about the transaction
If a transaction remains unconfirmed for too long, most nodes in the Bitcoin network will "forget" it eventually if nobody re-transmits the transaction. This happens due to node restarts, mempool expiration times or mempool eviction because the minimum mempool rate has 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 it 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 but can not find it in any block explorer, you should follow the instructions in the next section of Replacement for Charge.
Keep in mind that some wallets will reissue the transaction continuously while the wallet is on, so you must delete the wallet transaction following the instructions in the RBF section, or close the wallet and keep it for several days.
Ask a miner for help
Some mining and mining groups offer services that allow you to prioritize your transaction in your mempool so that it is chosen before it is included in a block. One of these services is https://pool.viabtc.com/tools/txaccelerator/. Note that ViaBTC has an accelerator limit of 100 transactions per hour and requires you to pay a minimum rate of 10 satoshis / byte, so your accelerator does not necessarily work. Another service of this type is https://pushtx.btc.com/#/. It is not that BTC.com requires another form of payment to "speed up" your transaction.
Also note that if you attempt to perform a Replacement transaction by charge, both the original transaction and the RBF transaction will be considered double expenses. The miners will probably not help with any transaction marked as double spending.
Attempt of a double-spending transaction in Replace-By-Fee (RBF)
What is an RBF transaction?
A Replacement by Fee transaction is a transaction that is almost identical to your blocked transaction but pays a higher transaction fee. Because the original transaction probably does not use Opt-in RBF, the RBF transaction that we will create will be considered double spending and will be marked as such. The transaction uses Full-RBF and, therefore, may take a little longer to be confirmed, since it is technically a double expense.
The difference between the types of RBF transactions.
The Replacement by Fee transactions have 3 different types, RBF First-Seen-Safe (FSS), full RBF and RBF Opt-in. FSS RBF requires that the RBF transaction include the same results as the transaction that replaces and consumes the same entries. Full RBF means that the transaction is simply a double expense of another transaction, but pays a higher transaction fee than the one it replaces. Opt-in RBF means that the RBF transaction can only replace a transaction that you have opted to allow to be replaced. Opt-in RBF follows BIP 125.
The instructions given in this section will be used to perform full RBF transactions. The optional RBF transactions will be described in the section "How to avoid blocked transactions in the future".
How to make a complete RBF transaction
The completion of a complete RBF transaction depends completely on the wallet you are using. Some portfolios support the advanced functionality required to complete a complete RBF transaction, others do not. The following will be guides for each wallet on how to make a complete RBF transaction with that wallet. In general, the procedure is to eliminate the unconfirmed transaction from the portfolio and then resend the Bitcoin but with a higher transaction fee.
When making a complete RBF transaction, the transaction must include the recommended effective fare rate at the time of creating the transaction. See the "How to avoid this problem in the future" section for help with that.
Bitcoin Core makes making Full RBF transactions very easy. Simply go to the transaction list, right-click on the transaction that is stuck and choose the
Leave the transaction option.
If that option is disabled, go to Bitcoin Core
datadir and eliminate the
mempool.dat case file. Then restart Bitcoin Core with the
-walletbroadcast = 0 option and then you should be able to use
Leave the transaction.
If the two previous options fail for some reason, start Bitcoin Core with the
-zapwallettxes Option to delete all unconfirmed transactions from your wallet.
Once the transaction is Abandoned or deleted from the portfolio, you can simply go to the Send and send Bitcoin tab again, but be sure to include a sufficient transaction fee.
Bitcoin Armory also makes it easy to make Full RBF transactions. To go
Help> Delete all unconfirmed transactions and restart the armory. This will erase all unconfirmed transactions from the portfolio and, therefore, allow you to create the complete RBF transaction. Once Armory has restarted, simply send Bitcoin again as you would normally, but be sure to include a sufficient transaction fee.
MultiBit HD allows to make the Full RBF transactions also quite easy. To go
Manage wallet and click
Repair portfolio and follow the assistant. This process will erase all unconfirmed transactions from your wallet in much the same way as Bitcoin Core and Armory do. Once the repair of the wallet is completed, simply send the Bitcoin again as you would normally. Keep in mind that some users have had problems with this method in the past and it may not always work. You may have to wait for the transaction to "forget" for this method to work.
Wallets that do not allow you or those that do not know how to make transactions Full RBF
Not all portfolios support the creation of complete RBF transactions. Many portfolios do not allow deleting all unconfirmed transactions to allow Full RBF transactions. The following is a list of wallet software that does not support Full RBF transactions. If a wallet on this list supports FullRBF transactions, please let me know and provide instructions so you can add it above.
- Blockchain.info and web portfolios in general.
- Electrum (supports Opt-in RBF, but not Full RBF)
- MultiBit Classic
- Bitcoin wallet for Android
Trying a Child-Pays-For-Parent transaction
What is a Child-Pays-For-Parent transaction?
A Child-Pays-For-Parent (CPFP) transaction is exactly as its name implies, a secondary transaction is spent on an unconfirmed principal transaction and includes a transaction fee that covers both the minor and the principal rates. However, creating CPFP transactions is much more difficult since it requires expenses of an unconfirmed transaction, something that many portfolios do not allow.
Use of dynamic rates
The best way to avoid having blocked transactions is to make sure you are not spending on an unconfirmed transaction and include a sufficient transaction fee. If your wallet supports dynamic transaction fees, you should use them. If you want very fast confirmations, set the dynamic rates to choose the fastest rate possible. The dynamic rates are calculated by the purse analyzing the current state of the network and determining an optimal transaction rate from there. Since the state of the network changes constantly, the optimal transaction rate calculated one day may not necessarily be the best rate for the next day.
If your wallet does not support dynamic rates, but allows you to set a custom transaction fee rate for each transaction, you can search for the optimal fare rate at sites such as http://bitcoinfees.21.co/ and https: // bitcoinfees. github .io / and set the rate of each transaction based on those sites. You must do this for every transaction you make; otherwise, you may end up paying a fee below the optimal level.
If your wallet does not support any type of fare or does not allow you to set custom transaction fees, you must upgrade to a new wallet. Using a fixed or fixed rate is no longer a good idea since the network changes constantly. You can use this formula:
* 148 + * 34 + 10 where
is the number of entries and
is the number of departures to estimate the size of your transaction and determine the optimal rate for it.
Keep in mind that some portfolios (for example, blockchain.info), although they use dynamic rates, set an upper limit to the transaction rate. If you notice that your transactions are constantly stuck even though you are using dynamic rates, you should check your wallet settings and perhaps even switch to a new wallet that has no limit on the transaction fee.
Use Opt-In RBF
Opt-In RBF is a function that allows an RBF transaction to be created more easily since these transactions will not be rejected by nodes that support Opt-In RBF.
Currently few portfolios support the creation of RBF Opt-In transactions
To create a transaction that can be replaceable, go to Tools> Preferences and check the box "Enable Replacement by Position". Then, when you want to send a Bitcoin, there is a box with the "Replaceable" label next to the Rate slider. Check that box so that while the transaction is not yet confirmed, you can replace the transaction with one that pays a higher rate.
To increase the rate of a transaction using Opt-In RBF, right-click on the transaction in the history list and choose the "Increase rate" option.
Armory also allows the creation of RBF transactions. When sending a transaction, select the "Enable RBF" checkbox.
To increase the rate of a transaction using Opt-In RBF, right-click on the transaction in the transaction list and choose the "Reduction Rate" option. Transactions whose rate can be increased are clearly indicated in the list of transactions.