Wallets are necessary to store, send, and receive cryptocurrency. And not all wallets offer the same functionality and security.
Note that this is a rapidly developing space where wallet features change regularly, so bookmark this page and check back regularly for updates. Like other cryptocurrency issues, the amount of outdated and incorrect information on wallets is huge. Cryptocurrency users beware!
The discussion below begins by emphasizing the risks involved with cryptocurrency. Next, we will introduce some terminology needed to safely use wallets. An overview of each type of wallet follows. Finally, we reveal our recommendation for the best wallet type and offer some advice on selecting a cryptocurrency wallet.
Although there are similarities between cryptocurrency and fiat currency, there are differences that must be understood to safely use cryptocurrency. At this point in time, wallets are far from idiot-proof and are not nearly as intuitive as say mobile phones which can be used without reading a manual. This, combined with the common perception that cryptocurrency is funny money, can lead to disastrous consequences.
To be blunt, failure to understand the information below can result in an irreversible loss of your money. The following are examples of people who lost significant amounts of money because of avoidable mistakes:
Below are some terms related to wallets and cryptocurrency in general.
Private key - a piece of data that is kept secret by the owner of the cryptocurrency; it allows the owner, or any unauthorized use who gains access to it, to transfer the cryptocurrency
Public key - a piece of data that is generated based on the private key; it is held within or accessed by the wallet to be publicly included in the transaction, thereby allowing the recipient or another node within the network to verify the transaction
Address - in Bitcoin and other cryptocurrencies, a piece of data generated by performing a hash of the public key and encrypting the result using the private key; it is used to send and receive cryptocurrency
Change address - an address that the "change" or remaining portion of a transaction is sent to; it is not the address that the transaction originates from
Cold storage - the offline storage of one or more private keys using, for example, a computer that is not connected to the internet, certain hardware wallets, certain storage media such as a USB drive, paper wallets, and non-computerized physical items
Hot storage - the online storage of one or more private keys using, for example, a computer that is connected to the internet
Types of wallets
The main types of wallets are discussed below. The focus will be on Bitcoin since it is the most popular at this point, but the concepts apply to most any cryptocurrency.
Paper wallets are pieces of paper, or some other material or object, containing an address (in the form of text and/or a QR code) and a private key (also in the form of text and/or a QR code). The private key may be unencrypted or encrypted (requiring entry of a password to use) for higher security. Paper wallets may be used to store and receive cryptocurrency, but require another type of wallet to send cryptocurrency.
Paper wallets may be generated by hand or by computer. A popular website for generating paper wallets is bitaddress.org. It does not require sign up or entry of any personal information, and only requires you to move your mouse around until the percentage counters reach 100%. You can then select whether you want to encrypt the private key or not. Below are examples of paper wallets created at bitaddress.org – the first has an unencrypted private key and the second has an encrypted private key.
Although paper wallets seem simple, they should not be used by beginners. Most of the security issues, including possible loss of cryptocurrency, occur during the transfer of the private key to another type of wallet for sending. Methods of transferring the private key include "importing" and "sweeping."
Importing involves loading the private key onto the non-paper wallet, and sweeping involves loading the private key onto the non-paper wallet and then transferring the funds to another address associated with a different private key such that the private key of the paper wallet is no longer used to secure any funds. Accordingly, sweeping is more secure than importing, but sweeping involves paying a transaction fee and requires some amount of time as the transaction must be confirmed. Nonetheless, sweeping is strongly recommended in all cases.
Paper wallets must be appropriately secured. They are commonly placed in safes, safe deposit boxes, etc. Another option is to store an image of the paper wallet on a USB drive or other media. The file can be encrypted for additional security.
Online wallets, sometimes referred to as "web wallets," allow the storage, sending, and receiving of cryptocurrency via a web interface. They are considered to be "hot wallets" since your private keys are stored on their remote servers which are connected to the internet.
Online wallets are much less secure than software or hardware wallets since your private keys can be compromised during storage on the remove servers or during the transmission between your local machine and the remote servers holding the private keys. Accordingly, they should only be used, if at all, to store smaller amounts of cryptocurrency for shorter periods of time.
Security feature such as private key encryption, multi-factor authentication, and multi-signature should be used whenever possible. Most online wallet providers offer some or all of these security features.
Some common online wallets include:
- Blockchain.info (they offer a mobile wallet too)
Third-party cold storage (TCS)
A new type of wallet is emerging that involves a third-party implementing "cold storage" of the private keys for your funds. These are often lumped in with online wallets, but we feel the differences warrant creating a new category of wallets which we dub "third-party cold storage" or "TCS" wallets.
With TCS wallets, you transfer the funds to the provider and they store your funds like a bank. This addresses the security concerns of online wallets or web wallets since it does not require transmission or storage of your private keys, thereby in theory making it as secure as a transfer of cryptocurrency itself.
The primary risk with these services is loss of funds if the service goes out of business. Another concern is how well the "cold storage" is implemented, and whether the service will insure loss of funds should a security breach occur. These issues should be thoroughly researched before deciding on a third-party cold storage provider.
Some third-party cold storage or TCS wallet providers include Xapo and Bitcoin Wallet.
Similar to online wallets, software wallets allow users to store, send, and receive cryptocurrency. They are generally considered to be more secure than online wallets. Software wallets can function as "hot wallets" where the private keys are stored on the device running the software wallet, or alternatively, can be used to implement "cold storage" where they are used in conjunction with hardware wallets that store the private keys. They can be either desktop wallets or mobile wallets.
Desktop wallets are downloaded and installed on desktop computer systems. Private keys are either stored on the computer system running the desktop wallet or in a hardware wallet. Most desktop wallets are made for a variety of operating systems such as Windows, macOS, and Linux. They come in two basic flavors: full nodes; and Simplified Payment Verification (SPV) nodes also referred to as lightweight nodes/clients, lite nodes/clients, or thin nodes/clients.
Full node wallets are the most secure type of desktop wallets because they utilize a complete version of the blockchain. However, as a consequence, they require more resources and are slower. An example of a full node desktop wallet is Bitcoin Core (https://bitcoin.org/en/bitcoin-core/).
Unlike full node desktop wallets, SPV desktop wallets do not download a full version of the block chain. They are therefore, in theory, less secure and offer lower privacy since they rely on full nodes to validate transactions. With that said, SPV desktop wallets are faster and require fewer resources than full node desktop wallets.
Some SPV desktop wallets can be used with hardware wallets. This offers greater security than using a SPV desktop wallet alone.
Electrum, Exodus, and Armory are examples of SPV desktop wallets.
Mobile wallets are downloaded and installed on mobile devices. Private keys are either stored on the mobile device running the mobile wallet or in a hardware wallet. Although most mobile wallets are made for both the Android and iOS platforms, the Android mobile wallets offer greater compatibility with hardware wallets.
Examples of mobile wallets include Airbitz, Bitgo, btc.com, BreadWallet, Copay, GreenAddress, Jaxx, and MyCelium.
Hardware wallets are standalone electronic devices that store private keys. They are used in conjunction with desktop computers or mobile devices which run the software wallets used to view balances and execute transactions. Hardware wallets connect to desktop computers and mobile device using USB interfaces. They do not connect directly to the internet, and therefore, are considered to provide "cold storage" of private keys.
Below are some of the most popular hardware wallets.
Ledger Nano S
So which wallet type is the best?
Hardware wallets used with compatible software wallets offer the best of all worlds - very good security, good user experience, and reasonable convenience. From a security perspective, the only competitor to the hardware/software combination is a full node desktop wallet. However, full node desktop wallets alone are unable to implement "cold storage" and are generally incompatible with hardware wallets. Therefore, the hardware/software wallet combination seems to be the winner.
Hardware wallets also provide good security in case they are lost/stolen or malfunction. Most allow recovery of private keys using a seed phrase, which will allow recovery of funds using another hardware or software wallet.
It is important to select a hardware wallet that is compatible with your desired cryptocurrencies. Below are links to the current cryptocurrency compatibility lists for the more popular hardware wallets and the compatible coins as of December 1, 2017.
- KeepKey cryptocurrency compatibility (as specified on that page)
- Ledger Nano S cryptocurrency compatibility (as specified on that page)
- Bitcoin Cash
- Ethereum Classic
- XRP aka Ripple
- ERC20 tokens
- Trezor cryptocurrency compatibility (as specified on that page)
- Bitcoin Cash
- Ethereum Classic
- ERC-20 Tokens
- Bitcoin Testnet
It is also important to consider the software wallet compatibility for each hardware wallet. Below is information for the most popular hardware wallets.
- according to the manufacturer, only the Google Chrome browser extension can be used
- Ledger Nano S software wallet compatibility
- scroll down to the "Ledger Applications on Your Computer" and "Third-Party Applications on Your Computer" sections
- Trezor software wallet compatibility
From those options, it is advisable to pick a software wallet for use with the hardware wallet that provides security features such as multi-factor authentication and multi-signature.