> For the complete documentation index, see [llms.txt](https://davincigalleryone.gitbook.io/davinci-gallery/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://davincigalleryone.gitbook.io/davinci-gallery/connect-to-a-wallet/metamask.md).

# Metamask

MetaMask is an extension for accessing Harmony enabled distributed applications, or "Dapps" in your browser.

## Installing Metamask <a href="#installing-metamask" id="installing-metamask"></a>

Click [here](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn) to install the Metamask extension on your browser. It can be installed using the Google Chrome Browser. Just click on the installation button and it should be automatically installed.

## Setting up Metamask <a href="#setting-up-metamask" id="setting-up-metamask"></a>

By default Metamask supports the Ethereum blockchain, but since Harmony is EVM compatible with Ethereum, it can be used the same way by setting a custom RPC endpoint.

### 1. Adding a Custom RPC Endpoint <a href="#id-1-adding-a-custom-rpc-endpoint" id="id-1-adding-a-custom-rpc-endpoint"></a>

In order to connect to the Harmony Network, a custom RPC Endpoint needs to be added. On top click on the network you are connect to and and then on **Custom RPC**:

![Adding a Custom RPC](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MSiDsMgX_nzpe3GMUWo%2F-MSiGgaeYvXA0Ekamwnq%2Fmetamask_custom_rpc1.png?alt=media\&token=a7a47120-5345-4d02-8a00-816d428ed4a9)

### 2. Filling the Endpoint Information <a href="#id-2-filling-the-endpoint-information" id="id-2-filling-the-endpoint-information"></a>

Fill it accordingly to the Harmony Network and the shard you want to to connect to.

Use the RPC URL of Shard 0 if you want to send/receive transactions from exchanges or do any staking transaction type.

| Field                                                    | Mainnet                                                                                                                                                                       | Testnet                                                                                                                                                                         |
| -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Network Name**                                         | Harmony Mainnet                                                                                                                                                               | Harmony Testnet                                                                                                                                                                 |
| **New RPC URL**                                          | <p><strong>​<https://api.harmony.one></strong>​</p><p>​<https://s1.api.harmony.one​></p><p>​<https://s2.api.harmony.one​https://s3.api.harmony.one​></p>                      | <p><em>​</em><strong><https://api.s0.b.hmny.io​></strong></p><p><em>​</em><https://api.s1.b.hmny.io​></p><p>​<https://api.s2.b.hmny.io​></p><p>​<https://api.s3.b.hmny.io​></p> |
| <p><strong>Chain ID</strong></p><p>(use number only)</p> | <p><strong>Shard 0: <code>1666600000</code></strong></p><p>Shard 1: <code>1666600001</code></p><p>Shard 2: <code>1666600002</code></p><p>Shard 3: <code>1666600003</code></p> | <p><strong>Shard 0: <code>1666700000</code></strong></p><p>Shard 1: <code>1666700001</code></p><p>Shard 2: <code>1666700002</code></p><p>Shard 3: <code>1666700003</code></p>   |
| **Currency symbol (optional)**                           | ONE                                                                                                                                                                           | ONE                                                                                                                                                                             |
| **Block Explorer URL (optional)**                        | ​<https://explorer.harmony.one/#/​>                                                                                                                                           | ​<https://explorer.pops.one/#/​>                                                                                                                                                |

The example below shows the configuration that needs to be done to connect to Harmony Mainnet on Shard 0:

![ Click now on the Save button and your configuration should be done.](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MWR8izGi2SlkTXXU6gf%2F-MWR9iwgD0hXKFFqpj45%2Fimage.png?alt=media\&token=c9e8c5e0-4aad-4a1b-b284-c6cdbf9e15a4)

## Creating a New Account <a href="#creating-a-new-account" id="creating-a-new-account"></a>

In order to create a new account, click on the icon on top as shown by the image below and then on **Create Account**:

![Create Account](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MSiOV7Y4hnCYH2nrBMk%2F-MSiR_c_xSkagNurF9Vo%2Fmetamask_create_account1.png?alt=media\&token=3a36d493-2097-4dda-b7ac-b62f66fa9d74)

On next window, fill it with the account you want to choose and click on **Create** button. You should have successfully created a new account!

## Importing an Account <a href="#importing-an-account" id="importing-an-account"></a>

### 1. Using a Private Key <a href="#id-1-using-a-private-key" id="id-1-using-a-private-key"></a>

Click on the icon on top as shown by the image below and then on **Import Account**:

![Importing Account](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MSiOV7Y4hnCYH2nrBMk%2F-MSiPPqBKW0_Z-pIK6no%2Fmetamask_import_account1.png?alt=media\&token=478b43a1-924f-4191-9d51-1469af259bf9)

On next window, select the option to import from a Private Key, paste your key and click on **Import** button:

![You should have successfully imported your account from the Private Key.](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MSiOV7Y4hnCYH2nrBMk%2F-MSiQ7DiAJuD4QjaPyuC%2Fmetamask_import_account2.png?alt=media\&token=537a88a3-13c3-4fed-9b42-081c4b2c60b7)

## Regular Transactions <a href="#regular-transactions" id="regular-transactions"></a>

Since Metamask does not allow you to send transactions to addresses starting with "**one1**", you need to get the equivalent **0x** address of this same address. For that, follow the procedures below.

### Getting the 0x Equivalent Address <a href="#getting-the-0x-equivalent-address" id="getting-the-0x-equivalent-address"></a>

* Go to <https://explorer.harmony.one/#/> (Mainnet) or <https://explorer.pops.one/#/> (Testnet) and search for your address
* On top of the blockexplorer toogle the address format from ONE to ETH

![](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MSi_oODINcAC_cNt_sx%2F-MSic2iPCa1sJucukN2t%2Fmetamask_sending_transactions1.png?alt=media\&token=3fd34bc3-5549-4fb3-b0b2-7c5e6db4d729)Address Format

* Copy the **0x** address format by clicking on the small icon right to the address

![Equivalent 0x Address](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MSi_oODINcAC_cNt_sx%2F-MSidBsvzXqz_NV8-7Os%2Fmetamask_sending_transactions2.png?alt=media\&token=04aedfed-39a9-4dec-949d-248190c3ae79)

### Sending a Regular Transaction <a href="#sending-a-regular-transaction" id="sending-a-regular-transaction"></a>

To send a transaction on Metamask click on **Send** button and on next window copy paste the destination address starting with **0x**, fill the amount you want to send, click on **Next** and then on **Confirm**.

### Receiving a Regular Transaction <a href="#receiving-a-regular-transaction" id="receiving-a-regular-transaction"></a>

In order to receive a transaction, just share the **0x** address format. One Wallet supports sending regulars transactions to either addresses starting with **0x** or **one1**.

## HRC20/HRC721 Transactions <a href="#hrc-20-hrc721-transactions" id="hrc-20-hrc721-transactions"></a>

### Adding a Custom Token <a href="#adding-a-custom-token" id="adding-a-custom-token"></a>

On Metamask click on **Add Token** and on next window select **Custom Token**. Fill it with the contract address starting with **0x**, Token Symbol of the token and the Decimals of Precision which is usually 18:

![Add Token](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MSj7cnUEOhFU5gu47Cr%2F-MSj9ppsPqDawnDAYZ34%2Fmetamask_hrc20_account1.png?alt=media\&token=cd454fc8-8477-4b6d-9ecc-5184d4e56719)

![Custom Token](https://gblobscdn.gitbook.com/assets%2F-LlEOlYqEG_GKuO5Rehq%2F-MSj7cnUEOhFU5gu47Cr%2F-MSjBlNHCkcYRlnyRst1%2Fmetamask_hrc20_account2.png?alt=media\&token=4e58cd2d-bf32-453a-93ff-5ea5162ec59f)

Now click on **Next** and then **Add Tokens.** Your custom HRC20 Token will show up on a new page. It will also be available on the main Metamask window on the Assets tab.

### Sending a HRC20/HRC721 Transaction <a href="#sending-a-hrc-20-hrc721-transaction" id="sending-a-hrc-20-hrc721-transaction"></a>

Click on the asset you want to send your tokens from on the Asset tab. Click on **Send** button and on next window copy paste the destination address starting with **0x**, fill the amount you want to send, click on **Next** and then on **Confirm**.

### Receiving a HRC20/HRC721 <a href="#receiving-a-hrc-20-hrc721" id="receiving-a-hrc-20-hrc721"></a>

In order to receive a transaction, just share the **0x** address format of your wallet. One Wallet supports sending HRC20/HRC721 transactions to either addresses starting with **0x** or **one1**.
