Hey all,
So, I've got this Bitcoin transaction that's been hanging around for two months now, and it still hasn’t been confirmed. I guess I set the transaction fee way too low.
I’ve heard that the mempool clears out unconfirmed transactions every now and then. Can anyone tell me when I can expect this one to be wiped and the coins sent back to my wallet? I’m over this transaction and just want it gone.
Thanks!
When will a Bitcoin transaction that's been stuck for two months get removed
18 replies 259 views
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#2Dec 10, 2023, 09:22 AM
Every node can have it's own mempool settings. As long as the inputs used in your transaction still exist, a miner can confirm your transaction.
It depends on your wallet how it handles this. If it keeps broadcasting your transaction, it won't "return". If it gives you the option to "abandon" it, you can try that. Or import your keys in a different wallet. So to start: which wallet do you use?
cipher_lynxSenior Member
Posts: 141 · Reputation: 918
#3Dec 10, 2023, 12:06 PM
2 months, and yet the transaction has still not been cancelled? I have never made any transactions that took that long.
I don't think there is any specific time that it could take before a particular transaction could be dropped by all node operators. Many that I have seen carry out transactions at a low fee always end up getting dropped within days and weeks without waiting this long.
Maybe the fee is really that small if you don't mind, or, in case of privacy, you can share the TX for others to look at and confirm if they can give you an estimated time.
It is just like LoyceV had explained up there, there is no estimated time that a transaction with low fee can either be confirmed or dropped. The OP wants it to be dropped and it seems he used a wallet that has a rebroadcasting feature and the transaction is constantly rebroadcasted or some nodes havent dropped the transaction just yet. If the OP actually used a wallet to make that transaction then he can actually import that seed phrase into a wallet like electrum and then try broadcasting a new transaction again by switching the servers because if the transaction is actually below the purging fee then some nodes might have had it dropped. The OP can also double spend the transaction since some nodes actually are full RBF configured. A new transaction confirmed Will invalidate the old one
Thanks for your help, I am using Electrum wallet
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#6Dec 10, 2023, 09:38 PM
Provided you have not been rebroadcasting, some Electrum servers will already have dropped your transaction. Go to Tools -> Network and connect to different servers until your unconfirmed transaction changes to saying "Local". You can then right click on your transaction and delete it, and then make a new transaction spending those coins.
Note that if you delete the transaction but don't make a replacement paying a higher fee, the original may still confirm in weeks or even months if the mempool clears.
hodler2019Legendary
Posts: 2182 · Reputation: 12913
#7Dec 10, 2023, 10:47 PM
How about this never. As any node can repeat broadcast it. SO YOUR FUNDS MAY NEVER CLEAR AND REMAIN FROZEN.
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#8Dec 11, 2023, 03:33 AM
There is no such thing as frozen coins, unless you are using a custodial third party. OP can replace his transaction with a higher fee paying transaction any time he likes.
I know there's no such thing as "frozen coins" on a non-custodial wallet but my question is, if the non-custodial wallet you use doesn't accept Replace-by-fee (RBF), can you open a new wallet that supports RPF with your seed phrase and replace the stuck transaction with a higher fee in the new wallet?
You can't turn a non-RBF transaction into RBF transaction just with importing your seed phrase into a wallet that supports RBF.
Of course, this doesn't mean there is no solution if you have a non-RBF unconfirmed transaction and you want to replace it with a new one.
By default, nodes drop transactions from their mempool if they stay unconfirmed for 14 days.
If your transaction has been broadcasted more than 14 days ago, many nodes have dropped your transaction from their mempool and you can import your wallet into electrum, connect to a server that doesn't have your transaction and broadcast a new one.
Note that if the fee rate you used for your transaction is too low, some nodes may drop your transaction due to their mempool size limit even earlier.
You can also replace your transaction with a new one paying higher fee with the help of nodes that have enabled full RBF.
Any node that has enabled full RBF treat all transactions as RBF-enabled and would accept the replacement transaction even if the original one has not been flagged as RBF.
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#11Dec 13, 2023, 01:52 PM
Since Electrum set opt-in RBF 'true' by default, you can simply right-click on it and select "Cancel (Double-spend)".
It will create a new transaction that'll send the BTC back to yourself, set a higher fee, sign and broadcast it.
That's unless you're using an old version older than v4.4.0.
If you do not want an extra transaction that will send it back to yourself, do o_e_l_e_o's method to send your next payment (to others).
To expand the part with "...spending those coins": make sure to select the exact UTXO that it tried to spend in the 'Coins' tab by using coin control (instructions).
That's because if you have multiple UTXOs in the coins tab, Electrum might not auto-select the UTXO that you need to spend.
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#12Dec 13, 2023, 05:19 PM
Yes. Import your seed phrase to a good wallet like Sparrow or Electrum, connect to your own full RBF node or a server running full RBF, and broadcast a replacement.
Thank you so much. Would definitely try this.
I've been thinking of switching to Electrum for a while now but procrastination is a heavy hindrance. This may also be because I was not a frequent user of Bitcoin before so I can wait for anyhow long before my transactions can be confirmed.
Now I'm a frequent user so I need my transactions to be confirmed within the hour.
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#14Dec 14, 2023, 12:45 AM
If your current wallet does not support RBF at all as you say, then you should definitely change to a better wallet. Opt in RBF has been the standard for years. I would worry about what security updates your wallet software is missing if they have been unable to implement such a basic feature at any point in almost a decade.
just_wizardFull Member
Posts: 85 · Reputation: 583
#15Dec 14, 2023, 04:37 AM
You are right, there is nothing as frozen coins but philipma1957 is not totally wrong.
Hundreds of nodes connect and disconnect from the network everyday and as long as they have no track of dropped transactions or when a transaction has been created and broadcast, a transaction may remain unconfirmed for infinity.
"An unconfirmed transaction will drop from mempool after 2 weeks from being broadcast" is nothing but a bitcoiners falacity (someone corrects me if I'm wrong).
hodler2019Legendary
Posts: 2182 · Reputation: 12913
#16Dec 14, 2023, 05:21 AM
Also if the person that was supposed to get the funds is able to rebroadcast the tx it will not leave the pool.
The has said he does not want to send this.
He has also said he did a low fee. In fact he said a very low fee. To me that is under 5 sats.
maybe even 1 sat.
The receiver may want the coins. He may be rebroadcasting the tx.
This means it will be very hard to get the tx to drop from the pool.
If the receiver has a specialty node I am pretty sure if can repeat the tx via a rebroadcast of it every once in a while.
I suspect anyone that pays 1 or 2 sats.
For that matter even 5 sats is likely to not clear.
So to me this was likely a sleazy send to someone that protects from sleazy sends.
Having a node that rebroadcasts every tx to btc address 1what ever- is doable.
So if the op sent a 1 sat or 2 sat or 5 sat it can be rebroadcasts till it clears.
He could wait forever and it will never drop out.
He cant do a RBF so his best shot is to try to double spend it to himself. I wish him luck.
Maybe it was an innocent low pay on ops part. But if it has stuck around 2 months I truly suspect someone is deliberately making it stick around with a specialty node.
Or it will all fix itself in a day. I would not bet on this.
If the fee rate is that low, most nodes have already dropped the transaction from their mempool and they will reject it if someone rebroadcast the transaction and they receive it again.
As I said in my previous post, if the fee rate is too low, OP can import the wallet into electrum, connect to a server that doesn't have the transaction in its mempool and broadcast a new transaction.
jake.chainSenior Member
Posts: 280 · Reputation: 1307
#18Dec 16, 2023, 02:46 PM
It may, but not simply because of nodes connecting and disconnecting. By default a node will only relay a transaction when it first learns of it. If your node goes offline and comes back online, it doesn't rebroadcast its mempool. Your node will only rebroadcast your own transactions, not its entire mempool.
But yes, someone else could endlessly rebroadcast your transaction so it never drops from the majority of mempools. However, this doesn't matter. It can be replaced at any time regardless, especially now that full RBF is commonplace. Therefore although your original transaction is never dropped from the mempool, your coins are never frozen or stuck and you can still spend them at any time you like by making a higher fee transaction.
just_wizardFull Member
Posts: 85 · Reputation: 583
#19Dec 18, 2023, 03:22 AM
Thank you for the ample clarification. I didn't know that only newly received transactions are being relayed. I used to think that a node will relay all the transactions it has in its mempool to any new node that connects to it.
That's why I was wondering what's the need for the "mempoolexpiry" parameter in the "bitcoin.conf" file! Now it makes more sense.