Beginners guide to setup MetaMask for Harmony network. Add and connect to the Harmony One mainnet and Harmony Testnet with your Metamask Wallet.
By now you might have heard and interacted with so many Layer 1 blockchains and Layer2 side-chains. Ethereum, Binance Smart Chain, Polygon, Avalanche, Fantom, Terra etc. Some are basically an Eth clone and some are completely built by its self. All these smart contracts enabled blockchain platforms are designed to facilitate the creation and use of decentralized applications (DApps). They are basically like ETH except they are faster and cheaper to transact.
Harmony One is another independent blockchain that provides cross chain finance and is designed to scale Ethereum applications. Its a fast and open blockchain for decentralized applications that features 100x lower fees and 2 second transaction finality. Also since it is an EVM compatible chain it can connect to other smart chains. Also Dapps on other chains can easily switch to Harmony if they want.
DeFi protocols like Curve Finance, and Aave have announced that they will deploy their protocol on the Harmony blockchain. SushiSwap is already live. Besides these Ethereum based Dapps Harmony also has many native Dapps and DeFi protocols build on top of it.
Harmony is one of the fastest growing ecosystem that currently has more than 50+ Dapps and counting. You got Dapps like DeFi kingdoms (JEWEL), DaVinci NFT marketplace, Open Swap token, Beefy Finance, Viper, LMA art gallery, Artemis Protocol, and many more.
To experience Harmony One network and to use the many features that are offered by these dApps, you must have MetaMask set up on the Harmony One network and connect it to the Dapp site.
Metamask or Harmony One wallet?
Harmony One is the official Harmony wallet that is available as browser extension for Firefox, Google Chrome and Brave Browser. It has seen a fast user adoption and this official wallet allows you to do anything blockchain related on the Harmony network. But still most users prefer MetaMask due to its custom EVM support and its ability to connect and interact with different blockchains other than Harmony.
Also some Defi sites on the ONE network do not work with the official Harmony One wallet. For this reason we recommend Metamask if you want to interact with the Harmony ONE network. Other than that if you are looking to stake Harmony ($ONE) then Metamask is not for you. You can’t stake from Metamask. To stake ONE tokens we recommend the official Harmony wallet extension or the Blits mobile wallet.
Now MetaMask is available as a browser extension and a mobile app that acts both as a wallet and a secure login portal for Dapps. You can use this extension to access Harmony’s distributed applications, or “Dapps” from your browser.
Here in this guide we’ll show you how to add Harmony blockchain to Metamask and carry out transactions on the Harmony One network. Now before setting up Metamask for Harmony One let’s see what Harmony One is and what it does?
Jump to “MetaMask Harmony One setup” to skip this part and go straight to the tutorial.
What Is Harmony (ONE)?
Harmony is a blockchain for decentralized applications (DApps) that has been completely built by its self. Just like other EVM blockchains Harmony also focuses on improving the following: Decentralization, Security and Scalability. But on top of that it also focuses on Privacy.
Harmony One network went live on 2019 but only in 2020 users were allowed to run validator nodes. Harmony introduced a new version of Proof of Stake (PoS) consensus known as Effective Proof of Stake (EPoS). A network with PoS consensus rely on its stake holders. With EPoS Harmony network allows simultaneous staking from hundreds of validators. This EPoS consensus was developed in accordance with the sharding concept which is designed for improved scalability and faster processing times.
The Harmony network aims to innovate the way Dapps work by greatly improving on the processing speed and validation. It does so with its random state sharding that creates blocks in seconds by reducing node validation times.
Basically what Ethereum 2.0 aims to achieve; Harmony network does it now that is making use of the shards. Sharding is a concept where the blockchain can be divided into multiple smaller chains. Since each shards can process several 100 transactions per second the entire blockchain can handle 1000s of TPS. This can be further increased by adding additional shards to the blockchain.
Scaling Cross-Chain Ethereum Applications
Harmony is a platform for assets, collectibles, governance and identity. Its mainnet runs Ethereum applications with 2 sec transaction finality and at 100 times lower fees.
It also features a secure bridge that can connect any Proof-of-Work and Proof-of-Stake blockchains. You can easily cross chain transfer assets between Harmony, Ethereum, BSC and few other chains. The bridge is both fully trustless and highly gas-efficient so you can enjoy faster EVM executions.
Due to cross-chain Interoperability and support for EVM it can connect to other smart chains. Not only that but DApps, wallets and portals that work on Ethereum can also work on Harmony without any code changes.
There are 100s of Dapps deployed on Harmony One already. Also just like Ethereum you can create many different types of tokens on the Harmony blockchain as well. Tokens like ERC-20, ERC-721, ERC-1155 (NFT’s) can also exist on Harmony. Except on Harmony network they have a different name and translate to HRC-20, HRC-721, and HRC-1155.
Harmony Protocol Features
- Tx Finality: 2 seconds (1 block)
- Validators: 1,000
- Tx Fees: $0.000·001
- Shard Size: 250 nodes
- Annual Issuance: 3%
- Shards: 4 shards
You can learn more about Harmony on their official website: https://www.harmony.one/
Also check out the developer resources and getting started guide: https://dev.harmony.one/
Harmony Block Explorer: https://explorer.harmony.one/
Alright! Lets now see how to set up and use Metamask with the Harmony ONE blockchain.
Harmony One Metamask setup
First of all this guide assumes that you have your Metamask ready. It is available as browser extension and as a mobile wallet. If you don’t already have one then download or add the extension using this link.
Metamask download: https://metamask.io/download.html
Note: Beware of phishing websites. Always use the official link for downloads.
For complete beginners guide on MetaMask please refer to this article: Metamask guide.
Once you have the metamask ready follow the instructions below to add Harmony One network.
How to add Harmony One to Metamask?
By default Metamask is connected to the Ethereum mainnet. But since Harmony is EVM (Ethereum Virtual Machine) compatible you can also add Harmony network to Metamask and connect it to the Harmony ecosystem.
To connect Metamask to Harmony network all you have to do is find and add the Harmony networks custom RPC endpoint information.
Adding Harmony Network
Launch Metamask and at the top you’ll see “Ethereum Mainnet” chosen as your current network. Click on Ethereum Mainnet and scroll down. At the bottom you’ll see “Add Network” option. In older versions it use to be “Custom RPC”. Click on Add Network or Custom RPC to add the Harmony network.
Here you can add any custom EVM blockchain network of your choice. As you can see we’ve already added Binance Smart Chain, Fantom, Polygon, Arbitrum and Avalanche. Not lets also add Harmony One to the list.
After you click add network; metamask will ask for the network details. Please fill in the network details accordingly.
- Network Name:
- New RPC URL:
- Chain ID:
- Currency Symbol:
- Block Explorer URL:
Other than Mainnet you can also add Harmony Testnet. Also there are other Chain IDs and RPC URLs that you can try. Check out the table below for reference.
|Network Name||Harmony Mainnet||Harmony Testnet|
|New RPC URL||https://api.harmony.one
Use Number Only
|Block Explorer URL||https://explorer.harmony.one/||https://explorer.pops.one/|
You can find the complete network details on the official Harmony Docs page: https://docs.harmony.one/home/network/wallets/browser-extensions-wallets/metamask-wallet
Note: Make sure Metamask is connected to the Harmony Mainnet on Shard 0. Your configuration should be same as in the image below. To send / receive tokens from exchange and to carry out most of the transactions on Harmony network you need to add the Harmony Mainnet Shard 0 RPC endpoint.
Once the Harmony Mainnet Shard 0 RPC endpoint information is filled like in the image click save.
That’s it! You’ve successfully added Harmony One Mainnet to your Metamask. After adding Metamask will also automatically switch to Harmony network. To switch back to Ethereum or other EVM blockchain simply click on network button at the top and select the blockchain of your choice.
For now choose Harmony Mainnet and proceed.
Alright! You’ve added and connected to Harmony network using Metamask. Now to interact and use the Dapps, to provide liquidity or to play crypto games on Harmony chain you need ONE tokens first of all.
ONE is the native token of the Harmony blockchain. Just like ETH is for Ethereum and BNB is for Binance Smart Chain; Harmony One requires ONE tokens. ONE is the central token of the entire Harmony network. You need ONE tokens to pay for transaction fees on Harmony, to deploy smart contracts and for on chain governance.
Other than ONE which is the native token there are many other tokens that you can create on the Harmony blockchain. Tokens such as ERC-20, ERC-721 and ERC-1155 available on Ethereum network can also exist on Harmony. Except on Harmony they are named as HRC-20, HRC-721, and HRC-1155. The ones on the Harmony One blockchain are basically the same and function same as Ethereum tokens.
To create these tokens on Harmony network and to use and transact these tokens you need ONE.
You can buy it from the exchange and send it to your Metamask address. But before you send do note that there is one extra step involved when sending or receiving tokens to and from the address on your Metamask connected to Harmony.
Sending / Receiving ONE and Harmony tokens
To manage your Harmony tokens you can either use the same Ethereum address on metamask or create a new account / address separately for Harmony One.
Now you can’t send ONE or harmony tokens from exchange to Metamask. Also you can’t send from Metamask to Binance, Kucoin or any other exchange directly.
When you send ONE from exchange directly to your Metamask address the exchange will display error messaging saying “ADDRESS DO NOT CORRESPOND WITH ONE NETWORK”.
Likewise when you are sending token from Metamask to exchange; Metamask displays the following error message: “Not ETH network, set to lowercase”.
Its because your metamask receiving address and the exchange deposit address for Harmony are not the same.
On centralized exchanges you are given a one1XXX (bech32) address for Harmony deposits and withdrawals. Whereas your metamask address is a Hexadecimal address that starts with 0xXXXX, basically ETH address.
So to send ONE from exchange to your metamask you need to convert your metamask 0xXXXX address to one1XXX address. Likewise to send tokens from metamask to exchange you need to convert your exchange one1XXX address to 0xXXXX address.
Convert 0x to ONE and ONE to ETH address | one1X <> 0xXX
Basically you can use both the address (one1X and 0xXX) to receive transactions. The official Harmony One wallet supports sending or receiving transaction to either of the address starting with one1 or 0x.
However not all wallet and exchange services support both the address simultaneously. For example using Metamask you can’t send to address starting with one1X. Likewise from exchange you can’t send to address starting with 0xXX. So basically you need to get the equivalent one1X address of 0xXX address and equivalent 0x address of one address before sending or receiving.
Here is how its done.
Getting 0x and one1 Address
Go to Harmony Block explorer
https://explorer.harmony.one/ – Mainnet explorer
https://explorer.pops.one/ – Testnet explorer
To convert mainnet address use the mainnet explorer and to convert testnet address use the testnet explorer.
Go to https://explorer.harmony.one and search for your address. You can enter either of the address starting with 0x or one1.
Previously there use to be a button near search bar to toggle between eth | one address format. But now it automatically converts and displays both the address.
By default the address on block explorer is displayed as one
For example: one123j5t56gcz0hzdx0azufuwjf5422jyepp595pc
You’ll find the equivalent 0x address at the URL like you see in the image below.
For example: 0x546545d348c09f7134cfe8b89e3a49a554a91321
Copy the 0x address to use in metamask and use the one address to use for exchange withdrawals.
For instance when sending coins from exchange convert your metamask 0x address to one and use that for withdrawal. Similarly when sending transaction to your exchange account convert your exchange one address to 0x and use the 0x address as your destination address on metamask recipient block.
This way you should be able to send ONE from metamask to binance or any exchange. Try it with Gwei (gas) set as 1 and send a small test amount first. If it is successful you can move large amounts.
If the transaction fails then make sure you have Harmony One tokens to pay for gas. Also try setting the gas limit to 25000 and try again in case if transaction fails due to insufficient gas.
Alright! Lets now see how to add custom Harmony tokens to metamask?
Adding custom HRC-20, HRC-721 tokens
Adding custom HRC-20 or HRC-721 tokens to metamask is simple and is same as adding custom ERC20 tokens.
To add any custom Harmony tokens such as HRC-20 or HRC-721 all you have to do is find the contract address.
Go to Harmony block explorer https://explorer.harmony.one and search for the token name. At the URL you’ll find the 0x address which is the token contract address. The explorer also displays the token symbol and its decimal.
Beware of scam contracts that also comes up in the explorer list. If you can’t identify which one is genuine and which one is fake then use services like CoinMarketCap or Coingecko to get the contract address. Or use the official token website to find the contract details.
Once you have the token information open metamask. On the main page scroll down and click add token or import token. Then enter the token contract address, token symbol and the token decimal. Verify it then click add token and then finally import token. Metamask will display the token under assets section.
Now sending or receiving HRC-20 and HRC-721 token is same as ONE. You need to use the address starting with 0x. If you are sending to exchange then convert your exchange one1 address to 0x format. If you are sending tokens from exchange then convert your metamask 0x address to one1 and use that for withdrawal. To receive tokens you should only share the 0x address format of your metamask wallet.
If you are a Ledger or a Trezor user then note that you can also use hardware device to store your Harmony assets. All you have to do is connect the device to metamask. Learn how to use Ledger or Trezor with metamask.
To transfer asset across chains you can use bridges. Check out the list of DeFi cross chain bridges.
Alright! How about staking?
As we said you can’t stake using metamask. To stake Harmony you need the official One wallet. You can either run a complete validator node. For this you’ll need around 10,000 ONE tokens. Or you can become a delegator for which you only need 1000 ONE tokens. By staking you’ll earn about 10% interest.
In a separate article we’ll cover how to stake Harmony. For now we hope we’ve covered everything regarding Metamask and Harmony ONE. You’ve added Harmony network to metamask and you also know how to send and receive tokens.
Now you can start interacting with DApps on harmony and make money in various ways. You can provide liquidity on open swap or you can try the play to earn crypto games. Check out DeFi kingdoms JEWEL on Harmony one.
Check out the complete Harmony ecosystem: