Author

Topic: How to return stuck transaction (instead of pushing it to receiver's addres) ? (Read 345 times)

jr. member
Activity: 42
Merit: 66
OK! The issue is solved then.
I found out (with your help) how the situation with this transaction looks like.

Many thanks  guys for your replies to this post, advices, help!


legendary
Activity: 2268
Merit: 18748
Btw, is blockchain.com a safe website to visit and click through?
No malware from it?
No malware from it, no, but it is one of the worst blockchain explorers out there. The layout is awful, their timestamps don't make sense, they still report fees per byte which is usually inaccurate, and it lacks any advanced features. Not to mention the company behind it are technically incompetent and host one of the worst wallets in existence.

The two most commonly recommended blockchain explorers on this forum are now https://mempool.space/ and https://blockchair.com/.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
Guys, here is my report:

All of them are in status "spent".

Except of those that are  "Oops! We couldn't find what you are looking for."

This means that there is no stuck transaction to reverse, is that correct? Please just confirm for me to be 100% sure. As I am only 99 % sure without your confirmation  :-)
-snip-
Yes, it means that those inputs are already spent by other transactions.

My best guess is it was spent by your other transactions, you can confirm it by checking all of the outbound transactions' input in Electrum:
Right-click on an outbound transaction, select "View Transaction".
In the advanced transaction details, look for the Inputs (n), the string of numbers/letters is the txid followed by the vin (after the ":")
(see if any of them matched those "spent outputs")

Quote from: Gorilla22
Btw, is blockchain.com a safe website to visit and click through?
No malware from it?
It's a legit site and "probably" wont add a malicious code to their website. (most users do not recommend to use their wallet though)
jr. member
Activity: 42
Merit: 66
Guys, here is my report:

All of them are in status "spent".

Except of those that are  "Oops! We couldn't find what you are looking for."

This means that there is no stuck transaction to reverse, is that correct? Please just confirm for me to be 100% sure. As I am only 99 % sure without your confirmation  :-)

Anyway, I don't regret all the work I have done because I have learned a lot.

Btw, is blockchain.com a safe website to visit and click through?
No malware from it?
I became paranoical concerning safety and security :-)
legendary
Activity: 2268
Merit: 18748
But for some of "txid" is says "Oops! We couldn't find what you are looking for."
What does it mean and how should I handle the situation with those non-found "txid" ?
It means that some of the inputs which were being used in your stuck transaction were based on other local transactions which were never broadcast, which is why block explorers can't find them. This might also explain why the stuck transaction was never broadcast, since without the preceding transactions being broadcast the stuck transaction is invalid, as it attempts to spend outputs which do not exist.

In terms of how to handle it - as nc50lc says, do nothing. These outputs never existed in the first place.

This probably also explains why your Electrum transaction history and Core transaction history are different. It sounds like you have more than one locally saved transactions on Core which do not exist on the blockchain.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
Questions:
1) How do I use "vout" numbers? The are 1 to 3 figures numbers.
2) There are a lot of "txid" located below "vin". Do I need all of them?
As I noted in the instructions, there can be more sets, that's if the transaction is spending more than one input.
You can count the the number of inputs by finding how many txid and vouts sets ("txid" followed by "vout" line) are there before the line ""vout": ["

The "vout" tells which output is the one it's spending.
For example, this transaction: blockchain.com/btc/tx/c41fac476e555483ed6672e99ddcc51ee3ab0028f8ace4d7369c1d0e32ecf948
vout: 0 is bc1pcldgkx2an6fukvssqzkl6tzkll3sj6tcpn6wpxmc99nw8rtkwcws04nvas
vout: 1 is bc1qam5vz2csj0h50qzsnqy3zmunrv0ud6j6m9szd7
If there's a third output, it's vout: 2; for the fourth vout: 3... and so forth.

For some "txid" it works fine and shows info.
What does it mean and how should I handle the situation with those non-found "txid" ?
Nothing, as I noted in the instructions (again) it's "non-existing, dropped, replaced, etc".
For those that show info, check if the output that is yours is still unspent.
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
But for some of "txid" is says "Oops! We couldn't find what you are looking for."
What does it mean and how should I handle the situation with those non-found "txid" ?

If those are old transactions, they were probably dropped from mempool (not confirmed; double spent and dropped or dropped after a while for low fee).
This means they were never mined, hence they don't exist.
jr. member
Activity: 42
Merit: 66
Checking.....
Using blockchain.com explorer.
For some "txid" it works fine and shows info.
But for some of "txid" is says "Oops! We couldn't find what you are looking for."
What does it mean and how should I handle the situation with those non-found "txid" ?
legendary
Activity: 2268
Merit: 18748
So to solve this issue is an interesting challenge.
You have potentially already solved it. If you have imported every private key which has ever held coins from Core in to Electrum, then your Electrum wallet will now contain all the coins you have available to spend. You can forget about the stuck transaction in Core. Electrum does not know about it, and any coins which it would have spent and have not been spent by a different transaction will be available in your Electrum wallet.

1) How do I use "vout" numbers? The are 1 to 3 figures numbers.
Take the first "txid" and paste it in to a block explorer. Then take the first "vout" number and find the corresponding numbered output (the first output is numbered 0, the second output is numbered 1, and so on). Then you can see if that output has been spent in another transaction already.

2) There are a lot of "txid" located below "vin". Do I need all of them?
If you want to check every intput, then yes. Alternatively, if you don't mind the privacy implications of sharing your addresses publicly, you can paste the raw hex of your stuck transaction here and we can take a look for you.
legendary
Activity: 1022
Merit: 1341

From which client? Based from your other posts, I'll assume that it's Bitcoin Core.
If so, that "stuck transaction" may just be a locally saved transaction and you might have already spent its input.
If not, you can easily abandon it since it must not be in any node's mempool by now.

To "unstuck" it, just go to 'Transactions' tab and use "Right-click->Abandon transaction" and it will be dropped from your wallet.dat.
After abandoning it, the funds that it "locked" should be useable again (the transaction will have red texts).

Of course, I'd advice you to create a backup of your wallet before trying those steps.

I really like the OP question, base on it that bitcoin is a decentralized digital currency and when such has happened, what should be the solution. That not withstanding.
nc50lc, This is what really came to my mind when I read the OP. From where the transaction come and to where the transaction went. That what I was expecting for him to provide the two public keys (the two addresses) the transaction took place. And also based on the decentralized system of the software, I don't think the fund can be reversed because as the transaction didn't go through bad of that time, it would have been reversed automatically but the time frame of the transaction is been long. OP please follow the instructions of nc50lc and others to see if the issue will be solved and if the issue is solved please do well to update this thread and the method used to reverse the fund so others can also learn from you.
jr. member
Activity: 42
Merit: 66
nc50lc,

Thank you very much for your instruction!
Your instruction is amazing for a newbie like me because you tell exactly what to.
1. Yes Elecrrum shows transaction history. But it slightly differs from the one in Core.
2. I am doing according to your instruction right now.
Questions:
1) How do I use "vout" numbers? The are 1 to 3 figures numbers.
2) There are a lot of "txid" located below "vin". Do I need all of them?
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
1. Blockchain doesn't see this transaction.
2. Electrum doesn't see this transaction even after importing all of private keys.
3. It is only Core who can see this transaction. It is not synced though.
1 & 2 are expected due to the reasons that already given multiple times by multiple members.
You should've said that Bitcoin Core isn't synced in the first place which should've narrowed-down the options.

Imported all private keys into Electrum.
Over 1000 keys.
Unfortunately, nothing changed.
But can you see any transactions in Electrum's history tab? (not the local transaction from Bitcoin Core).

Anyways, if you want to check if that local transaction's input was already spent, just follow this:
  • Launch Bitcoin Core, go to 'Transactions' tab, find the local transaction, right-click on it and select "Copy raw transaction'.
  • Open the "Console" (Window->Console) and type decoderawtransaction , press enter.
  • In the result, find ""vin": [" just below "locktime", copy the "txid" and "vout" below (not the one on top) which points to the specific input that the local transaction is trying to spend. (there can be two or more sets)
  • Use any blockexplorer to check if that TXID is existing and if the output is already spent or not. If there are multiple outputs, refer to the 'vout' (ascending order: 0,1,2,3....)
  • If it's spent, then that local transaction is now invalid; if not spent, then there's something wrong with your import to Electrum or something else.

