I am running into an issue that I haven’t been able to resolve on my own, and I wanted to post it here to see if anyone has any ideas as to what may be happening with my node.
I am running a full node, everything is fully synced and working as expected. I decided to set up a lightning node, so I downloaded Lightning Node, recorded the seed phrase, and loaded some sats on the on-chain side of the node. I entered the seed phrase in BW to make sure it worked and the funds would be recoverable, and an “HD AEZEED WALLET” was correctly imported in BW, showing the full balance matching the wallet on the LN node. So far so good.
From this point on I am going to omit transactions fees and use small, round numbers in my narrative to keep things simple.
The balance on my on-chain lightning wallet was 500 sats. I opened my first channel with a close friend who is way more knowledgeable about BTC than I am and has been mentoring me about all things crypto. The channel was successfully opened for 100 sats and Lightning Node showed a balance of 400sats on the on-chain wallet and 100sats on the lightning wallet. Again, so far so good.
Moments later, the imported wallet in BW goes down to a zero balance. Weird. I looked at the transaction history on both the lightning node and BW and at the time of channel opening there was a transaction with an input of 500 sats, of which 100 sats were sent to one address marked as “channel open” in block explorer and the remaining 400 sent to another address, which I initially thought was a change address.
After some probing, it appears that the address the 400 sats were sent to is not an address derived from the original seed phrase. I used the function “Is This My Address?” in BW, inserted the address where the 400 sats were sent to, and got a message saying that the address does not belong to the imported HD AEZEED wallet.
It’s almost as if Lightning Node is using another private key to generate another wallet/set of addresses, a private key for which I do not have the recovery seed phrase.
I continued to troubleshoot, and clicked on “RECEIVE” under the on-chain wallet to have the node generate a receiving address. I did that several times and got several addresses generated. Each one of them was confirmed to belong to the original seed phrase.
I contacted the friend with whom I had opened the channel and he was as puzzled as I was. He recommended closing the channel I had opened with him and see to which on-chain address the funds of the closed channel would be routed to.
I initiated a channel close and the 100 sats from the channel were sent to another address which didn’t belong to the seed phrase I have (checked with the the “Is this my address?” tool in BW), but the funds were added to the other 400 sats I had sitting in the on-chain wallet, for a total of 500 sats, which is what I started with, but the problem is that I cannot recover those on-chain funds with the seed phrase, because the balance shown when recovering the wallet with the seed phrase is zero.
Of course I still have access to the funds which can be spent/transferred from the node, but what happens the node gets damaged/stolen/destroyed and I need to recover the funds? I guess I could try to reinstall LN node on a different hardware and try to restore the wallet from within LN node, but I am not sure whether the seed phrase would even work. Also, something that I think is very important is that on-chain funds should be recoverable from any wallet using the seed phrase/private key.
EDIT: My friend figured it out. Umbrel sent the funds to taproot change address, so when recovering the wallet in BW (or Sparrow, he tried with both wallets) the Taproot option must be selected. Hopefully this will help others as well.