Bitcoin Forum

Bitcoin => Electrum => Topic started by: undefinedd on June 30, 2021, 06:34:29 AM



Title: Legacy Wallet on Android app?
Post by: undefinedd on June 30, 2021, 06:34:29 AM
Hi, I have some funds on an old wallet that only has legacy addresses. Unfortunately, Electrum does not accept legacy deposits.

I read that there is a way to create a legacy wallet on Electrum on the desktop.

How can I do this on the Android app?


Title: Re: Legacy Wallet on Android app?
Post by: nc50lc on June 30, 2021, 06:37:00 AM
What do you mean by "legacy deposits"?
Because the android version of Electrum like the PC version can always accept both non-SegWit and SegWit transactions.


Title: Re: Legacy Wallet on Android app?
Post by: ranochigo on June 30, 2021, 06:40:56 AM
You cannot create legacy addresses on Electrum, on Android anymore. The only way is through the console which is unfortunately not an option with Android.

You'll have to either use another wallet or on your computer.


Title: Re: Legacy Wallet on Android app?
Post by: NeuroticFish on June 30, 2021, 06:47:20 AM
Hi, I have some funds on an old wallet that only has legacy addresses. Unfortunately, Electrum does not accept legacy deposits.

I read that there is a way to create a legacy wallet on Electrum on the desktop.

How can I do this on the Android app?

Electrum allows whatever Bitcoin blockchain allows. Hence sending funds to legacy addresses is fully allowed. There must be a misunderstanding and you should explain much better what's your problem.
The only thing I remember that may not work is that certain 3rd party services cannot handle Bech32 or SegWit addresses. However, please explain better your problem so we don't have to guess.

Now, if you really-really want to create a legacy wallet in Electrum for Android, one way would be:
1. Run offline(*) https://iancoleman.io/bip39/ or, better, https://github.com/iancoleman/bip39
2. For a few addresses copy the private keys (you may need this especially for backup)
3. When create a wallet in Electrum for Android, use "Import Bitcoin addresses or private keys" path. Paste the private key(s) or scan the QR you can see if you hover the private key on Ian Coleman page.

(*) Your funds' safety depends on how you generate, use and store these private keys. If you just open a website, stop the internet for a few minutes to use it the start internet again, that's not considered safe. Storing/transferring private keys via mail, dropbox or such is also unsafe. So I wouldn't do this for really useful/bigger wallets.


Title: Re: Legacy Wallet on Android app?
Post by: HCP on June 30, 2021, 07:12:50 AM
Hi, I have some funds on an old wallet that only has legacy addresses. Unfortunately, Electrum does not accept legacy deposits.

I read that there is a way to create a legacy wallet on Electrum on the desktop.

How can I do this on the Android app?
While the Android app (like the desktop version) doesn't support creating legacy wallets by default... There is a way to force the desktop version to generate a "legacy" seed. You goto the console in the desktop app and use:
Code:
make_seed(seed_type="standard")

That'll give you something like this:
Code:
>>> make_seed(seed_type="standard")
"soap advice amused owner toast bacon sound giant submit must index glory"
>>>

and then you simply use the "I already have a seed" option when creating a "standard" wallet in the Android app and enter that seed. This will generate a legacy wallet full of "1-type" addresses :)


But, as others have noted, there is technically no reason that you can't send from ANY type of Bitcoin address to ANY other type of Bitcoin address... the limitations are generally just because the wallet devs haven't updated the wallet (be it web, desktop or mobile app etc) to support the bech32 (aka "bc1") addresses that Electrum defaults to.


Title: Re: Legacy Wallet on Android app?
Post by: BlackHatCoiner on June 30, 2021, 07:19:11 AM
Electrum does not accept legacy deposits.
It actually does; what it does not accept is legacy invoices. You can normally send BTC to a legacy address, what you can't do is generate one. May I ask why you want to generate one? You'll have to pay a greater fee for each transaction you make. The SegWit war didn't happen arbitrarily.  :P

But, to answer your question I think the Bitcoin Wallet (https://play.google.com/store/apps/details?id=de.schildbach.wallet&hl=en&gl=US), from play store, still allows you to generate those.


Title: Re: Legacy Wallet on Android app?
Post by: Charles-Tim on June 30, 2021, 07:51:09 AM
But, to answer your question I think the Bitcoin Wallet (https://play.google.com/store/apps/details?id=de.schildbach.wallet&hl=en&gl=US), from play store, still allows you to generate those.
I think using Iancoleman offline (https://iancoleman.io/bip39/) or best run the html file (https://github.com/iancoleman/bip39/releases/latest/) on airgapped device and select the BIP44 derivation path will be better. The seed phrase can be imported on Electrum while making sure the seedphrase correspond to the keys and addresses.

I have just downloaded Bitcoin wallet (https://play.google.com/store/apps/details?id=de.schildbach.wallet&hl=en&gl=US), I was unable to generate seed phrase, or is there anything I was getting wrong? I also press on the safety notes, this is what that popped up on the screen in the below image.

https://i.imgur.com/e5Byggh.png

If truly this wallet do not generate seed phrase, I do not think it should be a good wallet to use. Although, I saw something like in-app backup.

@undefinedd, you can send to segwit address from legacy or any other bitcoin address type, if that is the reason you want to generate a legacy Bitcoin wallet on Electrum, then do not bother, just generate segwit, you will be able to send to the segwit from the legacy address and also use use low fee during segwit transactions, the fee will be reduced by 42% to around 52% depending on your transaction input and output if compared to legacy.


Title: Re: Legacy Wallet on Android app?
Post by: ranochigo on June 30, 2021, 10:05:33 AM
I think using Iancoleman offline (https://iancoleman.io/bip39/) or best run the html file (https://github.com/iancoleman/bip39/releases/latest/) on airgapped device and select the BIP44 derivation path will be better. The seed phrase can be imported on Electrum while making sure the seedphrase correspond to the keys and addresses.

I have just downloaded Bitcoin wallet (https://play.google.com/store/apps/details?id=de.schildbach.wallet&hl=en&gl=US), I was unable to generate seed phrase, or is there anything I was getting wrong? I also press on the safety notes, this is what that popped up on the screen in the below image.

https://i.imgur.com/e5Byggh.png

If truly this wallet do not generate seed phrase, I do not think it should be a good wallet to use. Although, I saw something like in-app backup.
Nothing wrong with that wallet. Infact it is one of the earliest wallets for Android. They don't use BIP39 but the seed is contained within the backup in a different format. Just back it up like you would for a Bitcoin Core wallet.

I would strongly advise against generating seeds in browsers, moreso for browsers within mobile OSes. There is no guarantees whether the functions are executed correctly and Android hasn't historically been great with generating sufficient entropy either, fault lies more with the developers but still. It'll be far better to use the app that BlackHatCoiner mentioned, more well tested and straightforward to use.

If OP still prefers seeds, there are other wallets on Android which supports that. I'd rather choose a different wallet than going through so many hurdles to use legacy addresses on Electrum whilst exposing myself to so many attack vectors.


Title: Re: Legacy Wallet on Android app?
Post by: HCP on June 30, 2021, 10:16:50 AM
If truly this wallet do not generate seed phrase, I do not think it should be a good wallet to use. Although, I saw something like in-app backup.
The wallet does use a seed phrase... but it's not shown to the end user, and there is no way in the app to get it to display. However, it is possible to decrypt a wallet backup to get hold of the seed phrase.

If you create a wallet backup in the app, you can decrypt it using OpenSSL:
Code:
openssl enc -d -aes-256-cbc -a -md md5 -in bitcoin-wallet-backup-YYYY-MM-DD -out decrypted

This creates a decrypted copy of the binary wallet file named 'decrypted'... I believe it is a BitcoinJ compatible wallet file format. In any case, you'll be able to see the 12 word seed in plaintext shown at the top of the file like this:

Code:
head -5 decrypted
https://talkimg.com/images/2023/11/14/zFq6q.png

or use a text editor to view.


Alternatively, you can use something like this to extract the seed: https://github.com/gurnec/decrypt_bitcoinj_seed




Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on June 30, 2021, 07:31:20 PM
Thanks everybody for the answers. I don't know how to multiquote on this forum.

Basically, I have my funds in a Copay wallet, but I don't want to use that wallet anymore since its outdated and not very secure.

I downloaded Electrum since is one of the recommended in bitcoin.org, but the problem is I can't recover my wallet from Copay to Electrum because the seed is in another language.

So I thought of sending the funds from my old wallet to a new one in Electrum. Problem is, Copay does not send to the "bc1" address that Electrum gives me. I googled and it appears that, "bc1" addresses are bech32 ones, and the ones that start with a "1" are legacy ones.

Electrum gives me only "bc1" address for deposit. So I think I have to somehow create a "legacy wallet" on Electrum, right?

Is there other way to transfer my funds from my old Copay wallet to Electrum?

Electrum does not accept legacy deposits.
It actually does; what it does not accept is legacy invoices. You can normally send BTC to a legacy address, what you can't do is generate one. May I ask why you want to generate one? You'll have to pay a greater fee for each transaction you make. The SegWit war didn't happen arbitrarily.  :P

But, to answer your question I think the Bitcoin Wallet (https://play.google.com/store/apps/details?id=de.schildbach.wallet&hl=en&gl=US), from play store, still allows you to generate those.

I want to send funds from an old Copay wallet that only supports legacy addresses. I tried the Bitcoin Wallet but it doesn't have a mnemonic phrase, only a file to save your wallet. I feel like the mnemonic phrase is easier to store.


Title: Re: Legacy Wallet on Android app?
Post by: BlackHatCoiner on June 30, 2021, 07:36:22 PM
Thanks everybody for the answers. I don't know how to multiquote on this forum.
You can't.  :P

Electrum gives me only "bc1" address for deposit. So I think I have to somehow create a "legacy wallet" on Electrum, right?
Yes, there is. If you're on PC click on View —> Show Console and then type on it:
Code:
make_seed(seed_type="standard")

Take the seed that it'll return you, click on File —> New/Restore —> Next —> Standard Wallet —> I already have a seed —> enter it —> Next and there you have it. A hierarchical deterministic wallet with only legacy addresses.


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on June 30, 2021, 08:17:05 PM
Creating a seed on the PC version of Electrum and restoring it to your mobile wallet as HCP and BlackHatCoiner have suggested is probably the easiest solution to get a legacy wallet on your phone. There is no way to directly create a legacy wallet on the latest versions of the Android app. What you could do, however, if you have no access to a desktop computer, is uninstall your Android app (make sure you have the seed phrase to any wallets you have created first!), and then install a version from before 4.1.0, which is when the option to create legacy wallets was removed. Once you have created your legacy wallet, you can then update again to the latest version and your legacy wallet will still be accessible.

You'll need to download the appropriate .apk file to your phone from here - https://download.electrum.org/4.0.9/. You'll want the arm64 file for a 64 bit OS and armeabi one for a 32 bit OS. You'll then need to go in to your phone settings and allow "installing from unknown sources", or something similar, before executing the file.


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on June 30, 2021, 08:43:16 PM
Thanks everybody for the answers. I don't know how to multiquote on this forum.
You can't.  :P

Electrum gives me only "bc1" address for deposit. So I think I have to somehow create a "legacy wallet" on Electrum, right?
Yes, there is. If you're on PC click on View —> Show Console and then type on it:
Code:
make_seed(seed_type="standard")

Take the seed that it'll return you, click on File —> New/Restore —> Next —> Standard Wallet —> I already have a seed —> enter it —> Next and there you have it. A hierarchical deterministic wallet with only legacy addresses.

Creating a seed on the PC version of Electrum and restoring it to your mobile wallet as HCP and BlackHatCoiner have suggested is probably the easiest solution to get a legacy wallet on your phone. There is no way to directly create a legacy wallet on the latest versions of the Android app. What you could do, however, if you have no access to a desktop computer, is uninstall your Android app (make sure you have the seed phrase to any wallets you have created first!), and then install a version from before 4.1.0, which is when the option to create legacy wallets was removed. Once you have created your legacy wallet, you can then update again to the latest version and your legacy wallet will still be accessible.

You'll need to download the appropriate .apk file to your phone from here - https://download.electrum.org/4.0.9/. You'll want the arm64 file for a 64 bit OS and armeabi one for a 32 bit OS. You'll then need to go in to your phone settings and allow "installing from unknown sources", or something similar, before executing the file.

Ok, thanks to both. I guess I will have to download the desktop app. Once I create the wallet and transfer the funds there. Will I be able to transfer the funds in the future, out of that new wallet, using bench32 addresses? Or are those funds stuck to legacy addresses?

I didn't want to create the seed on the PC because it is easier to catch a malware there than on a phone I think, but I don't do anything weird on the PC so I guess I will be fine.


Also, what would be the safest way to create a seed for "long storage" (don't plan to use the funds in the near future) beside a hardware wallet? I can format a PC, install Windows from Microsoft, download Electrum for desktop, create the seed, format the pc again. Would that be "enough"?



Title: Re: Legacy Wallet on Android app?
Post by: BlackHatCoiner on June 30, 2021, 08:54:24 PM
Ok, thanks to both. I guess I will have to download the desktop app.
Download from the official site only and verify the signature: https://electrum.org/

Once I create the wallet and transfer the funds there. Will I be able to transfer the funds in the future, out of that new wallet, using bench32 addresses? Or are those funds stuck to legacy addresses?
Once you create an electrum wallet, you'll be able to send wherever you want. Whether it's legacy, bech32 or segwit nested (starting with “3”).

I didn't want to create the seed on the PC because it is easier to catch a malware there than on a phone I think, but I don't do anything weird on the PC so I guess I will be fine.
If you believe that your computer is maliciously affected, then don't. Use a laptop you believe it's better or format it. If these coins are significant to your wealth, then you surely wouldn't want to lose them that way.

Also, what would be the safest way to create a seed for "long storage" (don't plan to use the funds in the near future) beside a hardware wallet? I can format a PC, install Windows from Microsoft, download Electrum for desktop, create the seed, format the pc again. Would that be "enough"?
In a way. There are some extra steps you've skipped, but more or less, that's the procedure yes.


Title: Re: Legacy Wallet on Android app?
Post by: The Sceptical Chymist on June 30, 2021, 10:02:21 PM
Nothing wrong with that wallet. Infact it is one of the earliest wallets for Android.
Yeah, I remember that was one of, if not the first, wallets I ever downloaded for my Android.  It's from the same makers as the basic dogecoin wallet for Android if I'm not mistaken, and there's something about how you shouldn't receive payments from faucets because they have so many outputs and it can basically break the wallet. 

I created an Electrum wallet for the desktop version, and it was non-segwit when I did so.  But when I opened it the other day, all the addresses had changed to segwit ones--I thought that was very strange.  Anyone know why that happened?  I know it doesn't answer OP's question, but it's kind of related.


Title: Re: Legacy Wallet on Android app?
Post by: ranochigo on June 30, 2021, 10:27:06 PM
I created an Electrum wallet for the desktop version, and it was non-segwit when I did so.  But when I opened it the other day, all the addresses had changed to segwit ones--I thought that was very strange.  Anyone know why that happened?  I know it doesn't answer OP's question, but it's kind of related.
That isn't supposed to happen. Electrum doesn't convert their user's wallet, that would be kind of dumb. Considering that they've tried so hard to differentiate different kinds of wallets using their seeds. You might've opened the wrong wallet or something.


Title: Re: Legacy Wallet on Android app?
Post by: The Sceptical Chymist on June 30, 2021, 10:30:45 PM
I created an Electrum wallet for the desktop version, and it was non-segwit when I did so.  But when I opened it the other day, all the addresses had changed to segwit ones--I thought that was very strange.  Anyone know why that happened?  I know it doesn't answer OP's question, but it's kind of related.
That isn't supposed to happen. Electrum doesn't convert their user's wallet, that would be kind of dumb. Considering that they've tried so hard to differentiate different kinds of wallets using their seeds. You might've opened the wrong wallet or something.
Huh.  I actually named the wallet "Non Segwit" and created it to be such, so I'm not sure what happened.  I'll take a second look and try restoring the wallet from the seed phrase, but I'm 99.9% sure it should be non-segwit.  Weird.

Edit:  Nope, I checked the seed phrase and it matches.  That wallet was created as a non-segwit one, and I also noticed that creating a new non-segwit wallet isn't even an option anymore.  Are you sure Electrum would not be able to do that?

As already stated by ranochigo, it's impossible that your addresses change.
When it comes to eletrum's seed phrase, there is no way to create a segwit wallet from a seed generated for a legacy wallet at all.
As there's no doubt the two of you know far more than I do, I have no choice but to believe you.  I could swear that I created that wallet as a non-segwit one and even saw the address list, and all of them started with a "1".  No big deal since I had no funds in it, but I don't know what happened. 


Title: Re: Legacy Wallet on Android app?
Post by: hosseinimr93 on June 30, 2021, 10:44:49 PM
and I also noticed that creating a new non-segwit wallet isn't even an option anymore.  
In Electrum versions 4.1.0 and after that, you can't generate a legacy wallet using the GUI.
Of course, you can still import a legacy wallet (whether a BIP39 seed or a electrum's seed) into electrum. You can also generate a legacy seed phrase using console.

As already stated by ranochigo, it's impossible that your addresses change.
When it comes to eletrum's seed phrase, there is no way to create a segwit wallet from a seed generated for a legacy wallet at all.


Title: Re: Legacy Wallet on Android app?
Post by: BlackHatCoiner on July 01, 2021, 06:09:16 AM
Huh.  I actually named the wallet "Non Segwit" and created it to be such, so I'm not sure what happened.  I'll take a second look and try restoring the wallet from the seed phrase, but I'm 99.9% sure it should be non-segwit.  Weird.
What was your Electrum version? There were versions prior to the recent one, that allowed you to have legacy hierarchical deterministic wallets, but if you generated it as a legacy and then you restored it as a segwit, it does, indeed, sound weird. You're most probably the one who made a mistake. What I'm trying to think is what kind of mistake could that be...

Are you sure Electrum would not be able to do that?
I hope so, but you're swearing...  :P

What could have you done wrong, really? This would be a strong feedback to the electrum community; an achievement.  :D


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 01, 2021, 07:35:03 AM
I didn't want to create the seed on the PC because it is easier to catch a malware there than on a phone I think, but I don't do anything weird on the PC so I guess I will be fine.
Why not download and verify the desktop version, create a legacy wallet, send the funds there, then immediately send them out to a segwit mobile wallet, if that's where you want your coins to ultimately end up. Wait until the fees are lower to do this though if you are not in a hurry, to save yourself as much as possible on the two transactions.

Also, what would be the safest way to create a seed for "long storage" (don't plan to use the funds in the near future) beside a hardware wallet? I can format a PC, install Windows from Microsoft, download Electrum for desktop, create the seed, format the pc again. Would that be "enough"?
This all depends. What are you planning to do with the seed phrase once you have created it? Are you making a paper wallet? Do you want to import the seed phrase to a wallet you can access?
You are thinking along the right lines, but you have got some things incorrect. The OS you use should not be Windows, but rather an open source Linux distro. You shouldn't download anything to the computer after you have formatted it - it shouldn't even have an internet connection. You should remove any WiFi hardware and unplug any ethernet cables or similar before you start the process to ensure it is permanently disconnected from the internet. Any software, such as Electrum, should be downloaded and verified on a different device and then transferred to your airgapped device using a USB drive.


Title: Re: Legacy Wallet on Android app?
Post by: nc50lc on July 01, 2021, 08:12:57 AM
-snip-
Huh.  I actually named the wallet "Non Segwit" and created it to be such, so I'm not sure what happened.  I'll take a second look and try restoring the wallet from the seed phrase, but I'm 99.9% sure it should be non-segwit.  Weird.

Edit:  Nope, I checked the seed phrase and it matches.  That wallet was created as a non-segwit one, and I also noticed that creating a new non-segwit wallet isn't even an option anymore.  Are you sure Electrum would not be able to do that?
On which version did you created the wallet?
Because I'm thinking that this might be what happened if you're using Electrum v4.1.0+: In the "Install wizard", you typed "Non Segwit" as the wallet name due to the intention of creating a legacy Electrum wallet.
After selecting "Standard wallet->Create a new seed", there's no 'seed type' options since it was removed in that version but finished creating the wallet anyways.
Since it's v4.1.0, the created wallet is native SegWit regardless of the "Non Segwit" wallet name.

Perhaps you mistook the option "Standard wallet" as the option to create legacy wallet at that time?
Memory of seeing legacy addresses in the 'Addresses' tab may be a vague memory of you checking your other wallet.


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 01, 2021, 05:37:00 PM
I didn't want to create the seed on the PC because it is easier to catch a malware there than on a phone I think, but I don't do anything weird on the PC so I guess I will be fine.
Why not download and verify the desktop version, create a legacy wallet, send the funds there, then immediately send them out to a segwit mobile wallet, if that's where you want your coins to ultimately end up. Wait until the fees are lower to do this though if you are not in a hurry, to save yourself as much as possible on the two transactions.
I can download and verify the desktop version in my current PC, but how can I know that I don't have a keylogger or something like that. Although, if I had one, I probably would have my funds stolen from other sites by now.

Also, what would be the safest way to create a seed for "long storage" (don't plan to use the funds in the near future) beside a hardware wallet? I can format a PC, install Windows from Microsoft, download Electrum for desktop, create the seed, format the pc again. Would that be "enough"?
This all depends. What are you planning to do with the seed phrase once you have created it? Are you making a paper wallet? Do you want to import the seed phrase to a wallet you can access?
You are thinking along the right lines, but you have got some things incorrect. The OS you use should not be Windows, but rather an open source Linux distro. You shouldn't download anything to the computer after you have formatted it - it shouldn't even have an internet connection. You should remove any WiFi hardware and unplug any ethernet cables or similar before you start the process to ensure it is permanently disconnected from the internet. Any software, such as Electrum, should be downloaded and verified on a different device and then transferred to your airgapped device using a USB drive.

After I create the long hodl wallet, I would just delete it from the PC (well, I would format that pc) and just save the mnemonic phrase elsewhere.
Maybe save same public addresses to be able to send money there without having to re-entering the seed in an app again.

I understand the airgapped concept, I just don't have a spare PC. I would do this with my laptop that I don't use much, so I can format it, download app, create seed and format it again without losing anything important (unlike my desktop/primary PC).


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 01, 2021, 06:44:45 PM
I can download and verify the desktop version in my current PC, but how can I know that I don't have a keylogger or something like that.
By formatting. You can run virus scans, malware scans, run in a VM, and all the rest of it, and be pretty sure you are safe, but you will never be 100% sure there is no keylogger. The safest way will be to use an airgapped computer, permanently isolated from the internet, format it, and then install a verified open source OS, verified Electrum, and nothing else.

After I create the long hodl wallet, I would just delete it from the PC (well, I would format that pc) and just save the mnemonic phrase elsewhere.
Maybe save same public addresses to be able to send money there without having to re-entering the seed in an app again.
Yeah, this is a good way of doing it. Make sure you have more than one back up of your seed phrase, as you don't want to lose access to all your coins should you lose or damage that one back up. Also be careful how you restore your seed phrase when you come to spending those coins - again, you should ideally only restore it on an airgapped computer for maximum safety.

I understand the airgapped concept, I just don't have a spare PC. I would do this with my laptop that I don't use much, so I can format it, download app, create seed and format it again without losing anything important (unlike my desktop/primary PC).
That would be fine, provided you stay disconnected from the internet the entire time between the two formats and install your OS and Electrum from clean removable media.


Title: Re: Legacy Wallet on Android app?
Post by: The Sceptical Chymist on July 01, 2021, 06:48:36 PM
Perhaps you mistook the option "Standard wallet" as the option to create legacy wallet at that time?
Memory of seeing legacy addresses in the 'Addresses' tab may be a vague memory of you checking your other wallet.
No, it wasn't just that I named the wallet "non segwit".  I created it when you still could create the old-school kind of wallet where the addresses all started with a "1", i.e., non-segwit ones.  If there's no other logical explanation, I guess I must have made an error....but as I said, I could swear I looked at that address list after I created the wallet to verify that they weren't segwit addresses.  That's why I still find it strange.

On which version did you created the wallet?
I forget, but I did update the wallet at least once since I created that non-segwit wallet. 


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 01, 2021, 07:15:05 PM
I forget, but I did update the wallet at least once since I created that non-segwit wallet.
Updating Electrum wouldn't have updated the wallet file, though. Not only that, but it couldn't have updated the wallet file without changing the seed phrase, since Electrum generated seed phrases are specific for one type of address and one type of address only. A legacy Electrum seed phrase will never generate a segwit wallet, and vice versa. If the seed phrase you have backed up for that wallet was generated in Electrum (i.e. not a BIP39 seed phrase imported from somewhere else), then whatever type of address it restores now will be the same type of address it generated when first used.


Title: Re: Legacy Wallet on Android app?
Post by: hosseinimr93 on July 01, 2021, 07:21:47 PM
I guess I must have made an error....but as I said, I could swear I looked at that address list after I created the wallet to verify that they weren't segwit addresses.  That's why I still find it strange.
Just an assumption:
You opened an existing wallet in which all addresses start with 1.
You clicked on "File" and then "New/restore" and created a new segwit wallet.
Now you have two wallets (the one you just created and the one that already existed) open.
For checking the addresses, you looked at the wrong wallet.


Title: Re: Legacy Wallet on Android app?
Post by: nc50lc on July 02, 2021, 02:32:03 AM
Perhaps you mistook the option "Standard wallet" as the option to create legacy wallet at that time?
Memory of seeing legacy addresses in the 'Addresses' tab may be a vague memory of you checking your other wallet.
No, it wasn't just that I named the wallet "non segwit".  I created it when you still could create the old-school kind of wallet where the addresses all started with a "1", i.e., non-segwit ones.  If there's no other logical explanation, I guess I must have made an error....but as I said, I could swear I looked at that address list after I created the wallet to verify that they weren't segwit addresses.  That's why I still find it strange.
Okay, there's one instance that it could happen but that's for version <3.3.4 : electrum/issues/5082#issuecomment-461428986 (https://github.com/spesmilo/electrum/issues/5082#issuecomment-461428986)
But It won't fix itself to display the correct addresses after an update or next restart.
Try to check some of the addresses i they belong to your master key, open the console (View->Show Console) and type:
Code:
ismine('bc1address')
(including the quotation marks) and if the results are "true", then those are your seed's addresses and there's nothing wrong with the wallet.

Since you can't remember, let's leave it as "human error" because it's not logical to find a bug without enough/accurate info.


Title: Re: Legacy Wallet on Android app?
Post by: Pmalek on July 02, 2021, 09:46:42 AM
I have never used the Copay wallet, but what exactly is preventing OP to restore his wallet from seed and ticking the BIP-39 checkbox in Electrum? My guess is a different derivation path. Can't the correct derivation path be found somewhere online or by reaching out to the developers of the wallet?

What about this source for example for the derivation paths?
https://walletsrecovery.org/


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 02, 2021, 10:08:29 AM
I have never used the Copay wallet, but what exactly is preventing OP to restore his wallet from seed and ticking the BIP-39 checkbox in Electrum?
He said in an earlier post that his seed is in a different language, and so it wouldn't restore properly in to Electrum.

I do wonder if he could navigate to the wordlist directory for his desktop version of Electrum and replace the English BIP39 wordlist with the BIP39 wordlist of the necessary language, and then try restoring his seed phrase. Has anyone any experience of this? I'm not at my desktop at the moment otherwise I would just try it myself.

Edit: Actually, now that I think about it, the language shouldn't matter. Electrum only uses the wordlist when generating seed phrases, not when restoring them. OP should be able to restore his seed phrase regardless of the language. Electrum will be unable to confirm the checksum is correct without the wordlist, but that won't prevent him from restoring the wallet.


Title: Re: Legacy Wallet on Android app?
Post by: ranochigo on July 02, 2021, 11:00:21 AM
Ok, thanks to both. I guess I will have to download the desktop app. Once I create the wallet and transfer the funds there. Will I be able to transfer the funds in the future, out of that new wallet, using bench32 addresses? Or are those funds stuck to legacy addresses?

I didn't want to create the seed on the PC because it is easier to catch a malware there than on a phone I think, but I don't do anything weird on the PC so I guess I will be fine.
OP, if you really prefer Electrum over other wallets, then you can probably use an older APK to generate a legacy seed. Electrum stores the historical releases here: https://download.electrum.org/4.0.9/. Together with the signatures but I'm not sure how to verify PGP signatures on a mobile with a file. It shouldn't present much risks as long as you can validate the authenticity of a download, certainly more secure than Google Play anyways.


Title: Re: Legacy Wallet on Android app?
Post by: Pmalek on July 02, 2021, 12:46:19 PM
Edit: Actually, now that I think about it, the language shouldn't matter. Electrum only uses the wordlist when generating seed phrases, not when restoring them. OP should be able to restore his seed phrase regardless of the language.
With that in mind, he might have not tried to restore his Copay wallet in Electrum properly the first time. That's why it didn't work.

@undefinedd
When you tried to restore your seed in Electrum, did you click on the BIP39 checkbox in the settings menu? After you click on "I already have a seed", you will notice a gear icon above the box where you need to enter your seed. Click on it to get into the settings.

@o_e_l_e_o
What about the derivation path?


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 02, 2021, 01:43:45 PM
@o_e_l_e_o
What about the derivation path?
As far as I am aware, as long as his Copay wallet is not multisig, then it should follow the standard m/44'/0'/0' derivation path, so should restore no problem to Electrum. OP can always use the "Detect Existing Accounts" button if he is unsure.


Title: Re: Legacy Wallet on Android app?
Post by: HCP on July 03, 2021, 12:29:19 AM
I downloaded Electrum since is one of the recommended in bitcoin.org, but the problem is I can't recover my wallet from Copay to Electrum because the seed is in another language.
What language is the seed in? You should be able to simply import the seed directly into Electrum, at least the desktop version, to recover your wallet... you'll then be able to send from Electrum to any wallet that you choose.

Choose "I already have a seed", enter the seed, click "options" select BIP39... you'll probably get the "BIP39: unknown wordlist" warning... click next, select "Legacy" (or click "detect accounts")... it should create the wallet with the same addresses as CoPay (assuming your CoPay wallet wasn't a multisig).

I've done some quick tests... and Electrum seems to support BIP39 seeds in any of the languages that the Ian Coleman tool (https://iancoleman.io/bip39/) can create seeds in:
- English
- 日本語
- Español
- 中文(简体)
- 中文(繁體)
- Français
- Italiano
- 한국어
- Čeština
- Português

I was able to generate a 12 word seed in ALL of these languages and the addresses created were the same as displayed on the Ian Coleman tool.


Title: Re: Legacy Wallet on Android app?
Post by: The Sceptical Chymist on July 03, 2021, 12:58:40 AM
Try to check some of the addresses i they belong to your master key, open the console (View->Show Console) and type:
Code:
ismine('bc1address')
(including the quotation marks) and if the results are "true", then those are your seed's addresses and there's nothing wrong with the wallet.
I did that, and the result came back as false.  What does that mean, exactly?


Title: Re: Legacy Wallet on Android app?
Post by: nc50lc on July 03, 2021, 02:51:47 AM
Try to check some of the addresses i they belong to your master key, open the console (View->Show Console) and type:
Code:
ismine('bc1address')
(including the quotation marks) and if the results are "true", then those are your seed's addresses and there's nothing wrong with the wallet.
I did that, and the result came back as false.  What does that mean, exactly?
Whoa, that's unexpected.
If the used 'console' tab is from the same wallet where the addresses are copied, then the addresses truly changed,
ismine: "false" means that the address doesn't belong to the wallet or wasn't in the keypool yet.

If you can check all of the 20 "receiving" in the address tab and all result with "false", then there's certainly something wrong with that wallet.
Thankfully, you haven't used it.

Since you're uncertain when you've created the wallet, there wont be enough info to create a bug report in github.


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 03, 2021, 09:23:21 AM
-snip-
Thanks for testing that out. I'm stuck at work on mobile all weekend, and Electrum on mobile only lets you enter words from the BIP39 English wordlist.

Good to know it works as expected though. Since Electrum devs were all about not requiring a fixed wordlist for seed phrases, it makes sense I guess that they wouldn't enforce that on BIP39 seeds either. I've also since found a couple of closed GitHub issues where they confirm that the language does not matter:

https://github.com/spesmilo/electrum/issues/2691
https://github.com/spesmilo/electrum/issues/3552


Title: Re: Legacy Wallet on Android app?
Post by: The Sceptical Chymist on July 03, 2021, 02:37:35 PM
I did that, and the result came back as false.  What does that mean, exactly?
Whoa, that's unexpected.
Whoops--I screwed up and didn't enter one of the addresses from the wallet when I used the console, so forget what I wrote.  I just did, and the result came back as true.  The wallet is undoubtedly mine.  Thanks again for the tutelage, though, I appreciate it.  As a lot of people around here already know, I'm a complete moron when it comes to code and computing, so you just taught me something basic (and thanks again for that).

I wonder what happened to that wallet that I swore had the non-segwit addresses in it?  I'm certain I created one before the update that did away with them all, but all evidence points to me remembering things wrongly.  I had the seed phrase written down for the non-segwit wallet, and I've restored it from that phrase, yet all the addresses are segwit ones.  Looks like I didn't see what I thought I was sure I'd seen.  Yikes.

I apologize for derailing this thread with my foolishness but thank everyone who tried to help me out.


Title: Re: Legacy Wallet on Android app?
Post by: HCP on July 03, 2021, 10:26:45 PM
... and Electrum on mobile only lets you enter words from the BIP39 English wordlist.
That's good to know... I didn't think to try (actually, I was just too lazy to try because entering the words on the mobile is a pain in the ass! :P) creating wallets using non-english BIP39 seeds on the mobile version.

I'll file that piece of info away for future reference ;)


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 07, 2021, 07:01:31 PM
Sorry I was away for some days.

As someone already said, I can't import my seed because the phone wallet only allows english words. I don't know why make it like this tho. So yeah, I will have to create another wallet and transfer the funds there.

I didn't want to create the seed on the PC because it is easier to catch a malware there than on a phone I think, but I don't do anything weird on the PC so I guess I will be fine.
Why not download and verify the desktop version, create a legacy wallet, send the funds there, then immediately send them out to a segwit mobile wallet, if that's where you want your coins to ultimately end up. Wait until the fees are lower to do this though if you are not in a hurry, to save yourself as much as possible on the two transactions.

Also, what would be the safest way to create a seed for "long storage" (don't plan to use the funds in the near future) beside a hardware wallet? I can format a PC, install Windows from Microsoft, download Electrum for desktop, create the seed, format the pc again. Would that be "enough"?
This all depends. What are you planning to do with the seed phrase once you have created it? Are you making a paper wallet? Do you want to import the seed phrase to a wallet you can access?
You are thinking along the right lines, but you have got some things incorrect. The OS you use should not be Windows, but rather an open source Linux distro. You shouldn't download anything to the computer after you have formatted it - it shouldn't even have an internet connection. You should remove any WiFi hardware and unplug any ethernet cables or similar before you start the process to ensure it is permanently disconnected from the internet. Any software, such as Electrum, should be downloaded and verified on a different device and then transferred to your airgapped device using a USB drive.

Hey, I got my hand on an old laptop with the plan of making an "airgapped wallet". What open source Linux distro do you recommend? Or any tutorial you can point my at? Thanks!


Title: Re: Legacy Wallet on Android app?
Post by: BlackHatCoiner on July 07, 2021, 07:23:02 PM
As someone already said, I can't import my seed because the phone wallet only allows english words. I don't know why make it like this tho. So yeah, I will have to create another wallet and transfer the funds there.

Your seed is a BIP39 one, isn't it?

If you don't want to go with that way, which is not recommended unless you want to save some sats from the transaction fee, you should do the following;

1) Open bip-0039 (https://github.com/bitcoin/bips/tree/master/bip-0039).
2) Open two tabs, one will be the English wordlist and the other your language's wordlist.
3) Find the line of your first word from your language's mnemonic. Then go on that line from the english wordlist. That will be your english word. Redo it for every word.

Example:

(Your language's word)
https://i.imgur.com/DuYxHYx.png

(The english word of the same position)
https://i.imgur.com/fWmILbx.png


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 07, 2021, 07:27:20 PM
What open source Linux distro do you recommend?
Do you have any experience with Linux? If not, then Linux Mint is probably the most user friendly, especially if you are coming from a life of using Windows. Elementary OS is probably the best if you are more familiar with MacOS. If you think you can handle something a little more, then Ubuntu is probably the most well known and widely used distro.

If you want to go for maximum security and privacy for your airgapped wallet, though, then I would probably opt for Tails. There is a bit of learning curve here though, as Tails is designed to leave no traces behind and will not save anything between sessions unless you specifically set up persistent storage. Tails will automatically encrypt your persistent storage. You can read a guide here: https://tails.boum.org/doc/first_steps/persistence/index.en.html

If you don't use Tails, then you will need to look in to encrypting your wallet file some other way, as otherwise anyone who can gain physical access to your airgapped computer could steal all your coins.

I'm sure other users will completely disagree with me and can provide other recommendations though. Such is the nature of the myriad of Linux distros. :P



Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 07, 2021, 07:37:51 PM
As someone already said, I can't import my seed because the phone wallet only allows english words. I don't know why make it like this tho. So yeah, I will have to create another wallet and transfer the funds there.

Your seed is a BIP39 one, isn't it?

If you don't want to go with that way, which is not recommended unless you want to save some sats from the transaction fee, you should do the following;

1) Open bip-0039 (https://github.com/bitcoin/bips/tree/master/bip-0039).
2) Open two tabs, one will be the English wordlist and the other your language's wordlist.
3) Find the line of your first word from your language's mnemonic. Then go on that line from the english wordlist. That will be your english word. Redo it for every word.

Example:

(Your language's word)
https://i.imgur.com/DuYxHYx.png

(The english word of the same position)
https://i.imgur.com/fWmILbx.png

Oh, I see, I will try that so I don't have to generate a new seed. Maybe I should download the txt files to an offline computer just to be safe.
Thanks!

What open source Linux distro do you recommend?
Do you have any experience with Linux? If not, then Linux Mint is probably the most user friendly, especially if you are coming from a life of using Windows. Elementary OS is probably the best if you are more familiar with MacOS. If you think you can handle something a little more, then Ubuntu is probably the most well known and widely used distro.

If you want to go for maximum security and privacy for your airgapped wallet, though, then I would probably opt for Tails. There is a bit of learning curve here though, as Tails is designed to leave no traces behind and will not save anything between sessions unless you specifically set up persistent storage. Tails will automatically encrypt your persistent storage. You can read a guide here: https://tails.boum.org/doc/first_steps/persistence/index.en.html

If you don't use Tails, then you will need to look in to encrypting your wallet file some other way, as otherwise anyone who can gain physical access to your airgapped computer could steal all your coins.

I'm sure other users will completely disagree with me and can provide other recommendations though. Such is the nature of the myriad of Linux distros. :P



I never used Linux, but I can learn pretty quickly this kind of stuff. I will have to use the persistent storage otherwise the wallet would be deleted anytime I start the PC?

I don't think I need that kind of encryption anyway, right? The wallet has a simple password just in case anyone grabs my laptop for a couple of minutes.
And in the case the laptop gets stolen, I can just transfer the funds to another wallet if I want to be extra safe. Right?


Title: Re: Legacy Wallet on Android app?
Post by: hosseinimr93 on July 07, 2021, 08:05:37 PM
Oh, I see, I will try that so I don't have to generate a new seed.
For accessing your fund, you don't have to generate a new seed. But for storing your fund securely, you need to generate a new seed phrase and move all your fund to your new wallet.
I recommend you to follow BlackHatCoiner's suggestion to access you fund. After that, create a new wallet and move all your fund to it.
Since you are worry about security of your copay wallet (https://bitcointalk.org/index.php?topic=5346735.msg57356439#msg57356439), you shouldn't use the seed generated by that wallet anymore. You don't know whether your seed phrase has been stored on their server or not.


Title: Re: Legacy Wallet on Android app?
Post by: HCP on July 08, 2021, 01:46:27 AM
Ubuntu has the advantage of being quite popular so there are literally hundreds of guides around on how to install, configure and use it...

Are you considering using Electrum as your airgapped wallet? If so, the Electrum docs have an ok guide on how to set up the wallet side of things after you get your OS etc sorted. https://electrum.readthedocs.io/en/latest/coldstorage.html

Basically, you just create a "standard" wallet on the airgapped machine, then a "watching-only" wallet using the "xpub" on your online machine... It's not terribly difficult.

The real issue is making sure you properly airgap the machine (ensuring no networking/wifi etc after the OS is setup and BEFORE you create the wallets)



Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 08, 2021, 05:18:27 AM
Ubuntu has the advantage of being quite popular so there are literally hundreds of guides around on how to install, configure and use it...

Are you considering using Electrum as your airgapped wallet? If so, the Electrum docs have an ok guide on how to set up the wallet side of things after you get your OS etc sorted. https://electrum.readthedocs.io/en/latest/coldstorage.html

Basically, you just create a "standard" wallet on the airgapped machine, then a "watching-only" wallet using the "xpub" on your online machine... It's not terribly difficult.

The real issue is making sure you properly airgap the machine (ensuring no networking/wifi etc after the OS is setup and BEFORE you create the wallets)



Thanks for the link! Yes, I will use Electrum because of the standard and watch-only wallets. So then I can sign my transactions in the airgapped machine. I was just looking for a new wallet in bitcoin.org but if there is a better wallet for this I am all ears :)

My plan is to download (from another pc) Linux and the wallet to a pendrive, and install it that way. Remove the wifi adapter of the laptop so it can't go online.

If I use Electrum on the airgapped laptop and for some reason in the future I want to change the wallet app on my phone (the "watching-only" one). Can I do it? Or would I have to change the wallet on the laptop too? How compatible is this "watching-only" feature from Electrum to other wallets? Because I think I read that the xpub thing is an Electrum thing only.

Thanks


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 08, 2021, 08:48:26 AM
I never used Linux, but I can learn pretty quickly this kind of stuff. I will have to use the persistent storage otherwise the wallet would be deleted anytime I start the PC?
Sounds like Ubuntu is probably your best choice then.

And in the case the laptop gets stolen, I can just transfer the funds to another wallet if I want to be extra safe. Right?
Provided you have access to your seed phrase to recover your full wallet, then yes. Your watch only wallet cannot move any coins on its own.

If I use Electrum on the airgapped laptop and for some reason in the future I want to change the wallet app on my phone (the "watching-only" one). Can I do it? Or would I have to change the wallet on the laptop too? How compatible is this "watching-only" feature from Electrum to other wallets? Because I think I read that the xpub thing is an Electrum thing only.
xpubs are not unique to Electrum by any means. You should be able to change your phone wallet to any other piece of software which supports watch only wallets without issue, but many wallets do not provide this functionality.


Title: Re: Legacy Wallet on Android app?
Post by: HCP on July 09, 2021, 01:01:01 AM
While xpubs may not be unique... the derivation path for Electrum (m/0') arguably is. :-\

So, you would need to find a wallet that supports importing xpubs to create a watching only wallet and either allows you to specify a custom derivation paths, or supports the electrum specific derivation paths.


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 09, 2021, 09:56:58 AM
So, you would need to find a wallet that supports importing xpubs to create a watching only wallet and either allows you to specify a custom derivation paths, or supports the electrum specific derivation paths.
Correct me if I'm wrong, but it shouldn't matter.

Most of the time, when people talk about master public keys, they actually mean account extended public keys. Your actual master public key isn't actually that useful since the majority of wallets use hardened derivation somewhere in their standard derivation paths, meaning your master public key cannot generate these addresses.

When Electrum displays your xpub or zpub, it is displaying your account extended public key at either m for legacy (which is in fact your master public key) or at m/0' for segwit. It then derives addresses at /0/0 for both. If you import either the xpub or zpub to some BIP39 software, then it should assume that you have already used the path m/44'/0'/0' or m/84'/0'/0', and also derive addresses at /0/0.

If I create a new segwit Electrum wallet, take the zpub, go to Ian Coleman, paste it in to the BIP32 Root Key box, select BIP141, and then derive at m/0/0, the addresses match.


Title: Re: Legacy Wallet on Android app?
Post by: HCP on July 12, 2021, 08:59:27 PM
That's a good point... I guess it really depends on the specific wallet implementation and what they're doing. I haven't really experimented with using "other" apps to create watching wallets (at least not recently enough that my goldfish memory can remember), so I can't comment on an specific wallets.

I am most likely getting things backwards and remembering that you need to remember to use m/0/0 when taking xpubs and putting them into Ian Coleman's tool because they are account extended keys and not root keys! :P ::)


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 30, 2021, 10:43:17 PM
As someone already said, I can't import my seed because the phone wallet only allows english words. I don't know why make it like this tho. So yeah, I will have to create another wallet and transfer the funds there.

Your seed is a BIP39 one, isn't it?

If you don't want to go with that way, which is not recommended unless you want to save some sats from the transaction fee, you should do the following;

1) Open bip-0039 (https://github.com/bitcoin/bips/tree/master/bip-0039).
2) Open two tabs, one will be the English wordlist and the other your language's wordlist.
3) Find the line of your first word from your language's mnemonic. Then go on that line from the english wordlist. That will be your english word. Redo it for every word.

Example:

(Your language's word)
https://i.imgur.com/DuYxHYx.png

(The english word of the same position)
https://i.imgur.com/fWmILbx.png

Hello guys, I'm back.

I finally did everything you guys told me, I did this to translate my mnemonic phrase, the checksum was ok. I imported that into an airgapped laptop I have, then I went to wallet - information, and gather the master public key. In my android phone, I opened electrum - new - standard wallet -  use a master key, and put it there.

But the balance appears as 0 BTC.

What am I doing wrong?

In the offline wallet when I entered the translated phrase I used the BIP39 seed option, which I believe its what Copay used.

I still have access to my funds, so in the worst case scenario I can just transfer them to a new wallet. But I wanted to know how to use the offline/airgapped wallet/laptop so I can sign my transactions like this in the future.


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 30, 2021, 10:56:30 PM
I'm seeing online that the special characters might fuck the BIP39 seed phrase. Maybe its that, I will just create a new wallet and transfer the funds there I guess.


Title: Re: Legacy Wallet on Android app?
Post by: hosseinimr93 on July 30, 2021, 11:02:37 PM
What am I doing wrong?
In electrum, go to "Addresses" tab and check your addresses there. Are they same as the addresses Copay give you?
If no, the problem may be with the derivation path. There's a possibility that copay has generated the addresses on a different derivation path.

Note: If "Addresses" tab is not available in electrum, click on "View" at top of the window and select "Show addresses".


Title: Re: Legacy Wallet on Android app?
Post by: BitMaxz on July 30, 2021, 11:50:17 PM
Just adding this from the post above posted by hosseinimr93

If you can't find the right derivation path of your wallet you can use a tool like https://www.blockpath.com/r/Blockpath/comments/2r/blockpath_app_xpub_analyzer/

Since you already have the master public key you can paste it on that tool to find used addresses that includes all exact derivation path.


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 31, 2021, 12:04:47 AM
What am I doing wrong?
In electrum, go to "Addresses" tab and check your addresses there. Are they same as the addresses Copay give you?
If no, the problem may be with the derivation path. There's a possibility that copay has generated the addresses on a different derivation path.

Note: If "Addresses" tab is not available in electrum, click on "View" at top of the window and select "Show addresses".

Hello, thanks for the help. I guess I have to use "legacy" after inputing the seed right? Is the only one that gives me addresses with the "1" infront (all the addresses on Copay appear like this)

When I use the option "nativesegwit", it gives me addresses with bc1, and copay only shows "1"

And the other option gives addresses with a "3" infront.


So, I use legacy wallet option, but the addresses are not the same. In the Electrum app it only gives "unused" addresses ofc. But still not the same.


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 31, 2021, 12:11:07 AM
Just adding this from the post above posted by hosseinimr93

If you can't find the right derivation path of your wallet you can use a tool like https://www.blockpath.com/r/Blockpath/comments/2r/blockpath_app_xpub_analyzer/

Since you already have the master public key you can paste it on that tool to find used addresses that includes all exact derivation path.

I used the site with the "xpub" address that Electrum generates when choosing "legacy" wallet after importing the seed and it says "No Used Addresses Found :("


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 31, 2021, 12:22:34 AM
Ok, I found out that Copay also gives me the xpub address, and is different from the one I get from the Electrum offline wallet that I get from translating the seed phrase. So I guess something is not working there.

In Copay it says that the derivation strategy is BIP44.


Title: Re: Legacy Wallet on Android app?
Post by: nc50lc on July 31, 2021, 04:58:26 AM
-snip-
Hello guys, I'm back.

I finally did everything you guys told me, I did this to translate my mnemonic phrase, the checksum was ok. I imported that into an airgapped laptop I have, then I went to wallet - information, and gather the master public key. In my android phone, I opened electrum - new - standard wallet -  use a master key, and put it there.

But the balance appears as 0 BTC.

What am I doing wrong?
It's because it wont work in the first place.
In BIP39, the "mnemonic sentence" itself will be used to generate the seed (binary seed), not the 'entropy' where the words are based.
So if you translate them just based from the position in the wordlist, it will generate a valid seed phrase but an entirely different wallet.

What you want to do is to paste your BIP39 seed phrase to an offline instance of iancoleman's BIP39 tool (iancoleman.io/bip39/ (https://iancoleman.io/bip39/), read "Offline usage").
Then select BIP44 tab below, and copy "Account Extended Private Key" that starts with "xprv".
Use that to restore your wallet to your Electrum by selecting: "Standard wallet->Use a master key" and it should generate the same set of addresses as long your Copay wallet is using the default derivation path for BIP44.

(see when you change language in 'BIP39 tool', it uses the same entropy to translate the seed phrase in other language but the "BIP39 Seed" below it changes)


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 31, 2021, 06:21:38 AM
-snip-
Hello guys, I'm back.

I finally did everything you guys told me, I did this to translate my mnemonic phrase, the checksum was ok. I imported that into an airgapped laptop I have, then I went to wallet - information, and gather the master public key. In my android phone, I opened electrum - new - standard wallet -  use a master key, and put it there.

But the balance appears as 0 BTC.

What am I doing wrong?
It's because it wont work in the first place.
In BIP39, the "mnemonic sentence" itself will be used to generate the seed (binary seed), not the 'entropy' where the words are based.
So if you translate them just based from the position in the wordlist, it will generate a valid seed phrase but an entirely different wallet.

What you want to do is to paste your BIP39 seed phrase to an offline instance of iancoleman's BIP39 tool (iancoleman.io/bip39/ (https://iancoleman.io/bip39/), read "Offline usage").
Then select BIP44 tab below, and copy "Account Extended Private Key" that starts with "xprv".
Use that to restore your wallet to your Electrum by selecting: "Standard wallet->Use a master key" and it should generate the same set of addresses as long your Copay wallet is using the default derivation path for BIP44.

(see when you change language in 'BIP39 tool', it uses the same entropy to translate the seed phrase in other language but the "BIP39 Seed" below it changes)

Thanks, that was it! It worked perfectly.

It kinda sucks that Electrum uses a different type of seed. I would love to use a more "common standard" just in case I want to use a different wallet in the future.

Is it a good idea to add an extra word to the seedphrase? Like a really easy word that I won't forget, so someone that came across my seed (and knows what those words are) wouldn't be able to just open his phone and steal my funds right away.


Title: Re: Legacy Wallet on Android app?
Post by: nc50lc on July 31, 2021, 06:53:56 AM
Is it a good idea to add an extra word to the seedphrase? Like a really easy word that I won't forget, so someone that came across my seed (and knows what those words are) wouldn't be able to just open his phone and steal my funds right away.
You're talking about a new wallet right?

That is the actual use-case of the "seed word extension" so, yes.
But I'd make a separate offline backup of the passphrase (the extra word) just in case because it's not really reliable to keep it "in brain" alone.


Title: Re: Legacy Wallet on Android app?
Post by: undefinedd on July 31, 2021, 06:59:50 AM
Is it a good idea to add an extra word to the seedphrase? Like a really easy word that I won't forget, so someone that came across my seed (and knows what those words are) wouldn't be able to just open his phone and steal my funds right away.
You're talking about a new wallet right?

That is the actual use-case of the "seed word extension" so, yes.
But I'd make a separate offline backup of the passphrase (the extra word) just in case because it's not really reliable to keep it in one's memory alone.

Yes, a new wallet. I want to create a new wallet in this airgapped laptop to be completely sure nobody knows the seed phrase.


Any thoughts on generating a BIP39 mnemonic sentence with for example the Ian Coleman tool (in the offline laptop ofcourse)? So if in the future I want to use another wallet I could just import that phrase? Or I should just stick with the "Electrum mnemonic sentence" and the Electrum wallet? And in the future if I want to change wallet I would just transfer all the funds I guess.

Thanks for the help


Title: Re: Legacy Wallet on Android app?
Post by: nc50lc on July 31, 2021, 07:06:56 AM
Any thoughts on generating a BIP39 mnemonic sentence with for example the Ian Coleman tool (in the offline laptop ofcourse)? So if in the future I want to use another wallet I could just import that phrase? Or I should just stick with the "Electrum mnemonic sentence" and the Electrum wallet? And in the future if I want to change wallet I would just transfer all the funds I guess.
In the developers' notes, Electrum's seed is better than BIP39's (reference: electrum.readthedocs.io/en/latest/seedphrase (https://electrum.readthedocs.io/en/latest/seedphrase.html#:~:text=BIP39%20was%20introduced,addresses%20these%20issues.))

The only disadvantage is you wont be able to restore the seed phrase to other wallets that doesn't support Electrum seed.
That's a minor issue since you can always export the private keys of the addresses with balance
or the master private key (through the console, most wallets can import this) if needed.


Title: Re: Legacy Wallet on Android app?
Post by: o_e_l_e_o on July 31, 2021, 08:39:15 AM
Is it a good idea to add an extra word to the seedphrase? Like a really easy word that I won't forget, so someone that came across my seed (and knows what those words are) wouldn't be able to just open his phone and steal my funds right away.
It is a good idea to add an extra word, phrase, or string for additional security, but I wouldn't make it a "really easy word". If someone performs a simply dictionary attack, then they could brute force it in a matter of seconds. At the very least I would choose a few words, and add some additional numbers or symbols to increase the entropy. As with all passwords, ideally you would want to use a completely random string, something along the lines of ["N8&#L9@~.c+\yp, but I also realize most people don't do that. Backing it up on paper separately from your seed phrase is a must.