MetaMask ships with Ethereum and a set of popular networks enabled, and you can add any other EVM chain by giving it a custom RPC endpoint. The steps below follow MetaMask's own Help Center for the browser extension and the mobile app (checked 9 October 2026).
This guide walks through adding custom RPC networks to MetaMask, choosing quality endpoints, and troubleshooting common issues.
What You'll Need
Before adding a network, gather these details:
- RPC endpoint URL: an HTTPS address that accepts JSON-RPC calls (e.g.,
https://mainnet.base.org) - Chain ID: the network's unique numeric identifier (Base mainnet is
8453) - Currency symbol: the native gas token ticker (ETH, POL, BNB, etc.)
- Block explorer URL (optional): for viewing transaction details
You can find all of this for any supported chain on RPC Directory.
Adding a Network to MetaMask
Check the built-in list first
MetaMask lists some networks under 'Additional networks' in the network selector. Adding one from that list is the safest route, because MetaMask supplies the details for you.
- Extension: open the menu in the top right and select 'Networks'. Scroll to 'Additional networks' and click 'Add' next to the network, or search for it.
- Mobile: tap the networks dropdown at the top of the 'Tokens' tab, scroll to 'Additional networks', tap the '+' icon and confirm.
Add a network manually (extension)
- Open the menu in the top right and select 'Networks'.
- Click 'Add a custom network'.
- Enter the network details listed below and click 'Save'.
Add a network manually (mobile)
- Tap the networks dropdown at the top of the 'Tokens' tab.
- Switch to the 'Custom' tab.
- Tap 'Add a custom network' and enter the network details listed below.
The details MetaMask asks for (exact field labels can differ between versions):
- Network name: a label you will recognize, such as "Mantle"
- RPC URL: the HTTPS endpoint you want MetaMask to use
- Chain ID: the network's chain ID, such as
5000for Mantle - Currency symbol: the gas token ticker, such as
MNT - Block explorer URL: optional, used for transaction links
Once saved, the network appears in the network selector. MetaMask runs some basic checks on what you enter and warns if something looks wrong, but it does not verify that a custom network is what it claims to be.
For a worked example, the Monad mainnet RPC guide lists the Monad fields (chain ID 143, symbol MON) and the public RPC URLs that passed an 8-round probe. The Soneium mainnet RPC guide does the same for an OP Stack L2 that uses ETH (chain ID 1868), and the Chiliz mainnet RPC guide covers an EVM L1 with its own gas token (chain ID 88888, symbol CHZ). The Taiko mainnet RPC guide covers a based rollup that uses ETH (chain ID 167000), and the Boba mainnet RPC guide covers an OP Stack L2 where gas is ETH, not the BOBA token (chain ID 288).
Use your own RPC URL on a network you already have
Default networks such as Ethereum already have an RPC URL. To add your own endpoint next to it:
- Extension: open the menu in the top right and select 'Networks'. Click the three dots next to the network, open the 'Default RPC URL' dropdown, click 'Add RPC URL', then enter the URL and a nickname and save.
- Mobile: tap the networks dropdown at the top of the 'Tokens' tab. Tap the three dots next to the network and tap 'Edit'. Open the RPC URL dropdown, tap 'Add RPC URL', enter the URL and a nickname, and tap 'Save'.
You can switch between saved RPC URLs later, or delete one with the trash icon in the same screen. MetaMask notes that a custom RPC URL on Ethereum, Linea, Base, Arbitrum or BNB Smart Chain turns off Smart Transactions features such as MEV protection until you switch back to the default RPC URL.
Add a network through Chainlist
Chainlist (chainid.network) can add a network to MetaMask in a few clicks. MetaMask does not maintain the Chainlist data, so compare the chain ID and RPC URL with the chain's own docs or its RPC Directory page before you confirm.
- Open chainid.network. On mobile, open it in the MetaMask in-app browser.
- Click 'Connect' and approve the connection in MetaMask.
- Search for the network and click 'Add Chain'.
- Review the request in MetaMask and approve it.
For dapp developers: wallet_addEthereumChain
A dapp can ask MetaMask to add a network with the wallet_addEthereumChain method (EIP-3085). It takes one object with these fields:
chainId: the chain ID as a hex string, such as0x1388for Mantle (5000)chainName: the display name, such asMantlenativeCurrency: the gas token name, symbol and decimals, such asMNTwith 18 decimalsrpcUrls: one or more HTTPS endpoints, such ashttps://rpc.mantle.xyzblockExplorerUrls: optional, such ashttps://mantlescan.xyz
MetaMask shows the user a confirmation with the details your dapp sent, and the user decides whether to add the network. If a switch request fails with error code 4902, the network has not been added yet, so call wallet_addEthereumChain first.
When a website asks MetaMask to add a network, the confirmation shows only what that website sent. Trust it as much as you trust the site, and check the chain ID against chainid.network or the chain's RPC Directory page.
Networks do not sync between devices
A network added in the extension does not appear in the mobile app, and the other way round. Custom networks also need to be added again after you reinstall MetaMask and restore your wallet.
Sources
- MetaMask Help Center: How to add a network
- MetaMask Help Center: How to verify custom network information
- MetaMask developer docs: Manage networks and wallet_addEthereumChain
- EIP-3085: wallet_addEthereumChain
Choosing the Right RPC Endpoint
Not all endpoints perform equally under load. Here's what to consider:
Public endpoints are free and require no signup. They work for development, low-traffic dApps, and personal wallets. Limitations: rate limits (often 10–50 req/s), no uptime SLAs, and restricted method support (rarely archive data or debug_* calls).
Paid provider endpoints trade monthly cost for reliability. Expect 99.9%+ uptime SLAs, higher throughput (500–5,000 req/s), WebSocket support, and access to archive nodes and trace methods. If you're running anything production-grade, you'll want a paid tier eventually.
Check our public vs paid RPC guide for a deeper breakdown of when to upgrade.
Common Chain IDs
| Network | Chain ID | Symbol |
|---|---|---|
| Ethereum | 1 | ETH |
| Base | 8453 | ETH |
| Arbitrum One | 42161 | ETH |
| OP Mainnet (Optimism) | 10 | ETH |
| Polygon PoS | 137 | POL |
| BNB Chain | 56 | BNB |
| Avalanche C-Chain | 43114 | AVAX |
Find the full list, with working endpoints, on the chains page. Chain IDs match chainid.network.
Chain RPC Guides
Per-chain RPC guides with chain IDs and the quirks that matter for wallets and apps:
- Ethereum mainnet RPC for wallets: Chain ID 1 / 0x1, Sepolia and L2 mix-ups, public vs dedicated
- Base mainnet RPC for wallets: Chain ID 8453 / 0x2105, OP Stack quirks, public vs dedicated
- Arbitrum mainnet RPC checks: Chain ID 42161, Nitro soft confirmations, safe / finalized
- BSC RPC production checklist: Chain ID 56, archive, WebSocket, confirmation tags
- Polygon mainnet RPC for wallets: Chain ID 137 / 0x89, POL vs MATIC, public vs dedicated
- Optimism mainnet RPC for L2 teams: Sequencer vs public RPC, safe / finalized confirmation tags
- Avalanche C-Chain RPC for builders: Chain ID 43114, AVAX gas, Coreth fees vs Ethereum habits
- opBNB mainnet RPC for wallets: Chain ID 204 / 0xcc, OP Stack vs BSC, public vs dedicated
- zkSync Era mainnet RPC for wallets: Chain ID 324 / 0x144, native AA, 0x71 txs, pubdata gas
Troubleshooting
"Could not fetch chain ID" or connection errors
The RPC URL is unreachable or returning unexpected responses. Check for typos, confirm the endpoint is live, or try a different endpoint from our directory.
"Invalid Chain ID" or network mismatch
The chain ID you entered doesn't match what the RPC node reports. Double-check the correct ID on RPC Directory and re-enter it.
"Network already exists"
The wallet won't add duplicate networks. Find the existing entry in your network settings and either edit it or delete it before adding a new one.
Transactions stuck or failing
This usually points to endpoint issues (rate limits, downtime) or network congestion. Try switching to a different RPC endpoint, or check a block explorer to see if the network itself is slow. Also confirm you have enough native tokens for gas.
Next Steps
With your network configured, you can bridge assets using cross-chain bridges, interact with dApps directly, or add more networks for multi-chain workflows.
Browse RPC Directory to find endpoints for any chain and compare providers when you're ready to move beyond public infrastructure.
Using another wallet too? We have guides for Rabby, Rainbow, Phantom, Bifrost and Talisman.
---
Don't have MetaMask yet? Download it here.