Fix MetaMask 'Internal JSON-RPC Error' (Transaction Failed)
Updated: 11/29/2025
You are trying to mint an NFT or swap a token, and the gas fees are high. You hit confirm, but the wallet throws a red error: 'Internal JSON-RPC Error'. This is a generic wrapper error, but in 99% of cases, it means the Gas Limit was too low for the network conditions, or your browser extension has desynced from the blockchain node.
Table of Contents
Method 1: Increase Gas Limit Manually
The automated gas estimator often fails during network congestion.
Step 1: Edit Gas
When the transaction pop-up appears, do not click Confirm yet. Click 'Edit' or 'Market' next to the Gas Fee.
Step 2: Choose High
Select 'High' or 'Aggressive'. This costs a few cents more but ensures the miners prioritize your transaction, preventing the RPC timeout.
Method 2: Reset Account (Clears Nonce)
If you have a 'stuck' transaction from days ago, it blocks all future transactions. You need to clear the transaction history (Nonce).
Step 1: Settings
Click the circle icon > Settings > Advanced.
Step 2: Reset
Scroll down and click 'Reset Account'. This wipes the pending queue and usually fixes the JSON error instantly.
Method 3: Change RPC Network URL
The default endpoint might be overloaded. Switch to a backup node.
- Go to Settings > Networks.
- Select the network (e.g., Ethereum Mainnet or BSC).
- Replace the 'New RPC URL' with a public alternative (e.g., for BSC, switch from
bsc-dataseed.binance.orgtobsc-dataseed1.defibit.io).