This post covers Ethereum wallets those pieces of software, or hardware, that allow us to interact with the Ethereum network. I will explain what Ethereum wallets are in detail, cover the different types available and also recommend the best wallets for beginners and advanced users.

Ethereum wallets allow you to hold Ether as well as to write smart contracts. Beginners will be better off using wallets that do not allow smart wallet functionality as they are much simpler to use. The best Ethereum wallets for beginners are:

If you are looking for a smart contract wallet (also known as a full node) take a look atMist. For even more Ethereum wallets take a look atchapter 5 Popular Ethereum wallets.

If you want a complete, non technical explanation of how Ethereum and Ethereum wallets work keep on reading. Heres what Ill cover:

At its core, an Ethereum wallet, also known as a client, holds your private key the secret password that gives you control over your coins. It also supplies you with a public Ethereum address which people can use to send you Ethereums currency known as Ether.

Ethereum addresses are long strings of letters and numbers starting with a 0x. Heres an example:

This is as far asBitcoin walletsand Ethereum wallets go in terms of similarities.

Many non technical users think of Ether as a currency in the same sense they viewBitcoin. Theybuy Etherin hopesits pricewill rise, they pay for stuff with Ether and more. However, Ether wasnt designed for the same purpose as Bitcoin.

If youve watched our video What is Ethereum? you know that Ethereum is a network of independent computers working together as one supercomputer. This super computer executes pieces of code known as contracts (orsmart contracts).

Interacting with contracts requires more complex communication than just send X amount of money from Y to Z like Bitcoin does. Ethereum wallets are the tool we use for this communication . In order to truly understand Ethereum wallets we need to first understand how Ethereum is built.

The most basic type of account in Ethereum is called an EOA. Similar to how a Bitcoin wallet operates, EOAs have an Ethereum address that is controlled by a private key.

A person can open as many EOAs as he likes. Additionally to send and receive Ether, EOAs have the ability to create contracts and trigger them.

Contract accounts are accounts thathave code (aka a smart contract) associated with them. Every contract deployed to the Ethereum network has its own account which includes a unique Ethereum address. However, unlike an external account a contract account doesnt have a private key that controls it.

The code that defines the contract includes a set of pre defined triggers which control the account. In other words, the conditions to control how the contract operates are hard coded from the get-go.

Similar to EOAs, contract accounts can receive Ether, and if triggered, send Ether or even create additional contract accounts (if they were programmed to do so).

Its important to note that contracts cant be changed once they have launched so the author must be very thorough in drafting the conditions for each trigger.

EOAs can interact with other EOAs and with contracts through messages. These messages are wrapped inside transactions which are paid for in Ether. So while in Bitcoin transactions are used only to transfer value, Ethereum transactions are used for a variety of reasons:

The simplest form of transaction, sending Ether between accounts.

Creating  a new contract is done by sending a transaction that includes the contracts code.

Sending a transaction can also activate a specific contract to perform an action. For example when you send money to anICOscontract account address youre actually activating a contract that sends you tokens in return (more on tokens here).

Now that you understand how Ethereum is built and that transactions are in fact used to help accounts talk to each other we can move on to Ethereum wallets.

Some wallets will only allow you to transfer value (i.e. send Ether between accounts). Other wallets will allow you to also deploy or trigger a contract. These wallets are known as Smart contract wallets.

Similar to Bitcoin, wallets are sometimes referred to as clients or nodes. There are two types of clients full clients and light clients

A full node is a computer that holds the entire Ethereumblockchainhistory, since its inception until this day. Running a full node has disadvantages like increased memory and computer usage, however it allows you to verify transactions on the Ethereum blockchain without needing to trust anyones word for it.

Full nodes are an integral part of the Ethereum network as they are the muscles of the network, that help execute contracts in a decentralized manner. Each node that receives a new block of transactions also executes the code inside these transactions.

There are different programs to help you run an Ethereum full node. The most common ones are Geth and Parity.

Geth Short for Go Ethereum. Developed by the Ethereum Foundation (A non-profit organization established to develop the code and community for Ethereum). Geth is the most popular and widely used program.

Mist-Since Geth is a tool made for developers Mist was created in order to allow non technical users to interact with it. So while technically youre using Geth, Mist provides you with an easy user interface to talk to it.

Parity A private company based in London whose mission is to enable businesses and organizations to capitalize on blockchain technology. They developed software to run full nodes for Ethereum and are considered the second most popular full client.

Just for reference, at the time of  this article there are3794 nodes running Geth and 3239 nodesrunning Parity. All full nodes are smart contract wallets meaning they can deploy smart contracts to the Ethereum network.

Light nodes, similar to Bitcoins SPV wallets, are programs that rely on 3rd party full nodes in order to get information when needed rather than holding a full copy of the blockchain. This means they require less space and can operate on devices with limited space, such as mobile phones.

Day to day Ethereum users users will usually use light nodes as their wallet since its easier to install and operate. If you dont intend to write smart contracts any time soon you can use any type of light wallet listed below for the most user friendly experience.

There are many popular Ethereum wallets on the market. Here are some of the more popular wallets out there.

If youre serious about security I suggest storing your Ethereum on ahardware wallet. A hardware wallet is a piece of hardware that store your private key offline. When you want to send  Ether you connect the device to your computer and conduct the transaction securely.

While being the most secure way to store your coins, hardware wallets arent free and cost anywhere between $50-$100 (shipping not included). Also, hardware wallets are not smart contract wallets by design, they can only send and receive Ether and ERC-20 tokens.

Todays leading hardware walletsTREZOR,LedgerandKeepKeyall supply you with the option to store Ethereum on them. Heres myTREZOR review, heres myLedger Nano S Reviewand heres myKeepKey review. They are all great choices but I personally use a Ledger.

MyEtherWallet(or MEW for short) is a site that makes the experience of interacting with Ethereums blockchain easier. It is one of the first Ethereum light wallets, it is open-source and its a smart contract wallet.

You can access MEW through your internet browser. When using MEW, you can send & receive Ether,ERC20 tokensand evenEthereum Classic. Also, its important to know that the private key for MEW is stored on your computer in an encrypted file and not on the website. Meaning MEW doesnt have access to your coins.

Security-wise, there are some things to look out for. Using a web browser as an interface opens a door to two types of attacks:

Phishing A fraudulent attempt to steal your private keys by impersonating the website.

DNS attacks Redirecting your internet activity to an alternative malicious server, usually on public WiFi.

You can use MEWs interface to control your hardware wallet and then use it as smart contract wallets as well.

MetaMaskis a browser extension that can be used on Chrome, Firefox and Brave. It can hold Ether and ERC-20 tokens only. It has a built-in coin purchasing mechanism and even has Hierarchical Deterministic (HD) settings meaning your wallet can create an almost infinite amount of addresses.

Similar to MEW, MetaMask is open source, however unlike MEW,  the private keys are stored on your browser in an encrypted way including password protection and are not downloaded to your computer.  MetaMask is not a smart contract wallet.

Exodusis a Bitcoin and Altcoin desktop wallet with beautiful design and an intuitive interface. The wallet can be used purely for sending and receiving Ether and is not a smart contract wallet.Ive reviewed the wallet in the pastand thought it was one of the best Ive found so far.

When it comes to limitations for exodus keep in mind that its not 100% open source.  Many components inside Exodus are open source, but not all of them. This means that the code is not fully reviewed by the community.

Also the wallet is currently available only in a desktop version (no mobile version yet). Exodus supports only ETH and not ETC (Ethereum Classic). Exodus is a non-custodial wallet that stores the private key on your machine and not on any external server. This means you have full control (and full responsibility) over your coins.

Edgeis a multi-currency, open source mobile cryptocurrency wallet. Thanks to the open source development of the product, Edge is considered to be exceptionally secure. On top of that, Edge also offers beginner friendly features, such as a list of businesses that accept bitcoin. Edge is available for both iOS and Android.

For those of you who wish to store Ethereum offline and not use a hardware wallet you can print out an Ethereumpaper wallet. MyEtherWallet allows you to print an Ethereum paper wallet just like the one you have in Bitcoin. Similar , the site will create a private and public key pair with the click of a button. You can then print out this information and store it in a safe place so no external hacker will be able to get your coins.

One more option thats available is to encrypt your private key so that if you or anyone else wants to use the coins they will need to know the password to decrypt it.

You should NEVER share your private key with anyone. In the image above my private key is publicly exposed but its because there are no coins in this wallet. The minute someone knows your private key he has control over your coins.

Using ETHaddress will probably be a relatively secure way of storing Ethereum. However, ETHaddress can be used only with Ethereum (not Ethereum Classic). Also, if you ever want to use your coins for payment or to send them to someone else you will need to import the keys into an online wallet (e.g. Exodus, Edge) and only then will you be able to use them.

While Bitcoin can be divided into 100,000,000 units withthe smallest unit called a Satoshi, Ether can be divided into 1,000,000,000,000,000,000 units (1 quintillion) with the smallest one called Wei. Wei is named after Wei Dai, a cryptography activist who is known for supporting widespread use of strong cryptography and privacy-oriented technologies.

Fees for transactions, which we will discuss in a moment, are usually calculated in Giga Wei or GWei. So 1,000,000,000,000,000,000 Wei equals 1 Ether and 1,000,000,000 Wei equals one GWei.

There are also other names for different amounts of Wei, all named after famous cryptographers, as shown in this table:

In Bitcoin, to send a transaction we need to add aminers feeto it. This way, we incentivize the miners to include it in ablock. In Ethereum, we must keep miners incentivized as well, for their contribution of computing power to the Ethereum supercomputer.

Just like a car, the Ethereum network runs on Gas. Each line of code that needs to be executed by the network will take up a certain amount of gas. Run out of Gas and the code stops running.

You specify how much Gas youre going to use upfront, and you cant refuel on the way. If your contract runs out of Gas because its written inefficiently or you miscalculated, it will just stop in the middle of the road. This system motivates Smart contract programmers to keep their code lean and optimized, since Gas costs money as we will soon learn.

Well, it goes to the miners as they are the ones investing computing power in order to update the ledger of Ethereum transactions (similar to what goes on in Bitcoin).

Gas isnt something you can own, its just a unit of account to measure how much work is needed to run a line of code. Think of it as the equivalent of hours of labour.

Gas is paid in Ether, Now I know what youre thinking why not just price execution of smart contract in Ether, why do we need another virtual currency?

Well, Ethers price is constantly changing, and if we priced contracts in Ether the price would be different each time we calculated it due to the fluctuating exchange rate. Imagine wed price painting our house at 2 Ether, sometimes it would cost us $1000 and other times $2000. With Gas, running the same contract several times will always bring back a fixed amount of Gas to be paid just like painting the same house takes the same amount of hours every time.

So how much gas do you need to run a line of code? Easythere are predefined amounts for each action you want to run in your code (an example can befound here). For example, sending Ether from one address to the other requires 21,000 gas units.

Now comes the tricky part. The price of 1 gas unit changes all the time depending on how crowded the network is. The same way an hour of labor would cost more if many people are looking for employees the Gas price rises when the network is crowded.

The standard gas price is around 0.00000002 Ether (or 20 GiGa wei). You can consider this the average salary on the market for an hour of labor.

If the Ethereum network is very busy and you want your contract to get priority in execution over other contracts you may over bid the gas price so that miners will have an incentive to include your contract in the next block. Youre basically saying Im willing to increase your pay per unit of labor so youll give my work priority.

This is similar to how Bitcoin transaction fees rise when the network is crowded. You can checkthe current standard Gas price of the network here.

When sending out transactions in Ether you must specify a gas limit meaning how much gas are you willing to pay at max for running our lines of code. This is done in order to protect you from depleting your funds in case your code has an error and runs endlessly and inefficiently.

You pay the gas limit upfront and theres no option for refueling. If you overpaid youll get refunded, if you underpaid the contract will just stop in the middle.

So you choose how many units of gas and how how much to pay for each unit. If you dont use enough units no miner will pick up your transaction since it doesnt have enough gas from the get go. If, on the other hand, you choose enough units of gas but underpay for them it may take a lot of time for your transaction to go though.

In Ethereum, fees are a general term that refers to the gas used multiplied by the gas price you were willing to pay. In other words the hours of labor times the wage per hour. The higher youre willing to pay for gas the more Ether the miners will compete for running your code and the faster your transaction will be included in the blockchain.

Keep in mind that if an operation ran out of gas mid way it will halt (just like your car) and no Ether will be returned to you (just like a gas station doesnt refund you even if you didnt have enough gas to get where you want to go). This can happen if for example your contract needs to do some recurring function that keeps on consuming gas and finally runs out.

Ethereum software wallets can be downloaded online to your desktop or mobile (in the form of an app). Ethereum hardware wallets need to be ordered online from the manufacturing company (Ledger, TREZOR, etc.). You have to full list of sites at the top of this post in the Ethereum wallet summary section.

There are many Ethereum wallets out there and its hard to define who is the best since each user has different needs. Personally, if youre storing a large amount of Ethereum Id recommend using theLedger Nano X. If youre just playing with a small amountExodusis great.

Make sure you have enough money to cover the amount sent and for 21,000 gas units (standard transaction cost).

Go to send in your wallet and enter the recipient address

Wait for the transaction to be confirmed (takes around 15 seconds).

Hopefully by now you have a better understanding of Ethereums wallets, accounts, gas and also the various wallets you can choose from. As you probably noticed Ethereum is a lot more complicated than Bitcoin. Dont worry, it gets worse 🙂 but Ill be here to see you through it all.

My suggestion to you, if youre just starting out is to pick a wallet from this page (preferebly a software wallet for faster setup) and start playing with a small amount of Ether. Nothing will teach you more than actually conducting your first Ethereum transaction.

You may still have questions. If so, just leave them in the comment section below.

Dummy-proof explainer videos enjoyed by over 100,000 students. One email a day for 7 days, short and educational, guaranteed.

We hate spam as much as you do. You can unsubscribe with one click.

I am looking for a best wallets and use it in my project. I am looking at an opportunity of creating my own online casino. However, I want it to be special, so I am thinking, that I should build it on a blockchain technology and I would use smart contracts in order to transfer money to and from my casino. I was looking for similar casinos, but nobody uses this kind of technology.*link removed*

great to all I know you must be doing a good job for those who understand what you are talking about. Cheers

Did you check out Fetch ). Its new. A desktop wallet that is super simple to use and also makes trading tokens possible with just one click. You see prices on 20+ exchanges and can make the trade with one click right from your desktop.

You speak clearly and distinctly, but it seems one needs to be a very well educated programmer to understand what you are talking about. I have been hoping to regain some of the small fortune that I have lost, but this information is on Mars while I am still on earth. I know you must be doing a good job for those who understand what you are talking about. Cheers

What is your review of the Bitfi wallet? Seems the best of all hardware wallets to me.