If it doesn't exist: it only means that the local transaction is trying to spend an input that's non-existing, dropped, replaced or etc.

In case it's not spent: You can refer to that output (txid and vout) to know which private key to export from Bitcoin Core.
Blockexplorers will show the address(es) among the transaction's outputs, then in Bitcoin Core simply use dumpprivkey
to export its private key.

jr. member
Activity: 42
Merit: 66
o_e_l_e_o,

Thank you for explanation!
The list of private keys that I exported from Core is huge.
I have already imported all of private keys related to change addresses.
And all of addresses that I ever used to receive btc ofcourse.
Is there any way to determine which ones of remaining addresses are useful in this situation and which ones are not?



About checking inputs.

I have done this, though probably by a primitive way :-)
I did it like this, just calculated:

1. A = the sum of btc that I received to Core.
2. B = the sum of amounts of all normal transactions (non-stuck) which I sent from Core. Including fees.
3. C = the amount of stuck transaction.
4. D = current balance in the wallet.

Should be: A - (B + C) = D.
The fact: A - (B + C) = D.

Conclusion: I didn't spent it myself in other transactions.






Up to 1000 private keys! :-)
I  start working...... :-)



Imported all private keys into Electrum.
Over 1000 keys.
Unfortunately, nothing changed.
Do you have guys other ideas about what can be done?



This situation is quite interesting.

1. Blockchain doesn't see this transaction.
2. Electrum doesn't see this transaction even after importing all of private keys.
3. It is only Core who can see this transaction. It is not synced though.

I have too little knowledge about how it all works, but according to my small knowledge this situation is technically impossible. But reality and facts say it is possible.

So to solve this issue is an interesting challenge.

Guys, any suggestions are so welcome.

I want to try everything.

Btw, it happens sometimes that a complicated issue has a simple solution :-) May be this is the case!
Wow, I want to solve it. If not solve, at least to find out what happened :-)

I shall be grateful for any ideas!

[moderator's note: consecutive posts merged]
legendary
Activity: 2268
Merit: 18748
I am shocked that stuck transaction can be spent in blockchain and simply disappear! (LOL).
I'm not sure if you are misunderstanding or there is a translation barrier, but transactions cannot be spent and also disappear. Either your transaction is successfully broadcast to the network and then later confirmed (in which case it is spent), or your transaction is only saved locally, never broadcast, and therefore never spent. If it is only saved locally and no one else in the world knows about it, then you can also delete it locally without having any effect on the wider blockchain. Rarely a transaction can be broadcast and later invalidated, but that is another discussion and not really relevant to what is going on here.

Asking just to upgrade my knowledge.  Is it so that any stuck transaction can be spent in blockchain?
If a transaction has been saved locally and not broadcast, then you can broadcast it at a later date provided you haven't spent any of the coins being used by that transaction in other transactions in the meantime. If a transaction has been broadcast but is "stuck" because the fee is very low, then there are a variety of options available to you in order to bump the fee and increase the priority of your transaction.

Preferably using Electrum, as I try to avoid sync.
May be to import more keys from Core? May it help?
If you don't want to sync, then I would dump every private key from your Bitcoin Core wallet and import all of them in to Electrum. At that point you don't need to worry about your stuck transaction, because as I said above, Electrum will have no knowledge of it.
jr. member
Activity: 42
Merit: 66
I discovered that I tried to abandon this transaction that year when I did this transaction! And it didn't work.
I didn't say about it earlier today just becase my Core is on another language than English, and I didn't realize first that the English term  for what I did was "abandon". The word which uses my Core can be translated to English rather as "stop transaction" or "break transaction". So I thought that I did something different.
Sorry for this!
But now I know that "abandon transaction" didn't work.



o_e_l_e_o,

Thank you!

I am shocked that stuck transaction can be spent in blockchain and simply disappear! (LOL).
Asking just to upgrade my knowledge.  Is it so that any stuck transaction can be spent in blockchain?




Guys,
What is the next simple method you think I should try?
Preferably using Electrum, as I try to avoid sync.
May be to import more keys from Core? May it help?



[moderator's note: consecutive posts merged]
legendary
Activity: 2268
Merit: 18748
Does it mean that the transaction never "went through" and never got even one single confirmation?
Correct.

Does it mean that I have good chances to get it back to my wallet?
Maybe. The transaction in question was never broadcast, and so the coins it spends were not spent in that transaction. However, it seems that this transaction conflicts with another transaction which did go through normally. This means that at least some of the coins used in your stuck transaction have since been spent in this other transaction with 30,000 confirmations. However, it may be that all of the coins from the stuck transaction have already been spent.

Since Electrum is completely unaware of this stuck transaction, then any coins it spends which haven't since been spent by another transaction should show up normally in your Electrum wallet. You can also look up each input from the stuck transaction on a blockchain explorer to see if that input has since been spent by another transaction.
jr. member
Activity: 42
Merit: 66
Thank you for your answers guys!

I did some research and discovered that:

1. When I take the transaction ID for that transaction from the old Core, and search for it in blockchain explorer, then blockchain explorer finds nothing.
2.
The info from transaction details (in Core) says something like "confrlict with a transaction with 30 000 + confirmations".
3. Core (not synced) shows this transaction as uncomfirmed (after several month after date when I did this transaction).
4. My new Electrum doesn't show this transaction at all.

This is the situation for now.

Does it mean that the transaction never "went through" and never got even one single confirmation?
Does it mean that I have good chances to get it back to my wallet?
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
I understood that the easiest option is "to abandon" transaction. May be it will work, may be it will not, but this one is simplest. So it is reasonable to try it first.
The transaction was sent from Core.
Now I moved to Electrum.
It's a "local transaction" that's only saved in your wallet and not backed-up by your private keys.
Since it's from Bitcoin Core, you can only abandon it from Bitcoin Core.

If you properly "moved" (rather imported) the private keys to Electrum, the coins that you might regain from abandoning that transaction in Bitcoin Core
should already be available in Electrum since it's only considered as spent by a local transaction in Bitcoin Core.
The result will be the same if the funds were moved through "sweep" to Electrum instead.

But if you "moved to Electrum" by sending your entire balance through a normal transaction, the local txn's "locked" coin(s) wasn't included to that transfer.
If abandoning it doesn't return any balance, its input was already spent (you can try to rescan to be sure).
legendary
Activity: 2268
Merit: 18748
I understood that the easiest option is "to abandon" transaction. May be it will work, may be it will not, but this one is simplest. So it is reasonable to try it first.
The transaction was sent from Core.
Now I moved to Electrum.
Is it possible to do it from Electrum?
Can one find unconfirmed transactions in the transaction history in Electrum?
If the transaction is stored locally, then it is only stored locally in your Bitcoin Core client. By exporting the relevant private key(s) and importing them to Electrum, this unconfirmed transaction will not also be transferred to Electrum. You won't need to abandon it from Electrum because it won't exist in Electrum in the first place and Electrum will be entirely unaware of it. Whatever outputs were "stuck" in this unconfirmed transaction in Core won't similarly be "stuck" in Electrum and should be available to spend.
jr. member
Activity: 42
Merit: 66
Thank you so much guys!

The primary purpose why I want to do it is knowledge and experience. If I take this challenge and get some result, I'll learn a lot during my way to result.
If it happened that you read my other posts, you could see that I do a lot of things just to experiment. With wallets, private keys etc.
I spent the whole weekend, and I moved tiny 0.0006 btc from old Core to new Electrum, and I did it a "strange" and complicated way. But I learned so much about wallets and private keys.
And I have similar approach concerning this stuck transaction.
If I accomplish this task, I'll learn a lot.
I'll try different ways to do it, and I want to start with a simplest method which can be available to try.
If it doesn't work, I am going to try a more complicated way, and so on.
Until I either get those btc back to my wallet or discover that it is impossible.
This is my plan :-)





I understood that the easiest option is "to abandon" transaction. May be it will work, may be it will not, but this one is simplest. So it is reasonable to try it first.
The transaction was sent from Core.
Now I moved to Electrum.
Is it possible to do it from Electrum?
Can one find unconfirmed transactions in the transaction history in Electrum?


[moderator's note: consecutive posts merged]
legendary
Activity: 3584
Merit: 5248
https://merel.mobi => buy facemasks with BTC/LTC
This time is too long, I would advise you to forget about the transaction. I know it's because of the current higher value of Bitcoin that makes you feel concerned, but you have to let go, the technology then is not like today because the wallet you used for the transaction matters which you did not mention in your explanation.

I'm glad you now know better, Opt-In Replace-by-Fee is a good option if your money is stuck to push it forward. But reversing a Bitcoin transaction in your case after almost a decade is not feasible though I had read the suggestions of many people which might not work because of the number of years involved and they probably did not consider the wallet used for the transaction.

Next time, be sure of the payment, mempool and fees associated before pressing the Go button.



It has nothing to do with time... If you interprete the op's posts, it seems the transaction isn't confirmed. If the op makes sure it's never broadcasted again and he is able to spend the unspent output in a new transaction, his funds are safe and he doesn't have to "forget about the transaction". If the transaction ended up in a block 7 years ago, you would have been 100% correct since a confirmed transaction with more than a handfull of confirmations could be seen as irreversible (even a single confirmation makes it irreversible from a normal user's point of view, unless they're willing to spend a lot of money on a 51% attack or if they're extremely unlucky and the block including their transaction becomes stale whilst the block in the longest chain doesn't include their transaction)

Also, a transaction is wallet-agnostic, if you are able to access or export the private keys from the initial wallet, it doesn't matter if said wallet was created 7 years ago, you should be able to use the unspent output in a new transaction. Sure it's possible it'll require some extra steps, but if the value of the unspent output makes it worth your wile to take these steps, it shouldn't be impossible.
hero member
Activity: 826
Merit: 641
Leading Crypto Sports Betting & Casino Platform
This time is too long, I would advise you to forget about the transaction. I know it's because of the current higher value of Bitcoin that makes you feel concerned, but you have to let go, the technology then is not like today because the wallet you used for the transaction matters which you did not mention in your explanation.

I'm glad you now know better, Opt-In Replace-by-Fee is a good option if your money is stuck to push it forward. But reversing a Bitcoin transaction in your case after almost a decade is not feasible though I had read the suggestions of many people which might not work because of the number of years involved and they probably did not consider the wallet used for the transaction.

Next time, be sure of the payment, mempool and fees associated before pressing the Go button.

legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
You can use either

- Replace by fee RBF
- Child pay for parents CPFP
If you can't see the money, the transaction might have Confirmed or you just need to resend/rebroadcast it
If he would use rebroadcast or rbf, it will be sent to the original receiver.
Based on the second paragraph of OP, he doesn't want the transaction to be sent to the 'destination address'.

@Gorilla22 in case you're talking about Electrum, instead of "abandon transaction", Electrum has "remove" which will delete a local transaction.
In both wallets' case, a local transaction is just saved in your wallet and not known by the Bitcoin network, but it affects your wallet's ability to spend the coins it intended to spend.
You can regain that balance after abandoning/removing the local transaction but only if you still haven't spent the particular UTXO(s) that was used by the local txn.
legendary
Activity: 3584
Merit: 5248
https://merel.mobi => buy facemasks with BTC/LTC
To be completely on the safe side, i'd advice you to combine 2 of the above advices:

1) abandon the transaction
2) spend the unspent output in a new transaction funding one of your addresses.

It's an infinitely small chance, but somebody might have captured the transaction 7 years ago. If he/she decides to broadcast it again, your funds will be gone. So, if you abondon the transaction, then spend the unspent output, you should be safe.

Now, in all honesty, if you just abondon the transaction, you're probably fine... The odds of somebody broadcasting a transaction that was saved 7 years ago is very small (to say the least). It's just that if it was me, i'd go for 100% safe, not 99,9% Wink
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
It is a little bit odd that you have been in the cryptocurrency space for so long and haven't yet bothered to read how transactions behave after they get into mempool. If the mempool was congested at that time and you accidentally had set a very low fee, there was a little chance that your transaction got through. Bitcoin full nodes allocate a limited amount of memory for mempool and keep only those transactions that pay above a certain limit. This limit depends on how congested the bitcoin mempool is: transactions with low fee rates may never appear for some nodes, and, therefore, never get propagated to miners' full nodes. Transactions that never get a confirmation get removed from the network as if there weren't any actions on your part. Only those transactions that miners add into a successful block will matter due to the immutability of the blockchain, but other transactions lose their significance forever.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
I sent a transaction with too low fee.
It was 5-7 years ago, and as much as I remember, it was still "stuck" several months  after I sent it.
That time it was small money, so I just resent that transaction.
It is not very big amount of btc even now, but it still would be great to get it back.

As others said , that transaction is not in the mempool anymore.

The lowest fee possible fot a transaction is 1 sat/vbyte, and transactions with that fee gets Confirmed almost in daily basis. Só your transaction is not stuck and the btc is still with you.

What do you mean by "get your it back"?? Can't you see that money in your wallet?
Do you have the transaction id?

If you can't see the money, the transaction might have Confirmed or you just need to resend/rebroadcast it

You can rebroadcast here https://www.blockchain.com/btc/pushtx
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
It was 5-7 years ago, and as much as I remember, it was still "stuck" several months  after I sent it.
From which client? Based from your other posts, I'll assume that it's Bitcoin Core.
If so, that "stuck transaction" may just be a locally saved transaction and you might have already spent its input.
If not, you can easily abandon it since it must not be in any node's mempool by now.

To "unstuck" it, just go to 'Transactions' tab and use "Right-click->Abandon transaction" and it will be dropped from your wallet.dat.
After abandoning it, the funds that it "locked" should be useable again (the transaction will have red texts).

Of course, I'd advice you to create a backup of your wallet before trying those steps.
legendary
Activity: 3472
Merit: 10611
I sent a transaction with too low fee.
It was 5-7 years ago, and as much as I remember, it was still "stuck" several months  after I sent it.
But if my transaction arrives to its destination address it will be just lost for me.
If the transaction is unconfirmed, that means it is no longer in the mempool and everyone has already forgotten about it. Unless you send it again today!
If it had remained in the mempool, it would have been confirmed years ago.

Quote
The only option which is good for me is getting the transaction back to my wallet.
Is it still possible? How?
The only option is to double spend the same coins changing the destination. If the transaction were marked by RBF it is easier to double spend it, otherwise it is near impossible because almost all nodes reject double spend tranasctions.
Besides if the tx is currently in the mempool it will confirm soon since minimum fee is very low these days.
sr. member
Activity: 602
Merit: 387
Rollbit is for you. Take $RLB token!
There are a lot of posts about stuck transactions, but they are almost always about "how to push transaction to its destination".
You can use either

- Replace by fee RBF
- Child pay for parents CPFP

For the first option, you must use this opt-in RBF when you broadcast that transaction initially.

If you did not use that option when make your transaction broadcast, later you can only use Child Pay for Parents. This option is more complex than RBF.
jr. member
Activity: 42
Merit: 66
I sent a transaction with too low fee.
It was 5-7 years ago, and as much as I remember, it was still "stuck" several months  after I sent it.
That time it was small money, so I just resent that transaction.
It is not very big amount of btc even now, but it still would be great to get it back.
And it is also a challenge :-)
And possibility to learn more about bitcoin.

There are a lot of posts about stuck transactions, but they are almost always about "how to push transaction to its destination".
But if my transaction arrives to its destination address it will be just lost for me.
The only option which is good for me is getting the transaction back to my wallet.
Is it still possible? How?
Jump to: