If you use MetaMask as your hot wallet, adding custom RPCs is a regular task. It unlocks access to EVM-compatible networks, L2s, and testnets. I use custom RPCs daily for testing and occasional cheaper swaps. This guide tells you how to add networks, what each field means, how dApps can request additions (wallet_addethereumchain metamask), and the risks to watch for.
Adding a custom RPC in MetaMask connects the software wallet to a node that speaks JSON-RPC. That node answers blockchain queries and submits transactions. One network can be an L2, an EVM-compatible chain, or a specialized testnet. Add the network when: you want to use tokens on that chain, connect to a specific dApp, or test contracts.
Why care about RPC selection? Because a slow or malicious RPC causes failed transactions, incorrect balances, or misleading data (and yes, I’ve seen both on bad endpoints).
If any of those are wrong, the network won't work correctly. Short sentence. Fixable though.
If a dApp requests the change, MetaMask will show a confirmation prompt instead of doing it silently. Be intentional when you accept.
(If the UI differs, see the install-extension and networks-multi-chain pages.)
Mobile screens are smaller but the fields are the same. And yes, sometimes the mobile RPC test fails while desktop works.
Want to add Polygon? You can follow the exact parameters on the dedicated page. For a quick example, the key fields are:
If you want a step-by-step with screenshots, see how-to-add-polygon or add-polygon.
A dApp can prompt your wallet to add or switch networks with the RPC method wallet_addEthereumChain (often camel-cased in code). The call includes the same fields you'd type manually. Example shape (simplified):
{
"method": "wallet_addEthereumChain",
"params": [{
"chainId": "0x89",
"rpcUrls": ["https://polygon-rpc.com"],
"chainName": "Polygon",
"nativeCurrency": {"name":"MATIC","symbol":"MATIC","decimals":18}
}]
}
Why does that matter? Because a malicious dApp could prompt you to add a bogus chain. Always check the values before approving.
For developer-focused details see developer-integration and how-to-wallet-addethereumchain.
| Field | What it does | Common errors |
|---|---|---|
| Network Name | Friendly label shown in UI | Typos make networks confusing |
| New RPC URL | JSON-RPC endpoint your wallet talks to | Wrong URL = no responses / timeouts |
| Chain ID | Numeric ID (decimal or hex) | Mismatch causes "wrong network" errors |
| Currency Symbol | Display token for fees | Wrong symbol shows incorrect token name |
| Block Explorer URL | Link to tx/account pages | Optional, but helpful for verification |
Not all RPCs are equal. Public endpoints may throttle you under load. Private or hosted nodes reduce latency. Running your own node is the most private option (and the most work). I recommend using official RPCs from the network docs or your own node for production use.
What happens if the node is slow? Gas estimation can be inaccurate. Transactions can fail or stay pending. Worse, a malicious node can alter the data it returns, showing fake balances. So treat RPC selection as part of your security posture.
Connecting a Ledger or other hardware device still uses MetaMask as the interface. When you pair a Ledger you may need to select the correct HD path to find addresses. The most common Ethereum path is m/44'/60'/0'/0. If you don’t see your account, try different derivation paths from the wallet connect flow.
See connect-ledger and ledger-troubleshooting for step-by-step help.
If a transaction won’t go through, check gas settings on the gas-fees-and-eip-1559 page.
Also: revoke unnecessary approvals after using a new dApp. See revoke-approvals.
Q: Is it safe to add a custom RPC URL? A: Generally yes, but safety depends on the endpoint. A node can't steal private keys, but it can return misleading data. Use official endpoints or your own node for high-value operations.
Q: How do I remove a custom network? A: Settings → Networks → select the network → Remove. Simple.
Q: What happens if the Chain ID is wrong? A: Your wallet may refuse to use the RPC or show a mismatch error. Transactions could be rejected by nodes. Fix the chainId to match the network.
Q: How can I add Polygon automatically from a dApp? A: A dApp can call wallet_addEthereumChain. You’ll see a confirmation prompt with the exact parameters. Confirm only if they match the official values.
Adding custom RPCs in MetaMask gives you access to more chains and cheaper transactions. But choose endpoints with care. I’ve had better success using official RPCs or a private node for repeated high-value activity. If you're planning to use bridges or L2s, also read bridges-cross-chain and layer2.
Want the exact Polygon fields and screenshots? See how-to-add-polygon and add-polygon. If you use a Ledger, check connect-ledger for HD path tips.
Ready to add a network? Double-check chainId and RPC URL before you hit Save. But if you want a checklist or step-by-step screenshots, follow the linked guides above.