How to Fix Internal JSON RPC Error

Summary: The internal JSON-RPC error on MetaMask often stems from network configuration issues, insufficient funds for gas fees, outdated software, or hardware wallet connection problems.

You can fix this error by checking network settings, ensuring sufficient tokens for gas fees, updating MetaMask, and properly reconnecting your hardware wallet.

What is Internal JSON-RPC Error on MetaMask?

The Internal JSON-RPC Error in MetaMask occurs when the wallet cannot communicate with a blockchain node using the JSON-RPC (JavaScript Object Notation - Remote Procedure Call) protocol. MetaMask depends on this protocol to retrieve balances, process transactions, and interact with smart contracts.

This error is common on Ethereum, Layer 2 networks like Arbitrum and Optimism, and testnets such as Sepolia, where RPC endpoints may be unstable. It usually results from incorrect network settings, an unresponsive RPC provider, or outdated MetaMask software, disrupting transaction execution.

Other causes include low gas fees, failed smart contract calls, or unsupported operations on certain networks. These issues prevent MetaMask from completing requests, leading to transaction failures and unexpected errors.

Internal JSON-RPC Error

How to Fix Internal JSON-RPC Error

Fixing MetaMask's Internal JSON-RPC Error is usually straightforward and requires checking a few settings. Most users can resolve it in minutes by verifying their network configuration, updating MetaMask, or switching to a different RPC provider.

Follow these steps in order to resolve the error:

  1. Check Network Configuration: Ensure the network is correctly added in MetaMask. Use ChainList for automatic setup or manually verify the RPC URL and Chain ID in your wallet.
  2. Verify Sufficient Funds: Make sure your wallet has enough native tokens (ETH, BNB, UNI, etc.) to cover gas fees. If needed, transfer additional tokens and retry the transaction.
  3. Update MetaMask: Install the latest version of the browser extension from the Chrome Web Store or the mobile app from the App Store or Google Play.
  4. Connect Hardware Wallet Properly: If using a Ledger or Trezor, select the correct connection method in MetaMask. For Ledger, set "Ledger Live" as the preferred connection and reconnect.
  5. Reset Accounts: If the issue persists on test accounts or multiple devices, reset the account in MetaMask or re-add the affected account. Make sure you remember your seed words.

For detailed troubleshooting steps and official support, visit the MetaMask Help Center.

How to Fix Internal JSON-RPC Error

How to Properly Add an RPC Using ChainList

Incorrect RPC settings can lead to connection issues, transaction failures, and JSON-RPC errors in MetaMask. Manually entering RPC details increases the risk of typos or outdated settings.

ChainList simplifies this by providing verified RPC URLs for hundreds of networks, ensuring correct configurations with a single click.

Follow these steps to properly add an RPC to MetaMask:

1. Visit ChainList and Connect MetaMask

ChainList is a trusted directory of blockchain networks and their corresponding RPC endpoints. Instead of manually searching for network details, you can use ChainList to retrieve them instantly.

Here’s how to do it:

  1. Open your browser and go to ChainList.
  2. Click "Connect Wallet" in the top-right corner.
  3. MetaMask will prompt you to approve the connection, click "Next" and then "Connect".
connect wallet to chainlist

2. Search for the Correct Network

Many blockchain networks have multiple versions, including mainnets, testnets, and forks. Selecting the correct one is crucial to avoid transaction failures or missing funds.

Follow these steps to select the right network:

  1. Use the search bar to enter the network name (e.g., Base, Linea, Scroll, or any other new L2 or alternative L1s like Monad).
  2. Make sure you are selecting the right network type, as testnets (like Holesky) will have different settings from mainnets.
search chain on chainlist

3. Add the RPC to MetaMask

Once you've found the correct network, you can add it directly to MetaMask without manually entering any details.

Complete the process like this:

  1. Click "Add to MetaMask" next to the verified RPC entry.
  2. A MetaMask pop-up will appear, showing the RPC URL, Chain ID, currency symbol, and block explorer URL.
  3. Click "Approve", and then click "Switch Network" if you want to use it immediately.
adding chain to metamask through chainlist

4. Verify the RPC Settings in MetaMask

Even after adding a network through ChainList, it's important to confirm that the settings are accurate and functional. Some networks provide multiple RPC options, and the default one may not always be the fastest or most stable.

Here’s how to review your settings:

  1. Open MetaMask > Dropdown menu of Chains > The newly added network > Edit.
  2. Compare the RPC URL, Chain ID, and currency symbol with the official network documentation.
  3. If the network is slow or experiencing issues, you can manually replace the RPC URL with an alternative from ChainList.
compare chain rpc details

Why Does JSON-RPC Error Occur?

JSON-RPC errors in MetaMask happen due to failed communication between the wallet and a blockchain node. This failure can be caused by invalid data, misconfigured requests, network instability, or provider restrictions. MetaMask lists 17 different types of JSON-RPC errors.

Reasons why JSON-RPC requests fail:

  • Malformed or invalid requests: If MetaMask sends an incorrectly formatted request, the node rejects it. This happens when dApps misconfigure contract calls or transactions use bad input data.
  • Node limitations or rate limits: Some RPC providers, like Infura and Alchemy, cap requests per user. High-frequency trades or batch transactions may exceed limits, causing failures.
  • Inconsistent network state: An out-of-sync RPC node can return outdated or incomplete data. This leads to incorrect balances, stuck transactions, or NFT listing errors.
  • Smart contract execution failures: If a contract reverts or runs out of gas, MetaMask registers an RPC error. This is common when bridging assets, claiming airdrops, or staking tokens.
  • Cross-network mismatches: Some RPCs lack support for certain networks, especially Layer 2 networks. Even with the correct Chain ID, swaps, liquidity adds, or contract deployments may fail.

These errors are often temporary and depend on the stability of the blockchain network, the reliability of the RPC provider, and how MetaMask processes requests. While some failures are due to user settings, others are purely infrastructure limitations beyond the user’s control.

types of json rpc errors in metamask

How to Avoid RPC Issues in MetaMask

Using a reliable RPC provider reduces the chances of JSON-RPC errors in MetaMask. When adding a custom network, always use official RPC endpoints or trusted sources like ChainList to ensure accuracy and avoid downtime.

To prevent connection failures, avoid overloading free public RPC nodes by using dedicated or private RPC services when possible. Regularly update MetaMask, clear cached data, and monitor network status to maintain stable RPC communication.

Final Thoughts

This guide provides all the essential steps to diagnose and resolve the Internal JSON-RPC Error in MetaMask, covering both common causes and best practices.

By following our manual on how to use ChainList, users can prevent RPC failures, ensure smooth transactions, and further improve their onchain experience across Ethereum and other networks.