If you’ve ever looked into buying or trading Ethereum and other ERC20 tokens before, then you’ve probably heard the word MetaMask mentioned. If you already know what MetaMask is and how to use it, then feel free to skip this article. But for those of you who have been wondering just what MetaMask is, then this guide was made for you.

What is MetaMask?

If I had to summarize MetaMask in one sentence, it would be this. MetaMask is a browser extension that acts as both a wallet and a way for you to interact with the Ethereum network. That’s why MetaMask comes up a lot when looking into ICOs as many ICO projects are launched on the Ethereum network and only accept ETH during the ICO.

Let’s break that down a little more. The first component of MetaMask is a wallet, meaning that you can use MetaMask to store your cryptocurrencies. However, as MetaMask is specifically for Ethereum, you will only be able to store ETH and ERC-20 tokens on it. You should know that because MetaMask is connected to the Internet, it is defined as a ‘hot wallet’.

The second component of MetaMask is the ability to interact with the Ethereum network. What this means is that MetaMask allows you to use all the decentralized applications, known as dApps, which are hosted on the network. A dApp is called as such because its backend code runs on a decentralized network i.e. Ethereum, unlike a regular app where the backend code is on centralized servers.

Some examples of popular dApps are the game CryptoKitties, casinos such as Etheroll, marketplaces such as OpenSea, and decentralized exchanges such as IDEX and ForkDelta. Without the use of a ‘bridge’ like MetaMask, your browser would not be able to access the Ethereum blockchain unless you were running a full Ethereum node (and having to have the entire Ethereum blockchain of over 400GB on your computer). MetaMask does this by injecting a javascript library known as web3.js (written by the core Ethereum team) into your browser’s page.

MetaMask is also open source, and if you’re interested you can view their code on GitHub here.

Installing and Setting Up MetaMask

Right now, MetaMask is available on Chrome, FireFox, Opera, and Brave. For the purposes of this guide, I am going to be using the Chrome browser. The links to the MetaMask extensions for all of the above browsers are easily found on the MetaMask homepage.

Once you install the extension, you will see the MetaMask icon (a fox) appear at the top right of your screen. Once you click on it, you will see the following:

After clicking Accept on this and the following terms and conditions, you will be brought to a login interface where you can create your MetaMask account. Note that you do not need a username, just a password. MetaMask refers to the password as a ‘DEN’ and it is encrypted and stored within your browser itself (as opposed to on MetaMask’s servers).

If you’re curious as to why the encrypted password is referred to as a DEN, one of the developers explains it in a MetaMask GitHub discussion thread. Personally I thought the reason they did this was since the MetaMask icon is a fox, the password would be a den (as in fox’s den), but that doesn’t appear to be the case.

Once you’ve created a password, you will be given your unique 12-word seed phrase. These words are used to restore your MetaMask accounts so keep them safe.

Once you’ve stored your seed words securely, you’re already all set up!

You can also create multiple MetaMask accounts. Each account will have a different address; however keep in mind that they are all managed using the same password and recovery seed words.

Ethereum Main Network vs. Various Test Networks: What’s the Difference?

At this point, you might have noticed the ‘Main Network’ at the top left. MetaMask allows you to switch between the Ethereum main network and (currently) three other test networks.

What’s the difference between all of these, you ask? Well, the main Ethereum network is the default option one that you will need to use for sending/receiving tokens and interacting with dApps. The other three are public test networks; networks which simulate the Ethereum network and the Ethereum Virtual Machine.

Test networks are used mainly by developers to test smart contracts without having to pay gas. Text networks can also be used to test different consensus mechanisms altogether. For instance, the Rinkeby test network uses a Proof of Authority consensus mechanism.

That said, most regular users need not concern themselves with using Ethereum testnets. Next, let’s take a look at sending and receiving ETH using MetaMask.

Sending and Receiving Tokens Using MetaMask

While MetaMask can be used for all ERC-20 tokens, I will be sticking to ETH for the purposes of this review. Since I do not currently hold any ETH, just Bitcoin, I will first have to convert my BTC into ETH. To do this I will be using ShapeShift.io, an online digital asset exchange platform. Although this is a MetaMask guide, I will also show the main steps of converting BTC into ETH using ShapeShift as it would also be helpful for beginners.

In order to convert my BTC into ETH I just need to provide ShapeShift with my respective BTC and ETH wallet addresses. It will then give me an address to send my BTC to (as well as a recommended mining fee) and will then send back the requisite ETH to my Ethereum wallet. In this case, my BTC wallet is the CoolWallet S, and you can read my detailed review of said wallet here. The Ethereum wallet will of course be my MetaMask wallet.

As you can see, my MetaMask wallet is now funded. By my estimation, once I sent my BTC it took about 15 minutes for ShapeShift to deposit the converted ETH into my MetaMask wallet. Note that if you click the ‘Buy’ button above MetaMask will give you the option of either using CoinBase (US only) or ShapeShift.

Sending tokens via MetaMask is also very simple. Simply click ‘Send’ and key in the respective addresses. Here, you can see me sending a bit of ETH back to my CoolWallet S.

That’s it! Once the transaction is complete you’ll be able to view it as follows:

Interacting with dApps Using MetaMask

Now let’s look at the second component of MetaMask, which is interacting with dApps. For many dApps, as long as you are logged in to your MetaMask account, you can automatically access the dApps through your browser.

As an example, take a look at OpenSea, a decentralized marketplace for crypto collectibles. As you can see, it has already noted my MetaMask wallet address and balance. I did not have to login separately.

Another example is the decentralized casino Etheroll. Again, my MetaMask wallet address and balance is automatically displayed.

How to Reset Your MetaMask Password

So you diligently took down your seed phrase and stored it safely and non-digitally. However, you were so focused on that aspect that you forgot your login password. If that happens, you will have to use your 12-word recovery seed phrase to reset your password. It’s a simple process, however do keep in mind that while your MetaMask wallets will be restored, any manually imported wallets will not.

Are There Any Fees to Use MetaMask?

The only fee that you will have to pay is the gas cost, which you have to pay for any transaction on the Ethereum network. So technically, there is no fee to use MetaMask, only the Ethereum network. Gas is fee needed to execute any transaction on the Ethereum network and is denominated in Gwei which is one billionth of an ETH.

What Kind Of Support Does MetaMask Offer?

Although it is completely free to use, MetaMask does have a dedicated support center which can be found here.

How Safe is MetaMask?

When it comes to cryptocurrencies, security is paramount. We’ve all read about the numerous hacks and thefts. And given that cryptocurrencies are still such an unregulated space, there is little to no recourse for the victims. If you want to invest in cryptocurrencies, you should always have security at the top of your mind.

With that being said, there has been no known instance of MetaMask being hacked so far. However, this does not mean your MetaMask account cannot be compromised, for example through classic social engineering methods such as phishing.

Here are simple steps you can take to protect your MetaMask account:

Log out of your MetaMask account when you’re not using it (when you’re logged in your MetaMask account is considered ‘unlocked’). Staying logged in to your MetaMask account can allow an attacker to view your wallet address, balances, tokens, and transaction history; information which can be used to generate phishing attacks. Ethwalletsecurity shows how this can be done. Watch out for suspicious popups and notifications when you’re logged in as this may be a phishing attack. An attacker might generate malicious popups requesting you to sign for incoming transactions, or notify you that your last transaction failed (and then redirect your transaction to their address). Phony notifications or fake MetaMask interface clones can also be used to attempt to get you to unlock your MetaMask. Don’t keep large amounts of cryptocurrencies in your MetaMask wallet. Just like with any hot wallet, you should use MetaMask for active trading, investing, or purchasing only. The bulk of your cryptocurrencies should be kept in cold wallets such as the Trezor Model T or Ledger.

Conclusion: MetaMask is Convenient and Easy to Use, but Precautions Should Always be Taken

MetaMask is probably the most convenient and popular way to interact with dApps on the Ethereum network at the moment. It is intuitive and easy to use and even non-technical people new to crypto should have no problems using it. However, it does not come without its risks and you should always take precautions when using it (as you should when it comes to everything in cryptocurrencies).