> For the complete documentation index, see [llms.txt](/llms.txt).

In this guide, you will learn about the different ways to set up and connect to Rootstock network using MetaMask.

## Option 1: Add Rootstock Networks to MetaMask Automatically

> Ideal for general users looking to automatically add the Rootstock network to their MetaMask wallet.

1. Install MetaMask on your browser from the official website: [https://metamask.io/download/](https://metamask.io/download/)
2. Click on the buttons below to add Rootstock Mainnet and Rootstock Testnet

<br></br>
<div class="container" style={{ textAlign: "center" }}>
  <div class="row">
    <div class="col col--6" style={{ marginBottom: 15 + "px" }}>
      <div class="col-demo">
        <button id="add-network-button-mainnet" class="btn">
          <span class>
            <div class="flex items-center text-10 px-1">
              <img class="mr-1" width="35" src="/img/metamask/metamask.svg"></img>
              Add Rootstock Mainnet to MetaMask
            </div>
          </span>
        </button>
      </div>
    </div>
    <div class="col col--6" style={{ marginBottom: 15 + "px" }}>
      <div class="col-demo">
        <button id="add-network-button-testnet" class="btn">
          <span class>
            <div class="flex items-center text-10 px-1">
              <img class="mr-1" width="35" src="/img/metamask/metamask.svg"></img>
              Add Rootstock Testnet to MetaMask
            </div>
          </span>
        </button>
      </div>
    </div>
  </div>
</div>

## Option 2: Add Rootstock Networks to MetaMask Manually

> Ideal for both developers and general users looking to manually add the Rootstock network to their MetaMask wallet.

1. Install Metamask on your browser from the official website: [https://metamask.io/download/](https://metamask.io/download/)
2. Open the MetaMask extension.
3. In the network selector (top left corner), choose Add Network.

{" "}

<img
  class="metamask-screenshot"
  src="/img/metamask/metamask-1.png"
  width="800"
  height="600"
></img>

{" "}

<img
  class="metamask-screenshot"
  src="/img/metamask/metamask-2.png"
  width="800"
  height="600"
></img>

4. Click on Add Network Manually

5. Fill the required fields to add Rootstock Mainnet or Testnet with the network settings from the table below:

{" "}

<table class="table">
  <thead>
    <tr>
      <th scope="col">Field</th>
      <th scope="col">Rootstock Mainnet</th>
      <th scope="col">Rootstock Testnet</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Network Name</td>
      <td>Rootstock Mainnet</td>
      <td>Rootstock Testnet</td>
    </tr>
    <tr>
      <td>RPC URL</td>
      <td>https://public-node.rsk.co</td>
      <td>https://public-node.testnet.rsk.co</td>
    </tr>
    <tr>
      <td>ChainID</td>
      <td>30</td>
      <td>31</td>
    </tr>
    <tr>
      <td>Symbol</td>
      <td>RBTC</td>
      <td>tRBTC</td>
    </tr>
    <tr>
      <td>Block explorer URL</td>
      <td>
        <a href="https://explorer.rootstock.io/" target="_blank">
          https://explorer.rootstock.io/
        </a>
      </td>
      <td>
        <a href="https://explorer.testnet.rootstock.io/" target="_blank">
          https://explorer.testnet.rootstock.io/
        </a>
      </td>
    </tr>
  </tbody>
</table>

<img
  class="metamask-screenshot"
  src="/img/metamask/metamask-3b.png"
  width="800"
  height="600"
></img>

## Option 3: Add Rootstock Networks to MetaMask Programmatically

> Ideal for developers looking to initiate a network switch on MetaMask from a website or dApp.
> See how to [Connect Rootstock to Metamask Programmatically](/resources/tutorials/rootstock-metamask/).

## Watch the Video Explainer

<div class="video-container">
  <iframe
    width="949"
    height="534"
    src="https://youtube.com/embed/VyPewQoWhn0"
    frameborder="0"
    allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
    allowfullscreen
  ></iframe>
</div>

## Limitations

MetaMask does not yet fully comply with the technical specifications
of [account based addresses on Rootstock](/concepts/account-based-addresses/).
Note that there are workarounds available,
which allow most users to use MetaMask on Rootstock successfully.

MetaMask uses the Ethereum value for **derivation path**,
and presently does not allow it to be configured.
This means that if you use the same seed phrase in MetaMask and other wallets,
you will get a different set of addresses.
A **workaround** for this is to use custom derivation paths
when using other wallets that support this feature.

MetaMask does not presently support EIP-1191 **checksums**.
This means that if you use the addresses copied from MetaMask,
you may encounter checksum validation errors.
A **workaround** for this is to lowercase the addresses after copying them.

:::warning[Disclaimer]

- Currency may be mistakenly displayed as `ETH` within some screens of MetaMask.
  The Rootstock network uses `RBTC` as its cryptocurrency.
- This tutorial uses the Public Nodes as RPC. You can connect to other nodes or use the [Rootstock RPC API](/developers/rpc-api/).
- The node must enable CORS for browser-based dApps to work.
  - Please review the [configuration file reference](/node-operators/setup/configuration/) for CORS settings.

:::

## Next Steps

Deploy a dApp on Rootstock or try out the Rootstock Testnet:

- [Get test RBTC](https://faucet.rootstock.io)
- [Get test RIF tokens](https://faucet.rifos.org)
- View the [Quick Starts](/developers/quickstart/)

If you would like to know more about the values used in the
custom network configuration above, check out
[account based addresses on Rootstock](/concepts/account-based-addresses/).
