Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: Little Mouse on September 01, 2020, 04:59:30 AM



Title: How to change fee when already set final
Post by: Little Mouse on September 01, 2020, 04:59:30 AM
I had a tx with lower fee, was not in hurry at that moment. Later I increased the fee and mistakenly made it final (in electrum). Now it's 5 MB away from tip. Is there any way I can change the fee again by using any other method? I need the tx to get confirmed now as soon as possible.


Title: Re: How to change fee when already set final
Post by: masulum on September 01, 2020, 05:32:47 AM
AFAIK, if you are can't use RBF, the option you can choose is using accelerator from Viabtc or btc.com, or you can do a double spend with recommended fees. I'm doesn't have the same condition as you before, But in a few articles i read, that the option may you can try.


Title: Re: How to change fee when already set final
Post by: pooya87 on September 01, 2020, 05:35:36 AM
not really, there isn't any easy way of doing it. that's why it is called "final".
of course you can always perform a double spend but the problem is that when bitcoin nodes receive a transaction that is final (aka it is not longer market as RBF since its sequences are set to max value) they consider any new transaction, even the same with higher fee, to be a double spend attempt and reject the new one. so your new tx with higher fee will not propagate and will not reach any miners.
that means even though there are ways to create a new tx with higher fee, there is not much point in doing so.


Title: Re: How to change fee when already set final
Post by: Upgrade00 on September 01, 2020, 06:14:54 AM
If you could contact the owner of the receiving address, you could explain and lead them through CPFP ~ Child Pays For Parent; they would create a new transaction, and include an output from the unconfirmed transaction,.using a txfee that would make it profitable for a miner to include the size of both transactions into their block.
So, for the second (child) transaction with priority fee to be valid, a miner would have to equally confirm the parent transaction. So both transactions gets confirmed.

Note that the fee of the second transaction has to cover for the size of the first. So;
• if the current feerate is 50sats/byte and the first and second transaction are 300bytes and 150bytes respectively, summing up to 450bytes; then the child transaction would need a fee of about 22,500 sats for both transactions to get confirmed quickly (you also subtract the low fee you paid for the first transaction)


Title: Re: How to change fee when already set final
Post by: nc50lc on September 01, 2020, 06:23:24 AM
If it has a change, spend it to perform manual CPFP on that transaction.
Add another input(s) if it doesn't have enough balance for the child transaction's fee rate.

Since CPFP works differently than RBF, you need to compute the right transaction fee.
To do that, you only need a simple calculator or pen&paper:
  • Get the total fee and the virtual size (in Electrum: size) of your "final" transaction (parent), example: Fee: 0.00001000 BTC (not the fee rate), 200 bytes.
  • Then create the child transaction using coin control feature to select the inputs (address/coins tab->right click->spend-from)
  • Proceed to send tab, add one of your receiving address and open the "advanced preview", from there, check the child transaction's size, example: 150 bytes (keep the window open).
  • Check the optimum transaction fee rate from your preferred sources, example: 30 sat/B

For the computation:
  • Just add both of the transaction's sizes: 200 + 150 = 350 vBytes.
  • Multiply the optimum fee rate by the total transaction size: 350 vBytes ∙ 30 sat/vB = 10,500 satoshi or 0.00010500 BTC.
  • Subtract the parent transaction's fee from the above: 0.00010500 BTC - 0.00001000 BTC = 0.00009500 BTC
  • Lastly, divide it by the child transaction's size: 0.00009500 BTC or 9,500 satoshi / 150 bytes = 63.33 sat/vBytes <-example.

Go back to the advanced preview and set the result's fee rate.