Author

Topic: How to transfer Bitcoins to Electrum offline ? (Read 274 times)

newbie
Activity: 7
Merit: 0
October 10, 2018, 02:35:44 PM
#18
Thank you all !!! You were a big help.

Trial and error...that's how people progress  Grin
legendary
Activity: 1624
Merit: 2481
The 2FA isn't necessary anyways if your keys are hold on the offline machine.

Is the reverse true: can I safely use a 2FA wallet online ? (this would be easier) or is it not that safe ?

You are free to use whatever you want.
A 2FA wallet is a multisig wallet with 2 out of 3 signatures required.

The process is like this:
- Your wallet generates 2 out of 3 private keys, TrustedCoin creates the 3rd key.
- Your seed will be your backup for those 2 private keys.
- Your wallet deletes one private key, so that it holds only 1 key now

When you want to transact, you are signing your transaction with your 1 private key and after verifying 2FA through GA or whatever, TrustedCoin co-signs your transactions making it valid.

Obviously this is more secure than simply holding all private keys on an online computer. However i would never regard this being anywhere as secure as an offline setup.


If you are looking for a good tradeoff between security and convenience, you might want to get a hardware wallet.
Those can be plugged in to online and/or infected computers, while always keeping the private keys in a secure environment not leaking anything.


Back to your question, you can do this. It is safer than a 'normal' desktop or mobile wallet. However it is by far not as safe as an offline setup or a hardware wallet.




Wouldn't it be easier if I create a new "standard" offline wallet, then send directly my coins to this new_offline_wallet using my current 2fa offline_wallet (that I would put online to send the coins and then delete right after the transaction)?

That would probably be the easiest way to move your coins to a new (true) offline-setup.
legendary
Activity: 3710
Merit: 1586
Just so we are clear the coins you sent from coinbase are not in your 2fa wallet. The watch only wallet corresponds to a single sig wallet and not a multisig 2fa wallet. You need to follow that guide in the first link i posted above in order to get access to your coins. You can then send them to a new standard wallet if you like.

If I connect my 2fa wallet online, then I should receive the coins, since it corresponds to the address I sent it to.
And I don't need to restore the 2fa wallet the way the link describes it. Correct ?

Thanks

No you sent to a single sig address not a 2fa address. The address you sent to begins with 1 right? The addresses in your 2fa wallet are p2sh ones that begin with 3. You need to follow the instructions in that guide. You can do 1-3 offline. From 4 onwards it would be easier to create the wallet with the xprv on your online device and then transfer the coins using that to a new wallet.

If you don't want to do 4 onwards online you can do it all on the offline device. However, to spend the coins on the online watch-only wallet create an unsigned transaction on the send tab, click preview and then click export to save it to a removable drive, carry that to the offline system, open the single sig wallet (the one created with the xprv from the 2fa wallet), load it via tools > load transaction > from file, click sign to sign it, export the signed transaction to a file on the removable drive, carry the signed transaction to the online device, load the signed transaction via tools > load transaction > from file and click broadcast.
newbie
Activity: 7
Merit: 0
Just so we are clear the coins you sent from coinbase are not in your 2fa wallet. The watch only wallet corresponds to a single sig wallet and not a multisig 2fa wallet. You need to follow that guide in the first link i posted above in order to get access to your coins. You can then send them to a new standard wallet if you like.

If I connect my 2fa wallet online, then I should receive the coins, since it corresponds to the address I sent it to.
And I don't need to restore the 2fa wallet the way the link describes it. Correct ?


From the link you sent, does this operation happens online or offline ?
Quote
On your desktop do as follows:
1. Restore your wallet from your 2fa seed. Choose ...


Thanks
legendary
Activity: 3710
Merit: 1586
What is the interest of using a watch_only version of a 2fa wallet, since the original wallet needs to be online anyway, due to the 2fa ?

Some people like to be able to view their wallet from multiple devices. A watch only version of your wallet lets you do that without risking any of the co-signer xprivs.

Quote
Wouldn't it be easier if I create a new "standard" offline wallet, then send directly my coins to this new_offline_wallet using my current 2fa offline_wallet (that I would put online to send the coins and then delete right after the transaction) ?

If you prefer that then go for it.

Just so we are clear the coins you sent from coinbase are not in your 2fa wallet. The watch only wallet corresponds to a single sig wallet and not a multisig 2fa wallet. You need to follow that guide in the first link i posted above in order to get access to your coins. You can then send them to a new standard wallet if you like.
newbie
Activity: 7
Merit: 0
you can not make a 2FA wallet offline. you need to be online so that your wallet can connect to the 2FA servers so that they can set up the second key for signing transactions for you. your offline wallet is most probably something else. a multi signature perhaps? when you choose from menu: "Wallet > Information" what does it show you as "wallet type"?

Yes, I have setup the wallet as 2fa....online. And since the creation it is offline. Reason is that I was not sure that the seed can be created offline... Can it ?



The 2FA isn't necessary anyways if your keys are hold on the offline machine.

Is the reverse true: can I safely use a 2FA wallet online ? (this would be easier) or is it not that safe ?


Only a handful of people have fucked things up this badly. Here's how you get access to your coins. In step 3 I mean the xpub you used to create the watch-only wallet.

In future if you want to create a watch-only version of a 2fa wallet follow this guide.


What is the interest of using a watch_only version of a 2fa wallet, since the original wallet needs to be online anyway, due to the 2fa ?



Wouldn't it be easier if I create a new "standard" offline wallet, then send directly my coins to this new_offline_wallet using my current 2fa offline_wallet (that I would put online to send the coins and then delete right after the transaction) ?



legendary
Activity: 3710
Merit: 1586
Thank you all for your help.

I checked the Master Public Keys of my offline_wallet - there are 3 keys - and I made sure that the one I used for my watch_only is the cosigner 1.

I deleted the watch_only wallet and re-created it with this cosigner 1 key... same issue, different addresses (the watch_only all start with 1, the offline all start with 3).
 
 There is an error window every time I open my offline wallet (seems to be a connection error - expected since I'm offline, could that be ?).
Also, I have setup my offline_wallet with a "2fa" as wallet type (and "p2sh" as script type). And I have setup my wacth_only wallet as "standard" with p2pkh" script type. Could that be the issue that the type of wallet differs (one being a 2fa and the other a standard) ?

When I try to re-create a watch_only wallet with 2fa, it asks for my seed. Since this watch_only is online, I am not sure I want to do this.
If I ask to generate a new seed, then it's a complete new wallet  Huh

Only a handful of people have fucked things up this badly. Here's how you get access to your coins. In step 3 I mean the xpub you used to create the watch-only wallet.

In future if you want to create a watch-only version of a 2fa wallet follow this guide.

legendary
Activity: 1624
Merit: 2481
Also, I have setup my offline_wallet with a "2fa" as wallet type (and "p2sh" as script type). And I have setup my wacth_only wallet as "standard" with p2pkh" script type. Could that be the issue that the type of wallet differs (one being a 2fa and the other a standard) ?

When I try to re-create a watch_only wallet with 2fa, it asks for my seed. Since this watch_only is online, I am not sure I want to do this.
If I ask to generate a new seed, then it's a complete new wallet  Huh

Yes, this caused your issue.

You need to either create a 'standard' wallet (it doesn't matter whether legacy (addresses starting with 1..), nested segwit (p2sh, starting with 3..) or bech32 (native segwit, starting with bc1..),
or create a multisignature wallet (address starting with 3..).

Your 2FA wallet is a multisig wallet, but needs an online connection to the 2FA-service-provider (TrustedCoin) since you are not holding the necessary amounts of keys inside of it.
The 2FA isn't necessary anyways if your keys are hold on the offline machine.

If you don't need a multisig wallet, but only want a 'normal' cold wallet just create a standard wallet without 2FA / multisig on your offline machine.
Then click on 'Wallet' -> 'Information' and import the shown master public key (starting with xpub.. ) into your electrum on the online machine (File -> New -> Standard Wallet -> Use a master key -> Enter your xpub..).
legendary
Activity: 3472
Merit: 10611
Also, I have setup my offline_wallet with a "2fa" as wallet type (and "p2sh" as script type). And I have setup my wacth_only wallet as "standard" with p2pkh" script type. Could that be the issue that the type of wallet differs (one being a 2fa and the other a standard) ?

you can not make a 2FA wallet offline. you need to be online so that your wallet can connect to the 2FA servers so that they can set up the second key for signing transactions for you. your offline wallet is most probably something else. a multi signature perhaps? when you choose from menu: "Wallet > Information" what does it show you as "wallet type"?

and yes both your online and offline wallet need to be the same type!

Quote
Did you use the xpub of your cold wallet to create your watch-only wallet ?

what is xpub ?

it is a master public key which will help the (online watch only) wallet create all your addresses similar to your offline wallet but without needing the private keys to do so.
it is found in same place i told you above: "Wallet > Information" and it starts with the letters "xpub".
newbie
Activity: 7
Merit: 0
Enter the 'Addresses'-tab and search for the address. Or enter the console (View -> Show console) and enter:

Code:
ismine("YOUR_ADDRESS")

If it returns true you are fine.
If it somehow returns false and/or you can't find your address from the watch-only wallet in your cold wallet, you somehow might have messed up when setting up your wallets.

It does return false

Quote
Did you use the xpub of your cold wallet to create your watch-only wallet ?

what is xpub ?
newbie
Activity: 7
Merit: 0
Thank you all for your help.

I checked the Master Public Keys of my offline_wallet - there are 3 keys - and I made sure that the one I used for my watch_only is the cosigner 1.

I deleted the watch_only wallet and re-created it with this cosigner 1 key... same issue, different addresses (the watch_only all start with 1, the offline all start with 3).
 
 There is an error window every time I open my offline wallet (seems to be a connection error - expected since I'm offline, could that be ?).
Also, I have setup my offline_wallet with a "2fa" as wallet type (and "p2sh" as script type). And I have setup my wacth_only wallet as "standard" with p2pkh" script type. Could that be the issue that the type of wallet differs (one being a 2fa and the other a standard) ?

When I try to re-create a watch_only wallet with 2fa, it asks for my seed. Since this watch_only is online, I am not sure I want to do this.
If I ask to generate a new seed, then it's a complete new wallet  Huh


legendary
Activity: 3234
Merit: 5637
Blackjack.fun-Free Raffle-Join&Win $50🎲
Lucius,

I did use the Master Public Key from my offline_wallet to create the watch_only wallet, but the "receive" addresses are different.
The watch_only wallet is connected and the transaction has 44 confirmations.

This is good news then, just use bob123 advice and check if address (to which you received transaction) from watch-only wallet is also part of your offline wallet - if this is the case everything is in perfect order.

I know that you are focus on your cold/offline wallet, but you can not see that transaction for a simple reason - that wallet does not have internet access so balance can not be updated. Cold wallet is just keeping safe your private keys in an isolated environment (no internet). Now you can use your offline wallet to sign transaction and then your watch-only wallet to send that transaction on blockchain.

legendary
Activity: 1624
Merit: 2481
I have then noticed that the receive_address on the watch_only wallet differs from the one of the offline_wallet.

Enter the 'Addresses'-tab and search for the address. Or enter the console (View -> Show console) and enter:

Code:
ismine("YOUR_ADDRESS")

If it returns true you are fine.
If it somehow returns false and/or you can't find your address from the watch-only wallet in your cold wallet, you somehow might have messed up when setting up your wallets.

Did you use the xpub of your cold wallet to create your watch-only wallet ?



- How will I be able to see the transaction to be received on my offline_wallet ?

You will be able to see them in your watch-only wallet. But you will be able to watch them only. Therefore "watch-only".



- How is it even possible to send some coins to a watch_only (since I get the possibility to send the coins to the watch_only address) ?

Public keys (and therefore also 'addresses') can be derived using the master public key. But to spend all the coins on these addresses, you need the corresponding master private key (stored only inside of your offline wallet).
Therefore you can safely watch your wallet and derive new addresses to receive new transactions, while to actually use or spend the coins you need to use your offline wallet.
legendary
Activity: 3710
Merit: 1586
Electrum will hand out a different address for every transaction because that's better from a privacy and security stand point. That doesn't mean that your older addresses stop "working" or that funds sent to them are not received. Electrum keeps track of all your addresses past, present and future Smiley So what you should do is go to view menu > show addresses, press ctrl+f and start typing in the first few characters of that address you used on coinbase. It should show up on the addresses tab.
legendary
Activity: 3808
Merit: 1723
If there are no spent transactions on both your online and offline wallets then your "Addresses" and "Change Addresses" should be identical.

Basically go to your Addresses tab on both your online and offline wallets and compare, they should be the same.

Usually when you start making transactions then Electrum online will generate new addresses so each address is used once for privacy and those might not show up on the offline PC because it doesn't have a sync'd blockchain.

But since you just made this wallet, the addresses should match.

Good that you've tried it with a small amount for testing purposes.
newbie
Activity: 7
Merit: 0
Lucius,

I did use the Master Public Key from my offline_wallet to create the watch_only wallet, but the "receive" addresses are different.
The watch_only wallet is connected and the transaction has 44 confirmations.
legendary
Activity: 3234
Merit: 5637
Blackjack.fun-Free Raffle-Join&Win $50🎲
Hello,

I am a complete rookie in the Bitcoin world and would need a bit of help.
I have created an online Electrum Watch_Only wallet using the Master Key of my offline_wallet (running on Tails - offline).
I have bought some Bitcoins on Coinbase, and have sent them over to the offline_wallet (transaction still pending...for 20 min -  Sad, it was a small amount to try it out).

I have then noticed that the receive_address on the watch_only wallet differs from the one of the offline_wallet.
- How will I be able to see the transaction to be received on my offline_wallet ?
- How is it even possible to send some coins to a watch_only (since I get the possibility to send the coins to the watch_only address) ?

Also, if I understand correctly I will have to transfer the coins from the watch_only to the offline_wallet to keep them safe and vice versa (to transact them further to other users or sell them). But how to make sure that it gets the coins transferred safely since I have to save some transaction files on a USB stick for example for every movement from one wallet to the other, while the USB stick will be connect to the online world at some point (when I load it to/from the watch_only) ? Is there no risk of virus ?


Thanks,
Nikky.

First you need to know that your coins are actually on blockchain and you only have private keys to access that coins in order to spend them.

To create cold wallet in Electrum first step is to create wallet on offline PC/device and then use Master Public Key from this wallet ( Wallet - Information ) to create Watch-Only wallet on online PC/device by selecting Standard Wallet - Use Public or Private Keys. When you do this steps you should have two identical wallets, one offline (cold wallet) and one online (watch-only).

Main reason to use such setup is to protect your wallet to get hack since it is always offline and to have watch-only wallet to broadcast signed transaction from your cold wallet.

In your case you send coins from Coinbase to address which should be associated to your offline and watch-only wallet ( if they share same Master Public Key), and you can see that transaction only on watch-only wallet. If you not see your coins in watch-only wallet there is few reason for that :

- Watch-Only wallet is not sync - check if dot in righ corner of wallet is red or green.
- Coinbase is not send transaction - check for transaction details (TXID) and enter it there: https://www.blockchain.com/explorer
- Your offline and watch-only wallet do not share the same Master Public Key.
newbie
Activity: 7
Merit: 0
Hello,

I am a complete rookie in the Bitcoin world and would need a bit of help.
I have created an online Electrum Watch_Only wallet using the Master Key of my offline_wallet (running on Tails - offline).
I have bought some Bitcoins on Coinbase, and have sent them over to the offline_wallet (transaction still pending...for 20 min -  Sad, it was a small amount to try it out).

I have then noticed that the receive_address on the watch_only wallet differs from the one of the offline_wallet.
- How will I be able to see the transaction to be received on my offline_wallet ?
- How is it even possible to send some coins to a watch_only (since I get the possibility to send the coins to the watch_only address) ?

Also, if I understand correctly I will have to transfer the coins from the watch_only to the offline_wallet to keep them safe and vice versa (to transact them further to other users or sell them). But how to make sure that it gets the coins transferred safely since I have to save some transaction files on a USB stick for example for every movement from one wallet to the other, while the USB stick will be connect to the online world at some point (when I load it to/from the watch_only) ? Is there no risk of virus ?


Thanks,
Nikky.
Jump to: