Assuming you have the seed phrase - what else do you need, to ensure you can recover a wallet?
I had a scare a while back when restoring a seed phrase, and the transactions NOT showing up. The problem ended up (after a lot of stress and research) being the script type.
Also I just saw a long discussion of someone having a similar issue - being fairly experienced, and thinking he did absolutely everything right in terms of securing his coins, and then not being able to restore it and see transactions. I don't know yet what his solution is, hopefully he can figure it out.
So my question is, what (besides the seed phrase) is necessary to know, to ENSURE that you can restore, perhaps with different software?
Here's my short list so far:
  • are you single sig or multi sig (obvious, but still...)
  • script type (Native Segsit, Legacy, etc)
  • is the derivation correct (m/84'/0'/0', etc)
  • do you have a passphrase (again, obvious)
  • the gap limit
  • are you using the regular BIP39 standard, and not the Electrum standard or something else?
What else is there, that could affect this?
I have a couple other related questions:
  • Does the "script policy" descriptor shown in Sparrow encompass ALL of the factors besides the seed phrase that can affect whether the transactions show up?
  • Say you set up a wallet in Sparrow (via, for instance, SeedSigner). And then you set up a watch-only wallet for it on Blue Wallet. To make sure everything is good - do you just need to check that the receive addresses are the same?
5,000 sats paid
Signal312's bounties
I think I wasn't really clear on my wording here. I'm not asking questions like "should I use a passphrase" or "should I use multisig".
What I'd like to get feedback on is - if somebody HAS the seed phrase but isn't really clear about the details from when the wallet was set up, what are the other potential roadblocks that you can hit, when you try to restore your wallet (in whatever software)?
What are the factors that can cause the transactions to not show up?
What do you check first, second, third? From my experience, the script type was a problem. I see these (and similar) issues all the time - some panicked user trying to figure out why the restore doesn't work.
reply
deleted by author
reply
Usually when I create a new BTC wallet I save in a password manager the following:
  • 12 or 24 words seed
  • extracted xpub
  • nodeID if is about a node wallet
  • date of birth of that wallet, just in case
  • 10 first BTC segwit and/or taproot addresses (be aware that is a different derivation path), just in case are needed
  • any other information is needed related to that wallet.
Now comes your specific questions.
  • do I use a passphrase? Only in very rare occasions. 12 -24 words are more than enough for my use cases.
  • gap limit? that depends on the use case, is not really a issue.
  • script type? always at least segwit, preferably taproot.
  • single sig because nobody else have control over my wallets. NOBODY. So extra sig is totally useless. Multisig MUST me used ONLY when are more than one individual involved in the wallet security and manipulation. So not complicate things more than is necessary.
  • BIP standard is almost meaningles.. It depends on what type of wallet you use: vault, cache, spending. Each one have a different type.
reply
111 sats \ 8 replies \ @freetx 15 Nov
do I use a passphrase?
The benefit of a passphrase is you can write the 12 words down or store in password manager but omit the passphrase and keep that as 'brainwallet'
reply
That doesn't mean a wallet is more secure. You just add complexity that I can easily achieve with other simple methods.
reply
That doesn't mean a wallet is more secure.
How do you figure? I could give you 12 words to a wallet, but without the passphrase (ie. 13th word) you won't be able to access the private keys?
reply
So what? I can give you 11 words and not the 12th one. Is that more secure? No! Is absolutely the same shit.
reply
Guessing a missing word from the wordlist is trivial since its a 1/2048 guess. However, Passphrases are not one of the words from the wordlist. They can be anything.
You could use "My Name Is DarthCoin! My Favorite Number is 21,000,000" as a passphrase.
reply
again, you are speculating. that doesn't mean is more secure.
reply
101 sats \ 2 replies \ @freetx 15 Nov
Its not speculation, it does make it more secure.
Here is a wallet for you:
robust own donate other small can prize essence source setup visual similar
I put 100,000 sats in it for you. Its yours (or anyone's) if you can guess the passphrase.
.
It would be great if, as @Darthcoin says, you use a password manager like Bitwarden or, in this case, Proton. I have spent a lot of time neglecting my passwords.
reply
0 sats \ 2 replies \ @alt 16 Nov
What are the security implications of using a password manager for a Bitcoin wallet?
I use a password manager for passwords, but I wouldn't feel secure knowing my seed phrase and/or passphrase is stored digitally.
reply
Always use offline password managers like KeePass or Bitwarden. It's aup to you if you keep all your wallets info together with other stuff or keep a separate db for wallets and another one for other stuff.
Important is to have a strong master password and that db file is stored on an offline USB device that is also encrypted. You can make several copies of that db file (and updated them every time there's a change) and keep them in separate locations.
Do not put a db file named "bitcoin passwords" on your desktop screen or write the master password on a sticker under your keyboard... come on these are stupidities.
An encrypted USB with a strong password and an encrypted db file is a double barrier to reach your personal data.
reply
Thanks for this knowledge
reply
5111 sats \ 2 replies \ @anon 15 Nov
What the seed phrase gives you is a 32-byte (12 words) or 64-byte (24 words) private key.
The seed words are the most important thing to have, as you cannot "brute-force" guessing your seed words.
However, there are a few configuration options that take place between your seed words, and addresses that you generate.
**1.) What is the standard for deriving the key? **
This determines the word lists and how to convert the words into a master key. BIP39 is the standard that most folks use. Electrum has a different standard, and there may be others, but it's not hard to try different formats.
**2.) What is the "derivation path" for creating child keys?
This determines how child keys are created from the master key. There is a small list of standard paths to use, so it's something you can also try and guess. It does help to write this down though, along with the "master fingerprint" which helps you check that you key is being imported correctly.
3.) What is the address format for my key on-chain?
There are various address formats which encode your "child key" and give it extra protections, such as error detection / correction (for when you fat finger the wrong key).
There's a small number of formats, and most wallets use bech32. But you can try other formats.
tl;dr as long as you have your seed words, there are a small number of different format options that you can try to figure out the correct settings. But it's easier to just write this stuff down, or at least remember which wallet was used to generate your keys.
reply
Thanks for this. So would it be correct to say that (assuming it's not multi-sig, there's no passphrase), as long as you have the script type correct, and the derivation path, then you should be good?
I guess many wallets don't show that.
If you have the script policy descriptor (that's the term in Sparrow, in any case) I assume there's nothing else you could need?
reply
Yes
reply
146 sats \ 1 reply \ @hugomofn 16 Nov
Based on handling support tickets for several years: the #1 reason people lock themselves out of their wallets is forgotten passphrases.
For multisig wallets, it's pretty standard practice now that you must absolutely back up the wallet configuration file (BSMS or Output Descriptors format). Eliminate most of the issues you listed.
reply
Thank you, this is great information, about forgotten passphrases being the #1 reason people lock themselves out of their wallets.
Very good to know, I wouldn't have guessed that.
I didn't think about the wallet configuration file (what I believe in Sparrow is called Script Policy Descriptor) being similar to the Multisig wallet configuration file. It makes sense.
What other interesting tidbits of info do you have from handling support tickets?
reply
Excellent answer, thanks @Signal312 for sharing your question with us and @anon for answering it.
reply
Bitcoin core qt now uses descriptor wallets. If you've just backed up a private key it's hard to import it. You need to create a legacy wallet and migrate it.
reply
What does descriptor wallet mean? A seed phrase instead of a private key?
reply
my understanding is that its basically a codified way of asking this OPs question , so if need to import a wallet into new software that new software can access the funds and you can spend from it
reply
Thanks, that makes sense. It stores the derivation path and script types in the key.
reply
To restore a wallet, you need more than the seed phrase
1 Single-sig or multi-sig?
2 Script type (Legacy, SegWit, etc.).
3 Correct derivation path (e.g., m/84'/0'/0').
4 Passphrase (if used).
5 Gap limit.
6 Wallet standard (BIP39 vs. Electrum).
7 Network type (mainnet/testnet).
8 Descriptor/script policy.
9 Cosigner data (for multi-sig).
For Sparrow and BlueWallet: Check that xpubs and receive addresses match to ensure compatibility. You should save all wallet details for safety.
reply