Pages:
Author

Topic: BTC funds 'stuck' in wallet - can not send (Read 417 times)

legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
September 19, 2024, 10:34:15 PM
#34
Quote
The only uncommon thing is he spent a "non-standard" but consensus-valid transaction mined by the pool itself.
What part of dab3aa35938be5d543e323480ef24d5c03f9766e947f0f654f043239319f10c2 is non-standard? It doesn't pay a mining fee, but miners do that all the time. Is there anything else I'm overlooking? If so, maybe it can be reproduced on testnet to report the bug.
0sat/vB or anything below 1000sat/kvB is non-standard.
Ref: https://github.com/bitcoin/bitcoin/blob/84cd6478c422bc296589ab031f5c76e7bab2704d/src/policy/policy.h#L24-L25 and /policy.h#L56-L57
That's why most nodes will reject it if you try to broadcast such transaction, but "non-standard" doesn't mean that it's invalid so those same nodes will still accept it once it's in the blockchain.

And also, I just mentioned that it's the "uncommon thing" in the input, not necessarily means that it's the cause of the issue.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
September 19, 2024, 06:45:41 AM
#33
Since all these transactions are coming from F2Pool, it may have something to do with the fact that some of these skip the mempool entirely and instead go straight into a block. Maybe the Electrum servers are not designed to handle this edge case, collect only transactions which it finds in a mempool from Bitcoin Core and as a result silently discard the whole tree of transactions.
That can't be. The moment a transaction is confirmed, all outputs are stored in chainstate, not mempool.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
September 19, 2024, 06:16:53 AM
#32
I've had weird issues with this wallet address for a while, for example only seeing transactions made up to summer 2022 in regular wallet apps (such as Coinbase Wallet, Trust Wallet and a 3rd wallet app I tried which I've forgotten the name of). I never had a problem sending or receiving though, so it didn't bother me. I used Electrum for the first time a couple days ago (as advised here) and that is the first time I've seen ALL transactions listed (including transactions made since summer 2022) however it took a long while to synchronise (a few hours maybe). I'm guessing that apps didn't show new transactions as there were too many total transactions and the apps were timing out synchronising?

Since all these transactions are coming from F2Pool, it may have something to do with the fact that some of these skip the mempool entirely and instead go straight into a block. Maybe the Electrum servers are not designed to handle this edge case, collect only transactions which it finds in a mempool from Bitcoin Core and as a result silently discard the whole tree of transactions.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
September 19, 2024, 12:51:29 AM
#31
So isolating the private key doesn't make sense because there only one UTXO to be spent, still, it's what seem to have worked.
That's the weird part indeed.

Quote
The only uncommon thing is he spent a "non-standard" but consensus-valid transaction mined by the pool itself.
What part of dab3aa35938be5d543e323480ef24d5c03f9766e947f0f654f043239319f10c2 is non-standard? It doesn't pay a mining fee, but miners do that all the time. Is there anything else I'm overlooking? If so, maybe it can be reproduced on testnet to report the bug.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
September 18, 2024, 10:41:54 PM
#30
-snip-
What nc50lc wrote makes sense, but isolating the child privkey for the problematic address in a new keystore (in an unexplained way) solved the problem.
Still a weird case since the transaction spent a single UTXO from the non-standard transaction mined by the Pool where he's mining.
So isolating the private key doesn't make sense because there only one UTXO to be spent, still, it's what seem to have worked.

Some evidence; refer to the balance in the screenshot he provided in 1st page.
Then by reproducing a watch-only copy of his wallet using "common input heuristics" method from the readily available info in this thread:
His two latest transactions tallied to the displayed balance of 0.06487049 BTC:
  • -0.04442469 BTC = 6c36ae221bd5a619aa61d60da073b532db31a9c3fd3bab5ef47c712b39beab64 (sent before the solution)
  • -0.02044580 BTC = bb931b44d6cbb0fceeebf24a9defc0a3a2ebd1de53508485f3ca6cf29a8c00bd (sent after the solution)

The transaction that he sent after you post the solution is bb931b44d6cbb0fceeebf24a9defc0a3a2ebd1de53508485f3ca6cf29a8c00bd
and by that time, the wallet shouldn't have any other inputs based from the remaining balance after: 0.06487049 - 0.04442469 = 0.02044580 (that one input in the 2nd tx)

Unfortunately without any way to reproduce the error in Electrum, it's impossible to shed a light to that issue to be able to patch an actual fix.
The only uncommon thing is he spent a "non-standard" but consensus-valid transaction mined by the pool itself.
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
September 18, 2024, 04:39:21 PM
#29

I followed the instructions posted by Forsyth Jones, step by step.

The first instruction was to change Electrum server. I did this, however this did not fix the problem.

It was the following steps (try importing only the private key from the address...) that fixed the problem.
...
I'm glad my suggestion solved the problem, I hope you can use Electrum more often to receive your mining income. Electrum is an excellent wallet because of the total control of UTXO, coin control and etc.


Well it's quite reasonable that particular approach worked it was a smart idea of course thumbs up to Forsyth Jones. In my opinion I think the reason it worked was because with the child private key of that particular address that had the issue was isolated by accessing it via its own child keys instead of the master key or seed phrase as usual.
My point is probably Electrum could not spend the coins for some reason and since other coins were available in the other child addresses, instead of displaying an error code the first time it would likely skip that particular address and attempt spending the others but accessing the funds via that child key won't give Electrum a Chance to skip it since there is only one spendable input.
What nc50lc wrote makes sense, but isolating the child privkey for the problematic address in a new keystore (in an unexplained way) solved the problem. Perhaps other simpler suggestions would have worked as well, such as spending only from that address through Electrum's Coin Control.


-
As nc50lc mentioned, this issue should be forwarded to the developers, but since before the transaction was signed there was a button to report the bug to the developers, the only way to report this to the developers is to report it to them manually via Github or ask ThomasV (who has an account on this forum) to read the thread, but from time to time he comes here.
sr. member
Activity: 448
Merit: 560
Crypto Casino and Sportsbook
September 18, 2024, 02:43:36 PM
#28
Try importing only the private key from the address bc1qkjhyr44s4ksuhavgkf5hrs2xesfg2h6z63jp7r into electrum and try sending it to the desired address.
Very happy to report that this worked!
Is importing the private key the part that worked? If so, it's still weird: the seed phrase reproduced the address, so it should also include the private key. It's still a weird case.
Well it's quite reasonable that particular approach worked it was a smart idea of course thumbs up to Forsyth Jones. In my opinion I think the reason it worked was because with the child private key of that particular address that had the issue was isolated by accessing it via its own child keys instead of the master key or seed phrase as usual.
My point is probably Electrum could not spend the coins for some reason and since other coins were available in the other child addresses, instead of displaying an error code the first time it would likely skip that particular address and attempt spending the others but accessing the funds via that child key won't give Electrum a Chance to skip it since there is only one spendable input.

full member
Activity: 219
Merit: 426
September 18, 2024, 09:31:23 AM
#27
Try importing only the private key from the address bc1qkjhyr44s4ksuhavgkf5hrs2xesfg2h6z63jp7r into electrum and try sending it to the desired address.
Very happy to report that this worked!
Is importing the private key the part that worked? If so, it's still weird: the seed phrase reproduced the address, so it should also include the private key. It's still a weird case.

I followed the instructions posted by Forsyth Jones, step by step.

The first instruction was to change Electrum server. I did this, however this did not fix the problem.

It was the following steps (try importing only the private key from the address...) that fixed the problem.

I did not need to do the Bitcoin Core steps.

I've had weird issues with this wallet address for a while, for example only seeing transactions made up to summer 2022 in regular wallet apps (such as Coinbase Wallet, Trust Wallet and a 3rd wallet app I tried which I've forgotten the name of). I never had a problem sending or receiving though, so it didn't bother me. I used Electrum for the first time a couple days ago (as advised here) and that is the first time I've seen ALL transactions listed (including transactions made since summer 2022) however it took a long while to synchronise (a few hours maybe). I'm guessing that apps didn't show new transactions as there were too many total transactions and the apps were timing out synchronising?
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
September 18, 2024, 01:45:36 AM
#26
Try importing only the private key from the address bc1qkjhyr44s4ksuhavgkf5hrs2xesfg2h6z63jp7r into electrum and try sending it to the desired address.
Very happy to report that this worked!
Is importing the private key the part that worked? If so, it's still weird: the seed phrase reproduced the address, so it should also include the private key. It's still a weird case.
hero member
Activity: 2366
Merit: 793
Bitcoin = Financial freedom
September 18, 2024, 12:59:36 AM
#25
Have you tried changing the electrum server?

Try importing only the private key from the address into electrum and try sending it to the desired address.

Try downloading bitcoin core v23.0 or lower, as it has the option to create a legacy wallet, which allows you to import private keys directly.
Very happy to report that this worked! Thank you so much for taking the time to reply with such clear and comprehensive instructions! I will now redact my wallet address from earlier posts as the problem is solved.
Which one: Switching to another server, importing the private key to Electrum or Bitcoin Core?
It's important to note which solved the issue.

I guess it should be importing the private key instead of the wallet might have resolved that because the other suggestion of downloading the qt and running own node has nothing to do with signing the TX from the wallet.

Could be a new bug that should be resolved.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
September 17, 2024, 11:12:31 PM
#24
Have you tried changing the electrum server?

Try importing only the private key from the address into electrum and try sending it to the desired address.

Try downloading bitcoin core v23.0 or lower, as it has the option to create a legacy wallet, which allows you to import private keys directly.
Very happy to report that this worked! Thank you so much for taking the time to reply with such clear and comprehensive instructions! I will now redact my wallet address from earlier posts as the problem is solved.
Which one: Switching to another server, importing the private key to Electrum or Bitcoin Core?
It's important to note which solved the issue.

I tried loading from text, but the 'sign' button is greyed out:
Did you import the private key into this wallet? If so, I would expect the sign button to work. I still have no idea why Electrum can't handle this specific input normally.
Just a little explanation to what's going on:
Electrum doesn't support signing of serialized unsigned raw transaction hex, it should be a PSBT binary file or base64/base43 string for the "Sign" button to be enabled.
Since it's hex, it assumed that the transaction is already fully signed and ready to send to the network; thus, "Broadcast" button is enabled instead.

For the test unsigned transaction's weirdly large size, it's because Electrum created PSBT instead of unsigned raw transaction hex.
With PSBT, that large UTXO should be included to the meta data within the PSBT but that would be discarded once the transaction is fully signed and converted to serialized RAW transaction.

Now the mystery is the error which should've been reported for the developers to debug.
Or at least have the contents shared here since something "worked" without clear explanation about how.
full member
Activity: 219
Merit: 426
September 17, 2024, 06:12:51 PM
#23
Have you tried changing the electrum server?

Try importing only the private key from the address bc1qkjhyr44s4ksuhavgkf5hrs2xesfg2h6z63jp7r into electrum and try sending it to the desired address. To get the private key for a specific address, click on the address tab, then right-click on private key, it will ask for your wallet encryption password, just type it and it will show something like: p2wpkh:Lxxxxx... this is your privkey of this addr.



Create a new wallet file in electrum by selecting the option: Import bitcoin addresses or private keys... paste the private key p2wpkh:Lxxxxx... after loading the transactions, try to send.

If the problem persists, I recommend that you download the bitcoin core full node and wait for it to finish synchronizing (it may take days or hours depending on your internet connection).

Try downloading bitcoin core v23.0 or lower, as it has the option to create a legacy wallet, which allows you to import private keys directly.

Tip: from now on, only use electrum or bitcoin core to receive payments from your pool, as you will have less complications.

Very happy to report that this worked! Thank you so much for taking the time to reply with such clear and comprehensive instructions! I will now redact my wallet address from earlier posts as the problem is solved.
hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
September 17, 2024, 05:43:26 PM
#22

Anything interesting in the report content which you can see when you click on "Show report contents"?

Be careful as the report content can contain data which you don't want to be public, so go thoroughly through it and sanitize accordingly before you intend to post something of it here.

I looked at the transaction from F2pool and besides it has A LOT of outputs (2034!), I couldn't spot anything strange with your UTXO that causes LoyceV's Electrum to hiccup and burp such a large transaction. That's really odd. And OP's Electrum isn't happy either...

I tested with my Electrum and frankly nothing looks suspicious and transaction size is small as expected (my hidden destination address is also a native segwit type):


Only when I export the PSBT it is 67.5kB (smaller than LoyceV had). Is the large size due to fact that the UTXO is an output of a transaction with 2034 outputs? Anyway, Electrum shouldn't stumble over this.


P.S.
Spending the problematic UTXO is about to be confirmed (in mempool since about 2024-09-17 22:44 UTC)...
hero member
Activity: 1120
Merit: 540
Duelbits - Play for Free | Win for Real
September 17, 2024, 05:09:57 PM
#21
Have you tried changing the electrum server?

Try importing only the private key from the address bc1qkjhyr44s4ksuhavgkf5hrs2xesfg2h6z63jp7r into electrum and try sending it to the desired address. To get the private key for a specific address, click on the address tab, then right-click on private key, it will ask for your wallet encryption password, just type it and it will show something like: p2wpkh:Lxxxxx... this is your privkey of this addr.



Create a new wallet file in electrum by selecting the option: Import bitcoin addresses or private keys... paste the private key p2wpkh:Lxxxxx... after loading the transactions, try to send.

If the problem persists, I recommend that you download the bitcoin core full node and wait for it to finish synchronizing (it may take days or hours depending on your internet connection).

Try downloading bitcoin core v23.0 or lower, as it has the option to create a legacy wallet, which allows you to import private keys directly.

Tip: from now on, only use electrum or bitcoin core to receive payments from your pool, as you will have less complications.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
September 17, 2024, 11:35:23 AM
#20
I assume that in the meantime, if I transfer everything apart from the 'stuck' balance OUT of this wallet, and create a new wallet for mining payouts - that would be a sensible step forward?
Yes.
You may want to consider using an address on your Trezor for mining payouts directly.
full member
Activity: 219
Merit: 426
September 17, 2024, 11:28:40 AM
#19
I don't know? I just installed Electrum, and used my 12 word recovery seed to open the wallet.
That's the same result: Electrum should be able to sign this transaction.

Quote
I really appreciate your help and advice, but this is all way above my understanding.
In that case, don't do it.

Quote
To date I've never had a problem like this
Let's wait for someone who with a deeper understanding of what's going on here.

Sound advice, thanks again. I assume that in the meantime, if I transfer everything apart from the 'stuck' balance OUT of this wallet, and create a new wallet for mining payouts - that would be a sensible step forward?
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
September 17, 2024, 11:22:52 AM
#18
I don't know? I just installed Electrum, and used my 12 word recovery seed to open the wallet.
That's the same result: Electrum should be able to sign this transaction.

Quote
I really appreciate your help and advice, but this is all way above my understanding.
In that case, don't do it.

Quote
To date I've never had a problem like this
Let's wait for someone who with a deeper understanding of what's going on here.
full member
Activity: 219
Merit: 426
September 17, 2024, 11:19:29 AM
#17

Did you import the private key into this wallet? If so, I would expect the sign button to work. I still have no idea why Electrum can't handle this specific input normally.

I don't know? I just installed Electrum, and used my 12 word recovery seed to open the wallet.

You could sign with coinb.in, but it's a website so you should NOT do that online. If you copy it to an air-gapped system (running from a Linux LIVE DVD for instance) and wipe it afterwards you can safely try this. Don't enter you private key in an online browser.

I really appreciate your help and advice, but this is all way above my understanding. My knowledge of bitcoin wallets extends to clicking a 'send' or 'receive' button and scanning a QR (or copy / pasting an address). To date I've never had a problem like this
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
September 17, 2024, 11:12:50 AM
#16
Forgive me, but I don't understand this instruction. Although I've been mining for years, I've only ever done basic transactions in and out of wallets. Would you mind explaining this step in a little more detail (to ensure I get it right)?

I tried loading from text, but the 'sign' button is greyed out:
Did you import the private key into this wallet? If so, I would expect the sign button to work. I still have no idea why Electrum can't handle this specific input normally.

You could sign with coinb.in, but it's a website so you should NOT do that online. If you copy it to an air-gapped system (running from a Linux LIVE DVD for instance) and wipe it afterwards you can safely try this. Don't enter you private key in an online browser.
full member
Activity: 219
Merit: 426
September 17, 2024, 11:03:34 AM
#15
You can click Tools > Load transaction > From text to load it into Electrum, verify the Output address (32MAHEMHwmhMZjDiXB9NBWhb13nsCEpp56) and amount, and sign it if you want. But VERIFY it thoroughly.


Forgive me, but I don't understand this instruction. Although I've been mining for years, I've only ever done basic transactions in and out of wallets. Would you mind explaining this step in a little more detail (to ensure I get it right)?

I tried loading from text, but the 'sign' button is greyed out:

Pages:
Jump to: