Seed phrase does not recover all on chain funds

To make these funds “visible” in LND, add reset-wallet-transactions=true to lnd.conf and reboot*
*1) you have to remove this line later or it will rescan on every reboot. 2) default recovery window is 2500 so if you would have ie 9000 onchain txs, this alone would not cover them and LND would also have to be started with custom flag together with reset wallet line in config, (ie “lncli unlock --recovery_window 10000”).
LND rescan 2021-2025 with default setting could take idk, I guess prob no less then a day on RPi4… In sparrow you see everything right away.

Import of p2tr path to sparrow is nearly identical as p2wpkh which you are already familiar with.
In settings of newly created wallet, select taproot (P2TR) from “script type” menu → in keystore section go “new or imported software wallet” > paste your xprv to the master private key (bip32) window and in next step make sure derivation starts m/86 and not m/84 (there is minor difference between older and newer sparrow versions in how this is displayed. Newer one is more streamlined, perhaps less confusing so I would suggest that) + import > at the bottom of settings page select advanced + increase gap limit to 500 (excessive, but wont leave space for missing anything) and close > apply…

PS: Unfortunately I haven’t yet figured how to spend both p2tr + p2wpkh inputs in single tx outside of LND. Taproot signing works differently and combining signatures in externally crafted PSBT containing p2tr inputs together with p2wpkh (or other) inputs won’t form valid tx for some reason. So if you would for example insist on emptying / sweepall of your LND wallet in single transaction, you need synced LND… In sparrow, you have to sweep in two steps, one tx sweeping p2wpkh and second tx sweeping p2tr… Detail worthy of being aware of imho.

2 Likes