MetaMask: The Ultimate Guide

Welcome back, crypto friends.

A lot of you have asked me questions about how to use MetaMask.

This tutorial will cover the following topics:

What Is MetaMask?

MetaMask is a tool that you can use for storing your cryptocurrency.

In comes in the form of a browser extension, or a mobile app.

In order to interact with most dApps (decentralized applications) on many different blockchains, this is a tool that you will need to become familiar with.

These dApps include various decentralized exchanges, play to earn games, NFT marketplaces, and more.

How To Download And Install MetaMask

Head over to and choose your device. If you’re using a mobile phone, you can install MetaMask on iOS or Android.

If you’re using a computer, MetaMask can be installed as a browser extension on Chrome, Firefox, Brave Browser, and Edge.

I personally like to “pin” the browser extension to my browser, since it makes things easier to find. This is not a requirement, though.

See how the little “fox” icon is shown at the top of my browser? This makes it easily accessible, so I don’t need to open up some hidden menu every time I need to make a transaction.

Pinning MetaMask To Chrome Or Brave

To pin MetaMask to your Chrome or Brave browser, click the little “puzzle piece” icon at the top right. Then, click the little “pin” icon, next to the extension that you want to pin. In this case, MetaMask (obviously).

Pinning MetaMask To Firefox

MetaMask should automatically be pinned when you install it on Firefox. However, if it’s not, you can follow this guide to customize your Firefox toolbar.

Setting Up Your MetaMask Wallet

Whether you’re using a mobile device or a desktop computer, the process will generally be the same.

I am going to be demonstrating with a computer, using Brave Browser. However, you can follow along with this tutorial regardless of which browser or device you are using.

Once you open MetaMask for the first time, you should be greeted with the following screen:

Click on the “Get Started” button, and then you should see this:

If you’re reading this article, then I will assume that you don’t already have a wallet that you want to import.

So, go ahead and click “Create A Wallet”.

You should see the following screen:

Click “No Thanks” because you can’t stand when people try to use your data. Or maybe that’s just me?

Next, you will be asked to create a password.

Go ahead and create a nice strong password. Include uppercase and lowercase letters, numbers, and symbols.

Make sure to back your password up in a safe place. Although this password isn’t nearly as important as you might think- I’ll explain shortly.


Once you create your password, you should see this page:


That video explains what your seed phrase is, and why you need to keep it VERY SAFE and NEVER SHOW IT TO ANYONE, EVER!

One thing I disagree with is storing your seed phrase in a password manager though… I personally would not do that.

Click “Next” after watching the video. That should take you to the following page:

Reveal your seed phrase (secret words) and store it in a safe place or two. Once again, make sure no one sees these words besides you- otherwise you can kiss your crypto goodbye, because it will be stolen the second you put anything in your wallet.

Once you have your seed phrase saved, you can click “Next”.

You should land on the following page:

Congratulations my friend, you now have a MetaMask wallet.

How To Connect A Ledger Or Trezor Wallet To MetaMask

I am going to be demonstrating with a Ledger Hardware Wallet, but the process is nearly identical if you are using a Trezor Wallet.

Note: At the time of this writing, this can not be done on mobile. This needs to be done on a desktop computer.

Click the MetaMask icon on your browser, then click on the big circle logo at the top right of MetaMask.

Next, click on the “Connect Hardware Wallet” button.

This should take you to the following page:

IMPORTANT: Before you click anything, make sure you have your hardware wallet connected to your computer and unlocked.

Also, make sure you have the Ethereum app opened on your hardware wallet.

Once you have those things taken care of, choose your hardware wallet.

Since I am using a Ledger Wallet, I am going to click on Ledger.

After clicking on Ledger, the “Continue” button will turn blue. Click the “Continue” button.

You may get a prompt on the screen:

If you get this prompt, select your device and click “Connect”.

MetaMask will take a few seconds to scan your hardware wallet for addresses. Once it’s done scanning, you should see a list of addresses like this:

You’ll notice that there is a list of several addresses here. This is because your hardware wallet actually contains the key to many crypto addresses.

Just select any one of them. It’s probably easier if you just select address number 1, just to keep things simple and easy to remember in the future.

Select an address, and click “Unlock”.

Reminder: make sure that your hardware wallet remains unlocked, with the Ethereum app open throughout this whole process.

If you are having issues connecting your hardware wallet to MetaMask, this would be the first thing to check.

Congrats again, you now have your hardware wallet connected to MetaMask. You’re really going places!

You can switch between your different wallet addresses by clicking the big “circle icon at the top of MetaMask, then clicking on the wallet address you want to use.

FYI, there is a setting that you may need to enable on your hardware wallet.

If this setting is not enabled, you will have problems making transactions on certain dApps.

That setting would be “Blind Signing”.

Grab your hardware wallet, enter the Ethereum app, and go to “Settings”.

Make sure Blind Signing is enabled.

How To Add Custom Networks To MetaMask

MetaMask doesn’t only support the Ethereum network.

It supports many different networks, actually- Avalanche (AVAX), Binance Smart Chain, and Polygon to name a few.

I will show you how to add custom networks, and also how to add the specific network that you might be looking for.

To add a custom network to MetaMask, click on the little button that says “Ethereum Mainnet”.

This will pull up a drop-down menu.

Once you have the menu open, click “Add Network”.

This should take you to the following page:

You’ll need to fill out the specific details for whichever blockchain you are trying to add.

I will provide you with the details for some of the most popular ones.

Binance Smart Chain (BEP-20 Network)

Network Name: Smart Chain
ChainID: 56
Symbol: BNB
Block Explorer URL:

Polygon Network (MATIC)

Network Name: Polygon Mainnet
ChainID: 137
Symbol: MATIC
Block Explorer URL:

Avalanche Network (AVAX) (C-Chain)

Network Name: Avalanche Network
ChainID: 43114
Symbol: AVAX
Block Explorer URL:

Kardiachain (KRC-20)

Network Name: KardiaChain Mainnet
ChainID: 24
Symbol: KAI
Block Explorer URL:

Fantom (FTM)

Network Name: Fantom Opera
ChainID: 250
Symbol: FTM
Block Explorer URL:

To switch between different networks, all you need to do is click on the drop-down menu at the top of MetaMask. Then, select your network of choice from the list.

Sending And Receiving Money With MetaMask

Alright, so you’ve got your MetaMask set up and ready to go.

How do you send and receive money? Let’s talk about that right now.


We might as well discuss receiving first, since you can’t send anything without having something in your wallet first.

Different blockchains are going to use different tokens, and require you to use their specific network.

In this example, we will be receiving Ethereum tokens, on the Ethereum blockchain.

First, make sure your MetaMask is connected to the Ethereum Mainnet.

Then, copy your Ethereum address by clicking on the string of letters/numbers that starts with “0x“.

Now, take the address that you just copied and send it to whoever you are receiving your crypto from.

Once your funds arrive, you will see your balance update in MetaMask.

Note: you don’t actually need to be online or logged into MetaMask to receive funds. As long as the funds are sent to your correct Ethereum address, you can re-connect to the internet 5 years from now and those funds will still be there.


Since you need to give out your Ethereum address in order to receive funds, that means you need the Ethereum address of whoever you want to send funds to.

You will also need a bit of Ethereum in your wallet to pay for transaction fees when making an outgoing transaction.

This applies only to transactions that you initiate. In other words, you don’t need to pay anything to receive crypto.

Transaction costs can range in price, depending on how congested the Ethereum network is.

That’s beyond the scope of this tutorial, but you can get an idea of the current transaction cost by looking at Etherscan.

Ready to send? Open MetaMask and click on the big “Send” button.

Then, paste the Ethereum address (the one you’re sending funds to) into the box.

Then select the token you want to send. In this case, we are choosing Ethereum.

You’ll also need to enter the amount of ETH that you want to send.

Then click the “Next” button.

On the following screen, check the details to make sure everything looks correct.

If you’re using a hardware wallet, then make sure you have it connected to the computer and unlocked, with the Ethereum app open.

Then, click the “Confirm” button to submit the transaction.

* If you are using a hardware wallet, then you will also need to confirm this transaction on your device (after clicking Confirm in MetaMask).

Checking The Status Of A Transaction

Unsure if your transaction went through?

You can check the status of a transaction by opening MetaMask, and then scrolling down to the “Activity” tab.

Click on the transaction that you want to check on, and then you will see a “Status”, and an option to “View on block explorer”.

Viewing your transaction in the block explorer will provide you with a ton of details.

If you ever need to become a “blockchain detective” for any reason, the block explorer is your best friend. But that’s a topic for another time.

How To Add Custom Tokens To MetaMask

So, you sent some random token to your MetaMask wallet. You KNOW it’s in there, but it’s not showing up! Why?!

You probably need to add this token as a “Custom Token” in MetaMask. Let me show you how.

Open up MetaMask and click on the “Assets” tab. Then click on “import tokens”.

That should open up a tab that looks like this:

You will need the contract address of the token you are trying to import.

Make sure to always use the correct contract address, and always be skeptical of random people who give you a contract address.

Get the address directly from the project’s CoinGecko or CoinMarketCap page when possible.

Once you paste the contract address, the rest of the details should auto-populate.

Then you can click “Add Custom Token”, and now the token should show up under the “Assets” tab in MetaMask.

Advanced Settings In MetaMask

MetaMask makes it pretty easy to get started, with a UI that doesn’t require much crypto knowledge from the user.

But there are also some advanced features, where you can customize things for a better experience.

Let’s go over a few of those features.

Advanced Gas Controls

Remember in the “Sending Transactions” section, where we talked about transaction fees?

And remember how I told you that these fees fluctuate, based on how much traffic is on the network (supply and demand)?

Well, we have the option to use custom transaction fees- in other words, let’s say that there is a lot of traffic on the network. Meaning the demand is very high.

If we use the default transaction fee, then we might end up waiting a while for our transaction to go through.

We can speed up this process by adjusting the transacion fee (aka “Gas Fees”).

In other words, we can pay more money to have our transaction go through faster.

This works the other way around as well. Maybe we are very low on funds, and not in a rush to make our transaction.

In this case, we can lower the gas fee and wait as long as we need to, which saves us money.

Let’s look at how to set this up.

Open up MetaMask and click on the big circle logo, then click “Settings”.

Next, click on the “Advanced” tab.

Then scroll down to “Advanced Gas Controls”.

Make sure you have this feature turned ON.

Next time you try to make a transaction in MetaMask, you will see a new option called “Gas Price”.

Like I said, gas prices fluctuate based on supply and demand.

These prices are measured in units called “GWEI”.

Here are some resources where you can find out the current gas fees on the Ethereum Network:

Note: if you are using a different network (not the Ethereum Network), then you will need to use other resources to find out the current gas costs.

Customize Transaction Nonce

Go back to Settings, then Advanced.

Scroll down to “Customize Transaction Nonce”, and turn it on.

We will talk more about why this is useful in a minute, but for now, here’s a quick breakdown of what this is.

When you create a new Ethereum wallet (this also applies to other MetaMask networks like Binance Smart Chain, etc)… there is a “counter” that counts all of the transactions that you initiate.

This does not apply to incoming transactions, only transactions that you execute.

This counter is called a nonce, and it starts at 0.

Your first transaction will have a nonce of 0, your second transaction will have a nonce of 1, your third will have a nonce of 2, etc.

But why would I care about this, Mike? I don’t care about that technical stuff!

Well, you might not care about this right now. But you’ll care about it when you have a “stuck” transaction and can’t figure out how to fix the problem.

Let’s talk about that in more detail.

How To Fix Stuck Transactions In MetaMask

So, you sent a transaction but it’s not going through?!

It just shows up as “pending” in MetaMask, but nothing is happening…

There are a few things you can do to fix this.

First, you’ll want to open up the transaction details and click “view on block explorer”(I showed you how to do this before, remember?).

Does anything show up, or does it say that there is no record of this transaction?

If there is no record of the transaction, then it may just be a MetaMask issue.

The best ways to fix this would be:

If the block explorer does show a record of the pending transaction, then scroll down to the part where it says “Gas Fees”.

What does it say?

You’ll notice that mine says “Max: 2 GWEI.”

Well, if we use the gas tracker on Etherscan, we can see that the average price for a transaction right now is 41 GWEI.

This means that the people who run the network are not going to bother with my transaction, because I am not offering them enough money to compensate them for their work.

I need to raise my transaction fee to at least 41 GWEI to get prioritized.

There are 2 ways that I can go about this.

'Speed Up' Button In MetaMask

You can increase the transaction fee by clicking the “Speed Up” button on MetaMask (under the “Activity” tab).

This will take you to the following screen, where you can enter the amount of gas that you are willing to pay for your transaction.

What you are doing here is basically executing a new transaction, and making sure that it gets prioritized over the old transaction.

Once your new transaction goes through, the old transaction will be cancelled.

But Mike, I tried speeding it up and it still didn’t work… now there is no option to speed up anymore! Now when I check my wallet on Etherscan, there are like 80 pending transactions!

Don’t worry, friend. Mike D’s got your back. I’ll show you how to fix that right now.

Manually Fixing A Stuck Transaction

Open up MetaMask and click the 3 little dots next to your address, then click “View Account In Explorer”.

On the explorer page, go to the OLDEST PENDING transaction.

Forget about the ones that already went through, and forget about the most recent ones.

Oldest. Pending. Transaction.

You can see that I’ve only got 1 pending transaction here, so I am going to click on the “Txn Hash” and open up that transaction.

Next, I’m going to scroll down to where it says “Click to see more”.

This will expand the details and show me some more information.

Notice how it says the “Nonce” is 63.

This means that transaction number 63 from my wallet is stuck.

Let’s pretend I also had 5 more transactions stuck after this… 64, 65, 66, 67, 68.


63 is the one that matters. Nothing can happen until 63 is completed.

So here’s how we fix this.

Open up MetaMask, and click “Send”.

Paste your OWN address into the “Send To” field. You are going to be sending a transaction to yourself.

For the amount, put 0. You are sending yourself 0 Ethereum (or whatever token you are sending).

Now for the important part.

Click on the “Edit” button so you can edit the gas fees.

You should now land on this screen:

Use the gas tracking resources that I provided so you can figure out a good gas price. Set this high!

Make sure you set this higher than the fee you used on your stuck transaction, or else you are doing this all for nothing.

Click “Save” and then you will get to the even MORE important part.



In my case, transaction 63 is the oldest stuck transaction. So I need to set my custom nonce to 63.

Then I will submit the transaction and confirm it.

Once it goes through, the old transaction will disappear and be replaced by the new one.

Also, any newer pending transactions will disappear, since I broke the chain by removing the old transaction from it.

Think of it this way… transaction 63 was the parent. I just killed the parent. Its children cannot exist now, because the parent doesn’t exist. Get it?

So if you had any other transactions that you submitted earlier, you will need to replace them.

Cancelling A Transaction In MetaMask

If you want to cancel a pending transaction, first of all you might be out of luck because they can go through pretty fast. Once it goes through, it’s irreversible.

But if you do have one pending, MetaMask has a cancel button right next to the “Speed Up” button that I showed you before.

On top of that, I literally just showed you how to cancel a transaction. That thing you did where you used the Custom Nonce to “kill the parent transaction” a second ago?

Yeah, that’s the exact same thing as cancelling a transaction. So just do that if you need to cancel one.

How To Swap Tokens In MetaMask

You’ll notice that there is a “Swap” button when you open up MetaMask.

I apologize if the title of this section is a little clickbaity, but I’m not going to show you how to use this feature.

The main reason is because of this…

This is absolutely absurd. Don’t let these people rip you off, man.

If you want to swap tokens, learn how to use decentralized exchanges- I will have some “Ultimate Guides” coming out in the near future on this topic. So make sure you are subscribed if you’re interested in learning more about decentralized exchanges.

How To Import An Existing Wallet Into MetaMask

If you want to import your wallet into MetaMask, the process is fairly simple.

Hardware Wallet Users

If you’re using a hardware wallet, it doesn’t matter what MetaMask wallet you use… the keys to your account will always be on your hardware wallet.

Which means, any time you connect your hardware wallet to a new MetaMask, the same wallet addresses will appear.

You don’t really need the seed words from that original MetaMask wallet, unless you stored crypto in that particular wallet. But the funds on your hardware wallet will always be there, regardless of which seed words you use for your initial MetaMask setup.

If You're Not Using A Hardware Wallet

If you aren’t using a hardware wallet, then you will need the seed phrase that you saved in a safe place when you first created your wallet.

You did save your seed phrase, right? If not, you’re out of luck. Sorry… your crypto is gone forever.

Assuming you have your seed phrase, all you need to do is open up a fresh installation of MetaMask, click “Import Wallet”, and then enter your seed phrase.

It’s really that simple. Once you enter your seed phrase, your wallet and crypto will re-appear.

Note: you can use your seed phrase to import your wallet into any compatible crypto wallet. It doesn’t need to be MetaMask. It can be Trust Wallet, Exodus, or any of the other countless wallets out there.

Also note: any custom tokens that you added to MetaMask, will need to be re-added if you reinstall MetaMask. Don’t be alarmed if you don’t see your custom token right away. You can always view your balances on the block explorer.


That’s my Ultimate Guide To MetaMask.

Have any questions? Drop a comment on the video.

Found this article helpful? Drop a comment on the video. It helps the algorithm, and it’s a free way to support the channel and help me pump out more of these high quality guides.

Don’t forget to subscribe if you haven’t already. Thank you all for reading.

See you next time, peace out.