Author

Topic: Is it possible for a single wallet to access all 3 Bitcoin address formats? (Read 242 times)

legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
AFAIK, Armory client allows simultaneously  access both P2PKH and  P2SH addresses with use of single SEED (which is not BIP39). As to bech32 it is still not implemented in the current release  (but expected in the next one). Judging what you want  Armory would  suite you providing you are   technically savvy guy.

Thanks for the tip. I've not used Armory before, and would take me quite a hefty reason to start using a new service (I'm stubbornly stuck in my ways, so it's perhaps fortunate I started using Electrum early on).

I'm not sure I fully understand your reluctance to use BIP39 seed phrases. I know what is said on the Electrum readthedocs page, but the fact is that BIP39 seed phrases are pretty ubiquitous, the majority of people are using them, and there is no conceivable way that support for them is going to be discontinued. Further, even if support was somehow discontinued across every wallet simultaneously, old wallets and open source software such as https://iancoleman.io/ still exist which would allow you to recover your private keys and therefore your coins. Further, even if they all somehow disappeared as well, since the process to turn a seed phrase in to a master private key and subsequent private keys is well known and published in multiple places, you could just calculate the keys for your specific derivation path manually.

If you really want to be secure, then I would pair a hardware wallet with Electrum. Generate a BIP39 seed phrase on the hardware wallet, write it down on paper, and then you can use Electrum to create one wallet of each type (1, 3, and bc1) all unlocked by your hardware wallet.

It's my initial reluctance, having only found out all this in the last couple of days, and I do concede as I said, it's not likely to cause me any issues down the road -- but I'm always trying to think of several practical issues, including inheritance. If something were to happen to me, the process to discover all these issues should not be too complex for a regular person. I'm always seeking a suitable balance between security and ease-of-use.

Also, I also prefer not to always need to use my hardware wallet, but knowing that I have these options is good.

Appreciate all the responses, hope this has been as useful for some others as it has been for me!
legendary
Activity: 1904
Merit: 1563
~snip~
If you really want to be secure, then I would pair a hardware wallet with Electrum. Generate a BIP39 seed phrase on the hardware wallet, write it down on paper, and then you can use Electrum to create one wallet of each type (1, 3, and bc1) all unlocked by your hardware wallet.
Personally using these method, I've created 2 separate bitcoin wallet file using the same seed generated by the hardware wallet that has a script type of  P2SH and Bech32 and you can easily access them by connecting your Ledger Nano S to your PC.

However, it would take a bit of effort to change your wallet from one script type to another since you need to manually close the wallet and then choose the other wallet file that contains the other script type.
legendary
Activity: 2268
Merit: 18711
After reading the above now, though, I'm not sure I should be using bip39, not that it's likely to cause me any security or access issues, but at least now I understand the option to.
I'm not sure I fully understand your reluctance to use BIP39 seed phrases. I know what is said on the Electrum readthedocs page, but the fact is that BIP39 seed phrases are pretty ubiquitous, the majority of people are using them, and there is no conceivable way that support for them is going to be discontinued. Further, even if support was somehow discontinued across every wallet simultaneously, old wallets and open source software such as https://iancoleman.io/ still exist which would allow you to recover your private keys and therefore your coins. Further, even if they all somehow disappeared as well, since the process to turn a seed phrase in to a master private key and subsequent private keys is well known and published in multiple places, you could just calculate the keys for your specific derivation path manually.

If you really want to be secure, then I would pair a hardware wallet with Electrum. Generate a BIP39 seed phrase on the hardware wallet, write it down on paper, and then you can use Electrum to create one wallet of each type (1, 3, and bc1) all unlocked by your hardware wallet.
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
Thanks for all the help guys, you're all seriously good users. Not able to give the candy for your assistance but I can see you don't need them anyway =) Can't believe it took me this long to find this out!

@mocacinno: Thank you, really! I actually always avoided BIP39 because of that warning on Electrum, but didn't know that therein, lay the path to that solution I've been seeking. Reading the above really does support the notion that Electrum knows what it's doing, doesn't it?

@nc50lc Aye, now I read it, sounds to me like good foresight to ensure your wallet seed will always be relevant or accessible in future.

@o_e_l_e_o : After reading the above now, though, I'm not sure I should be using bip39, not that it's likely to cause me any security or access issues, but at least now I understand the option to.

@hosseinimr93: This is 100% precisely what I was originally looking for! One instance, 3 types of addresses. I know it's a small thing but when you deal with clients who for some reason simply won't want to go segwit, this is really, really helpful. It will be the tradeoff as explained by Electrum's notes on bip39 but the convenience for accounting and wallet management could be worth it.
legendary
Activity: 2380
Merit: 5213
As already stated in previous posts, Electrum lets you to generate all three address types using a BIP39 seed phrase. You just need to select the script type when importing the seed phrase.
In this case, you can have three separate wallets generated by a single seed phrase.

As in the subject you are referring to a single wallet that access all three bitcoin address formats, you may want to have a single wallet with all three address types (not three separate wallets).
if so, the only option in Electrum is to create the wallet using private keys.

You need to use the following format when importing the private keys.

Code:
p2pkh:
p2wpkh-p2sh:
p2wpkh:
p2pkh:
p2wpkh-p2sh:
p2wpkh:
...
...
...

In the following image, I am importing all three address types for some private keys.
(All private keys have been generated by a single seed phrase. So, it is only needed to keep the seed phrase.)




Electrum will give the following result.



legendary
Activity: 2268
Merit: 18711
You can generate pretty much infinite addresses and wallets with the same seed depending on which derivation path you use.
You need to tell the wallet you are using the script type as well - changing the derivation path alone will not be sufficient in many cases. It is perfectly possible to generate legacy addresses at m/84'/0'/0', for example.

so I'd always thought a single seed phrase only fits one type of address.
This is the case for Electrum generated seeds phrases. BIP39 seed phrases can generate any type of address.

I have a legacy address seed. I've just tried now to restore a wallet from this seed, but I don't get the the option to select the type.
If your seed phrase was generated by Electrum, it will only ever restore to legacy addresses. If you want one seed phrase to give access to all address types, you will need to generate and use a new BIP39 seed phrase. Follow mocacinno's instructions above.
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
-snip-
I've tried importing my seeds before from Electrum into another wallet, but I always get the same format (I guess you this is the derivation path you speak of), so I'd always thought a single seed phrase only fits one type of address. I was mistaken it seems. But if every wallet does it, I simply need to set a derivation path to get my legacy set of addresses and/or bech32 set? Seems I have misunderstood Electrum all this time!
That's because Electrum seed phrases aren't BIP39 compliant but uses it's own implementation.
It has a "version number" which indicates what type of seed is it and what derivation path the client will use.
For BIP39 seed, it's what you're experiencing with every other non-custodial wallets.

BTW, seed phrase generated by Electrum shouldn't work with other clients/wallets except if they support it like BlueWallet, etc.
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
You can use the offline version of https://iancoleman.io/bip39/#english to generate a bip39 seed (or any other tool for that matter).

If you import this seed, click on "options" and mark that the seed is bip39, the next step of the wallet restore gui will show this menu:



One seed, 3 wallets Wink

If you want to learn more as to why electrum does the things it does when it comes to bip39 seeds, here's an interesting article: https://electrum.readthedocs.io/en/latest/seedphrase.html?highlight=bip39
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
It's possible with every wallet. And it's actually really simple. You can generate pretty much infinite addresses and wallets with the same seed depending on which derivation path you use. Electrum, by design, only lets you use one derivation path per "wallet". In Bitamp, they let you change from one to the other in the same wallet/ ("instance of a wallet") without creating a new one.

I've tried importing my seeds before from Electrum into another wallet, but I always get the same format (I guess you this is the derivation path you speak of), so I'd always thought a single seed phrase only fits one type of address. I was mistaken it seems. But if every wallet does it, I simply need to set a derivation path to get my legacy set of addresses and/or bech32 set? Seems I have misunderstood Electrum all this time!

I know coinomi does the same, but personally i wouldn't use them. A mobile wallet that has been surrounded by a lot of discussions about safety and wether or not the sourcecode they share is their actual current release... Not for me.

You can have one seed and use this one seed to create a legacy, nested segwit and native segwit wallet in electrum tough... You don't need 3 seeds, but you'll end up with 3 wallets. This being said, you're able to open 3 electrum instances at once... So you can have one seed => 3 open wallets.

Not exactly what you were aiming for tough... Why do you need the 3 "types" of wallets?

Yeah, not for me either, for some of the same reasons about coinomi I mean.

I really had no idea about the seed being able to get all 3 sets -- but how exactly do I do this then?

I have a legacy address seed. I've just tried now to restore a wallet from this seed, but I don't get the the option to select the type. It just opens up and gives me the wallet with legacy addresses.

I don't need 3 types, but it'd be a bit more convenient to have only 1 seed to remember. I'm earning in bitcoin and one slight inconvenience of using bech32 is that not all my clients can support it (yes, I've tried so very hard to convince them to switch), so I still have to accept payments in the older formats... so I need to maintain both types of wallets.

Does this make sense or am I severely confused =)
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
I know coinomi does the same, but personally i wouldn't use them. A mobile wallet that has been surrounded by a lot of discussions about safety and wether or not the sourcecode they share is their actual current release... Not for me.

You can have one seed and use this one seed to create a legacy, nested segwit and native segwit wallet in electrum tough... You don't need 3 seeds, but you'll end up with 3 wallets. This being said, you're able to open 3 electrum instances at once... So you can have one seed => 3 open wallets.

Not exactly what you were aiming for tough... Why do you need the 3 "types" of wallets?
legendary
Activity: 2758
Merit: 6830
~
It's technically possible with every wallet. And it's actually really simple. You can generate pretty much infinite addresses and wallets with the same seed depending on which derivation path you use. Electrum, by design, only lets you use one derivation path per "wallet". In Bitamp, they let you change from one to the other in the same wallet ("instance of a wallet") without creating a new one. Coinomi also has this feature - at least for BTC.

Not exactly what you were aiming for tough... Why do you need the 3 "types" of wallets?
Probably for better compatibility. E.g you use bech32 for everything but when its not accepted by a service, you just generate a nested address.
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
Got a question for you tech people.

I recently came upon a new wallet: Bitamp, new guys so don't seem to have much said about them online. It's a web wallet, so am not about to put all my savings in there but it does have this curious feature of allowing a single seed phrase to access all types of addresses: P2PKH, P2SH, and bech32.

Now I know Electrum and a handful of other clients support all three. I can use my Electrum to receive AND send to any type of address. But not access to all three. For example, I need to have 2 separate Electrum seeds (1 for legacy and 1 for native segwit).

And I always thought it wasn't possible to have a wallet that has 2 different formats, but Bitamp apparently does (one seed, 3 different formats to choose from).

Would anyone know any other wallet like this as a software client, or if this is now actually possible to do in Electrum? Because I'd love to have ONE hot wallet with all types of addresses available.

Sorry if my technical phrasing's off.
Jump to: