There are several options for storing Ether :

Accounts

Wallet

In short there are a lot of options. So my question is is there an official recommended way of securely storing Ether?

If the answer is 'Multi-signature' how should this be backed up (both files & printing the wallet address on paper) and how should the accounts which control the wallet be created and backed up.

  • related question: ethereum.stackexchange.com/questions/1216/… – Paul S Feb 11 '16 at 2:08
  • @JackWinters: I think it's close to being criminal that people consider that a website is an acceptable way to create a paper wallet. For all we know, even if the site looks fair, one time out of 50 it may decide to send a backdoored version to the user. The website could also be hacked and serve a backdoored version to anyone visiting the site during the compromise timeframe, etc. There are secure ways to create paper wallets. Using a website ain't one of them. – Cedric Martin Feb 17 '16 at 1:37
  • A lot has changed since I first asked this question so we probably need some updated answers and some meta discussion. e.g. Should the accepted answer be a community wiki. (This would make it more live but it could also potentially introduce additional security risks since someone could edit the wiki to link to malware or to include deliberate bad advice) – JackWinters Dec 7 '16 at 21:25
up vote 28 down vote accepted

I believe the Ethereum team recommends using official clients, like Mist or Geth. This makes sense.

I recommend that people use whatever tool they can understand best and use with confidence. I do NOT believe that recommending someone who has never used command line to use geth. There's too much room for error and it deters people from investing and getting involved.

Regardless of what tool you use to create an account/wallet, you should always safely store all of the necessary information in multiple places. Multiple places means multiple physical locations. If your house burns down, that computer and piece of paper are both gone.

For example: on your computer, on a USB at your house and a safety deposit box, and written on a piece of paper at your office.

Here is a list of wallets I've put together.

Official

Hardware

  • Ledger Nano S - has a chrome extension / app or MyEtherWallet.com

  • Trezor - via MyEtherWallet.com

Unofficial

  • MyEtherWallet.com: (founded by me) GUI, Client-Side, Website, Can be Downloaded, Open-Source, Supports ETH, DAO, DGD. Also has Chrome Extension

  • Exodus: Desktop, multi-asset wallet with ShapeShift integration

  • Jaxx: GUI, Multi-Platform (chrome extension, phone apps, etc), Client-Side, Partially Open-Source, Supports multiple currencies

No Longer Maintained

  • Eth (c++ implementation): Command Line, Official

  • Icebox: by christianlundkvist @ ConsenSys, Primarily for Cold Storage, Downloaded, Open-Source

  • EthAddress.org: by ryepdx, GUI, Client-Side, Website, Can be Downloaded, Open-Source

  • ethereumwallet.com: By Kryptokit, GUI, Website, no longer under development (see Jaxx)

  • EtherLi: Multi-sig Ethereum Web Wallet, GUI, Website, online

Regardless of which wallet, you need to...

  1. Create a new wallet.

  2. Back the wallet up in at least two physically different places. (Having a USB drive in your desk drawer where you computer is does not count as 2 different places).

    • Mist: Backup Keystore file & password. Read here.
    • Jaxx: Backup mnemonic seed.
    • MyEtherWallet: Backup keystore file + password or private key or paper version. Read #2a or #2b (cold storage) here.
  3. Verify you have access to this new wallet and have correctly backed up all necessary information.

    • This means sending & receiving a small amount and verifying that the private key or seed or keystore file you have on your backup device is actually correct. No use in having a backup if it contains the wrong information.
  4. Finally, you can transfer Ether to this new wallet.

The safest way to store Ether and other altcoins (BTC, LTC, XRP, ETC) to date are hardware wallets such as Ledger Wallet.

Owning one, I can say that the experience is painless and the security is beyond anything the web has to offer.

While I don't know specifically how its security works, private keys are stored encrypted on a secure tamper-proof chip inside the device.

An interesting feature is that you can afford to lose the device itself, as long as you keep the list of secret words you used when creating the wallet.

More info here

  • Pretty much this, more about hardware wallets here. – Afri Dec 8 '16 at 10:29
  • hey mate, could you please give me more info on this? So you just store your coins / private key on the device ? how can you access to them after a few years? – Karoly Mar 25 '17 at 10:08
  • @Karoly I think it only stores a series of private key and a public key. The coins aren't on the device, because you can afford to lose the usb key (as long as you still have your passwords). – Stanislasdrg Mar 28 '17 at 9:19

There's no official recommendation, but the go-ethereum team (behind geth) is committed to ensuring keys created by it will be supported in future versions. The keystore used by geth has strong passphrase encryption and has been through a couple security audits.

Simply backing up the .ethereum/keystore folder is enough - would recommend multiple physical backups.

The wallet promoted by ethereum.org is the official Mist based one which is linked on Ethereum site.

  • Pros: Official, multiplatform, generic support for smart contracts, open source.
  • Cons: Slow to sync (have to load the whole chain), sometime slow or freezing when contracts have a high update rate (The DAO during first weeks is a good example), not easy to understand how it works, non mobile computer only (Windows, Linux, Mac).

If you want an online wallet I would tell you to use my Ether Wallet which is also great to be used offline on air-gapped computers.

  • Pros: JS client side only, can be used offline to sign transactions on an air gapped computer, nice design, easy to use, open source.
  • Cons: needs a browser, you have to reload your accounts keys each time (but I also see it as a security feature)

For your Android device, I recommend Jaxx.

  • Pros: mobile app, nice and usable, HD addresses available, manages Ether and Bitcoin int the same app.
  • Cons: can't interact with smart contracts (for the moment), not open source.
  • @eth why did you merge my answer to this question ? I don't think is answers to the question as I'm not providing any information about storage safety. This was just a list of three different wallet types that have good reputation. If I answered about a secure way to store ether I would have focused on cold paper wallet, fire and water proof safes, multisig wallet contracts, encrypted usb keys and airgapped computers. – Nicolas Massart May 25 '16 at 11:38
  • 1
    This is the canonical question about wallets (maybe it could be edited better, like a single question). I don't think the answer is lacking; it (or question) can be edited as you desire. – eth May 25 '16 at 16:24
  • If this aims to be a thread about wallet, then lets make it a community wiki. Done. – Nicolas Massart May 25 '16 at 16:52

Note: As the author of this post, I also authored a slight revision of this into the Official Homestead Documentation.

I think if you are looking for a combination of ease-of-use and very good security, then a Mist multisignature wallet is your best bet. The Ethereum Foundation has (and still is) putting hundreds of thousands of dollars into Mist and it's underlying components, so they are as safe, reliable, and secure as possible.

It's very easy to create / backup account files in Mist. In the 'Accounts' section click 'Add Account'. Pick a strong yet easy-to-remember password (remember there is no password recovery option), confirm it, and your account is created. Create at least 2 accounts. Then click 'Backup' in the top menu. Choose the 'keystore' folder, opposite-click on it / choose 'copy' (do NOT choose 'cut', that would be very bad). Navigate to your desktop, opposite-click in a blank area and choose 'paste'.

Now that you have copied your account keys, you can back them up. You may want to rename this new copy of the 'keystore' folder to something like 'Ethereum-keystore-backup-year-month-day' so you have quick recognition of it later. At this point you can then add the folder contents to a zip / rar file (and even password-protect the archive with another strong yet easy-to-remember password if backing up online), copy it to a USB Drive, burn it to a CD / DVD, or upload it to online storage (Dropbox / Google Drive / etc).

You now need to add approximately no less than 0.02 ETH to your primary account (the account you will initiate creation of a multisig wallet with). This is required for the transaction fee when you create the multisig wallet contract.

You will be entering the full addresses of all the accounts you are attaching to this multisig wallet, when you create it. I recommend copying / pasting each address into a plain text editor (notepad / kedit / etc), after going to each account's details page in Mist, and choosing 'copy address' from the right-side column of buttons.

We are now ready to create the multisig wallet. Under 'Wallet Contracts', select 'Add Wallet Contract'. Give it a name, select the primary account owner, and choose 'Multisignature Wallet Contract'. You will see something like this appear:

This is a joint account controlled by X owners. You can send up to X ether per day. Any transaction over that daily limit requires the confirmation of X owners.

Set whatever amount of owners (accounts) you are attaching to this multisig wallet, whatever you want for a daily withdrawal limit (that only requires one account to withdrawal that amount), and how many owners (accounts) are required to approve any withdrawal amount over the daily limit.

Now add the addresses of the accounts that you copied / pasted into your text editor earlier, confirm all your settings are correct, and click 'Create' at the bottom. You will then need to enter your password to send the transaction. In the 'Wallet Contracts' section it should show your new wallet, and say 'creating'.

When wallet creation is complete, you should see your contract address on the screen. Select the entire address, copy / paste it into a new text file in your text editor, and save the text file to your desktop as 'Ethereum-Wallet-Address.txt', or whatever you want to name it.

Now all you need to do is backup the 'Ethereum-Wallet-Address.txt' file the same way you backed up your account files, and then you are ready to load your new multisig wallet with ETH using this address.

If you are restoring from backup, simply copy the files inside the 'Ethereum-keystore-backup' folder over into the 'keystore' folder mentioned in the first section. FYI, you may need to create the 'keystore' folder if it's a brand new install of Mist on a machine it was never installed on before (the first time you create an account is when this folder is created). As for restoring a multisig wallet, instead of choosing 'Multisignature Wallet Contract' like we did before when creating it, we merely choose 'Import Wallet' instead.

Update: A couple folks I've talked to have had a few minor issues setting up Mist that are fairly easy fixes...

1) Mist won't sync. One solution that works well is syncing your PC hardware clock with an NTP server so the time is exactly correct...then reboot.

2) Mist starts after syncing, but is a blank white screen. Chances are you are running the "xorg" video drivers on a Linux-based OS (Ubuntu, Linux Mint, etc). Try installing the manufacturer's video driver instead, here is a guide for Ubuntu-based OSes.

3) "Wrong password" notice. This seems to be a false notice on ocassion, related possibly to syncing with peer nodes or something. I have encountered this one myself once. I restarted Mist and the problem went away.

I agree with Mist multisig. One feature that is nice about this is you can create a contract wallet with 2 account owners and set a small daily limit. Then leave one account in your keystore on your computer and take the other account and store it off-line. That way if there is ever a compromise they cant empty your contract but can only take the daily limit. If you want to remove more than the daily limit you have to approve with the other account (but can you do this on a different computer). Obviously, you have to store both passwords safely.

The number of possible wallets is increasing:

  1. Etherwall.com a open source wallet offering two modes: Full node or Thin client both using a local geth.exe plus a remote node to be able to display a full transaction history for accounts (not so easy in Ethereum wallet or Mist today) as well as to use the Thin client.
  2. Exodus.io multi asset wallet with ShapeShift integration

Everybody needs to find his/her most trusted wallet(s), so it is less a question of recommendation then of gained experience and trust in the different available wallet offerings available today.

protected by Afri May 15 '17 at 9:07

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.