Hi, reaching out for some support here.
I added some watch only wallets to wasabi following the guide here (https://docs.wasabiwallet.io/FAQ/FAQ-UseWasabi.html#can-i-import-a-watch-only-extended-public-key)
For some background, I'm using Ubuntu linux (24.4.1), with Wasabi v2.3.0. The wallet I connected is a cold storage wallet that I made on Electrum. The wallet was giving me an zpub, but to import wallet as watch only, wasabi needed xpub, so I converted it using jlopp's conversion tool (https://jlopp.github.io/xpub-converter/). My intention was to coinjoin some sats and set the output to my cold storage.
Initially I wasn't able to get Wasabi to recognize the wallet, as it wanted a TaprootExtPubKey key as well, which Electrum doesn't supply. So here I put in the same xpub as I got from the original zpub showing (probably a mistake).
I used the coinjoin feature and set this watch only cold storage wallet as the destination. The coinjoin confirmed. Now, it is showing output addresses that not associated with my Electrum wallet xpub.
Coins have been sent via a taproot script, and have gone to addesses not associated from my electrum xpub. Some coins show as segwit, and these ones do show up in my electrum wallet.
How can I recover these 'lost' coins. : / ??
For anyone trying import a watch-only wallet without Taproot into Wasabi: In the JSON file set "TaprootExtPubKey" to null and "TaprootAccountKeyPath" also to null.
It should be possible to recover your "lost" coins by manually specifying the m/84'/0' derivation path when configuring the taproot wallet. I haven't tried that though.
reply
were you able to reproduce my error? Did you test this solution?
reply
I reproduced your situation on regtest and I managed to view the "lost" taproot coins in Sparrow wallet. I would also be able to recover the "lost" coins but that requires a patch to Sparrow wallet.
First to view the "lost" taproot coins:
  1. Download Sparrow wallet
  2. In Sparrow wallet create a new wallet
  3. Set "Script Type" to "Taproot (P2TR)"
  4. Under Keystore click "xPub / Watch Only Wallet"
  5. Next to "xpub:" paste the xpub you gave to Wasabi Wallet
  6. Next to "Master fingerprint:" enter "04b2430c"
  7. What you type next to "Derivation:" does not matter but just enter "m" since it requires this box to not be empty
  8. Click "Apply"
  9. Switch to the "Transaction" tab and your "lost" coins should be there.
Recovering the "lost" taproot coins (this method involves typing the seed into a computer, making the wallet hot):
  1. Set the number of seed words you are using (12 or 24)
  2. Type your seed words into the "BIP39 Mnemonic" text box (assuming that you have a BIP39 seed)
  3. Scroll down to "Derivation Path" and select "BIP32"
  4. Next to "BIP32 Derivation Path" enter "m/84'/0'/0'"
  5. Copy the "BIP32 Extended Private Key"
  6. Create a new wallet in Sparrow wallet
  7. Set "Script Type" to "Taproot (P2TR)"
  8. Under Keystore click "New or Imported Software Wallet"
  9. Next to "Master Private Key (BIP32)" click "Enter Private Key"
  10. Enter your xprv (the one you copied in step 6)
  11. Click Import
  12. Set the derivation path to "m/84'/0'/0'"
  13. Click "Import Custom Derivation Key..."
  14. And this is where you would click "Apply" but it is grayed out because of a restriction in Sparrow Wallet which would need to be patched out. (I can take a look at this later)
  15. Then your "lost" taproot coins should theoretically appear and you should be able to send them.
There is probably a way to do this without making the wallet hot, but that depends on the type of cold wallet you are using.
In any case, your coins are NOT lost.
reply
I appreciate the thorough look into this. Yes, sparrow can load the watch-only wallet just fine, the coins are there. It prompts for a hardware wallet for signing, but since mine is on electrum (tails usb) I don't think this is an option. Cant spend from here. I also attempted loading in the bip32 extended private key as per your instructions. It allowed me to apply this, but none of the addresses are the same as the watch only, and none of the utxos are there.
reply
Is your seed even a BIP39 seed? If you generated it using Electrum it is most likely is an Electrum seed. When you restore your wallet in Electrum you probably go through "Standard wallet" -> "I already have a seed". When entering the seed, do you change anything in the "Options" or do you leave it on the default "Electrum" seed type.
And on a different note: You do not actually have to patch Sparrow wallet. Under "File" -> "Preferences" -> "General" -> Turn off "Validate derivations"
reply
If you have a simple Electrum wallet file then it actually makes things pretty easy.
  1. In Sparrow Wallet go to "File" -> "Import Wallet..."
  2. Next to "Electrum" click "Import File..."
  3. Locate the Electrum wallet file (usually in ~/.electrum/wallets/)
  4. You are asked to name the wallet. Click "Create Wallet".
  5. Optionally set a password
  6. Now you have imported the wallet and your SegWit Coins should appear.
  7. Switch to the "Settings" tab
  8. Change "Script Type" to "Taproot (P2TR)"
  9. When asked whether to clear the keystores, select "No"
  10. Click "Apply"
  11. Now you should see your "lost" Taproot coins, ready to be spent.
reply
You're a gem Filiprogrammer. I don't know how many hours it would have taken me to figure that out. Bitcoin is breaking out of 70k just for you!
reply
Thanks for the big zap! Glad I could help
Reach out to Wasabi's support team with full details of your setup. They can help guide you based on your specific version and configuration.
reply
I have tried. Thank you.
reply
0 sats \ 0 replies \ @OT 28 Oct
Try putting that xpub into Sparrow wallet and try a few different derivation paths.
reply