title: Switch Metamask Network to chain 1 (Ethereum Mainnet)
body: <p>This past week Metamask introduced a new function called &quot;wallet_addEthereumChain&quot; which allows the user to automatically add a new Etheruem RPC to their wallet when prompted.  This function also allows the user to change the network they are connected to, for example, if I already have Binance Smart Chain connected to metamask, calling wallet_addEthereumChain changes the active network to BSC.  However, when trying this for the Ethereum chain, it gives an error that you cannot add mainnet RPC.  I have used the following code to change to change from Ethereum Mainnet to Binance Smart Chain, and it works fine:
  switchToBinance: async function () {</p>
  <pre><code>        let ethereum = window.ethereum;
          const data = [{
              chainId: '0x38',
              chainName: 'Binance Smart Chain',
              nativeCurrency:
                  {
                      name: 'BNB',
                      symbol: 'BNB',
                      decimals: 18
                  },
              rpcUrls: ['https://bsc-dataseed.binance.org/'],
              blockExplorerUrls: ['https://bscscan.com/'],
          }]
          /* eslint-disable */
          const tx = await ethereum.request({method: 'wallet_addEthereumChain', params:data}).catch()
          if (tx) {
              console.log(tx)
          }
      },
  </code></pre>
  <p>However when I try the Exact thing, metamask throws an exception saying I cannot add a mainnet RPC:
  switchToEthereum: async function () {</p>
  <pre><code>        let ethereum = window.ethereum;
          const data = [{
        chainId: '0x1',
        chainName: 'Ethereum',
        nativeCurrency: {
          name: 'Ethereum',
          symbol: 'ETH',
          decimals: 18,
        },
        rpcUrls: ['https://mainnet.infura.io/v3/undefined'],
        blockExplorerUrls: ['https://etherscan.io'],
      }]
          /* eslint-disable */
          const tx = await ethereum.request({method: 'wallet_addEthereumChain', params:data}).catch()
          if (tx) {
              console.log(tx)
          }
      },
  </code></pre>
  <p>However, the request for adding a new RPC connection, and changing the active RPC connection is the same.    So is there a way to change the active Ethereum provider from a custom chain to Mainnet (chain ID-1)</p>