Qu'est-ce que l'erreur Internal JSON-RPC sur MetaMask ?
L'Internal JSON-RPC error indique que MetaMask a envoyé une requête à un nœud de blockchain et a reçu un échec au lieu d'une réponse exploitable. En arrière-plan, elle correspond au code d'erreur -32603 dans la référence JSON-RPC de MetaMask, un code générique que le protocole réserve aux charges utiles erronées ou invalides.
Puisque MetaMask s'appuie sur le JSON-RPC pour tout, le message peut interrompre la vérification des soldes, les swap de tokens, les appels de contrats et même le changement de réseau. Il apparaît le plus souvent sur Ethereum, les Layer 2 networks tels que Base et Arbitrum, et le Sepolia testnet, où des points de terminaison individuels tombent en panne sans avertissement.
Depuis que MetaMask est devenu un wallet multichain englobant Ethereum, Solana, Bitcoin et TRON, l'erreur a également commencé à apparaître sur des requêtes non-EVM que les versions plus anciennes, exclusivement dédiées à Ethereum, ne faisaient jamais. Les correctifs ci-dessous couvrent à la fois les causes classiques et les plus récentes introduites par cette refonte.

Comment corriger une erreur interne JSON-RPC
La plupart du temps, le problème provient d'un simple paramètre mal configuré plutôt que d'un dysfonctionnement profond du wallet. Par conséquent, l'exécution méthodique des vérifications ci-dessous permet de résoudre l'erreur rapidement.
Parcourez ces sept corrections dans l'ordre jusqu'à la disparition de l'erreur :
- Paramètres réseau : Ouvrez le menu des réseaux, modifiez la chaîne défaillante et vérifiez son URL RPC ainsi que son ID de chaîne par rapport à la documentation officielle, ou rajoutez-la automatiquement via ChainList.
- Solde de gas : Détenez une quantité suffisante du token natif du réseau, tel que ETH, BNB ou POL, avant de réessayer, et consultez d'abord les frais en direct grâce à notre suivi du gas Ethereum.
- Mise à jour du wallet : Installez la dernière version de l'extension ou de l'application mobile, sachant que l'architecture de compte multichain de MetaMask est arrivée avec l'Extension 13.5 et Mobile 7.57, et que les versions plus anciennes interprètent mal les réponses récentes.
- Point de terminaison RPC : Remplacez un point de terminaison lent ou inactif par une alternative provenant de ChainList ou d'un fournisseur spécialisé tel qu'Infura ou Alchemy, puis relancez la transaction échouée.
- Wallets matériels : Mettez à jour le micrologiciel Ledger ou Trezor, activez les données de contrats intelligents dans l'application Ethereum de l'appareil et reconnectez-vous selon la méthode recommandée par le guide de dépannage de Ledger.
- Réinitialisation du compte : Utilisez l'option Effacer les données de l'onglet Activité dans les paramètres avancés pour supprimer l'historique des transactions en cache ainsi que les nonces bloqués, ce qui oblige MetaMask à se resynchroniser proprement avec le nœud.
- Vérification du testnet : Assurez-vous que le testnet visé existe toujours, car Holesky a été mis hors service après la mise à niveau Fusaka et ses anciens points de terminaison rejettent désormais toutes les requêtes.
Si chaque étape échoue, le centre d'aide MetaMask propose des diagnostics plus approfondis, incluant des journaux d'état que l'équipe de support peut examiner directement. Des échecs persistants sur une seule dApp signifient généralement que le problème provient des appels de contrats de cette application et non de votre wallet. Testez donc un autre site avant d'escalader le problème.

Comment ajouter correctement un RPC à l'aide de ChainList
La saisie manuelle des détails RPC demeure la cause principale de cette erreur, dans la mesure où un seul caractère erroné dans une URL ou un ID de chaîne perturbe l'ensemble des requêtes envoyées par la suite par le wallet. ChainList élimine ce risque en répertoriant des points de terminaison vérifiés pour des centaines de réseaux et en les injectant dans MetaMask en un seul clic.
Nous employons la même procédure dans notre guide pour ajouter HyperEVM à MetaMask. Par conséquent, les étapes ci-dessous s'appliquent à presque toutes les chaînes EVM, qu'il s'agisse de grands réseaux Layer 2 ou de nouveaux mainnets. Quatre étapes vous permettent de passer d'une liste de réseaux vide à une connexion vérifiée.

1. Connecter MetaMask à ChainList
ChainList récupère les paramètres réseau à partir d'un registre géré par la communauté. Par conséquent, la connexion de votre wallet permet d'inscrire directement ces informations vérifiées dans MetaMask sans nécessiter de copier-coller manuel.
Voici comment lier votre wallet au site :
- Ouvrir ChainList : Rendez-vous sur chainlist.org et vérifiez attentivement l'orthographe de l'adresse URL avant de vous connecter, car des versions clonées du site ont circulé avec des points de terminaison RPC malveillants préchargés.
- Connecter le wallet : Cliquez sur le bouton Connect Wallet situé dans le coin supérieur droit, sélectionnez MetaMask parmi les options proposées, puis approuvez la demande de connexion qui s'affiche dans la fenêtre pop-up de l'extension.
- Vérifier les autorisations : Le site requiert uniquement un accès en lecture afin de transmettre les détails du réseau. Refusez donc toute invite demandant des signatures, des approbations de tokens ou des autorisations de dépenses quelconques.

2. Rechercher le réseau adéquat
La plupart des chaînes possèdent plusieurs versions, et confondre un mainnet avec son testnet entraîne des échecs de transactions, des soldes invisibles et de nouvelles erreurs JSON-RPC en quelques minutes.
Suivez ces vérifications pour trouver le bon résultat :
- Rechercher avec précision : Saisissez le nom exact du réseau, qu'il s'agisse de Base, de Linea ou d'une chaîne plus récente comme Monad, et activez le bouton des testnets uniquement lorsque vous en avez besoin.
- Vérifiez les identifiants : comparez l'identifiant de chaîne (Chain ID) affiché avec la documentation officielle du projet, car les réseaux frauduleux réutilisent parfois des noms familiers tout en pointant vers des chaînes totalement différentes sous le capot.
- Attention aux testnets : pour les tests sur Ethereum, utilisez Sepolia pour les dApps et Hoodi pour le travail de validateur, car la Fondation Ethereum a retiré Holesky et ses listes ne fonctionnent plus.

3. Ajouter le RPC à MetaMask
Une fois le bon réseau affiché, ChainList transmet la configuration complète à MetaMask en une seule invite, ce que permet d'éliminer les fautes de frappe qu'entraîne une saisie manuelle.
Effectuez ces trois actions rapides pour finaliser le transfert :
- Ajouter le réseau : appuyez sur Ajouter à MetaMask à côté de l'entrée présentant le meilleur score de latence, car ChainList classe chaque point de terminaison public en fonction de sa vitesse mesurée en direct et de sa fiabilité.
- Examiner la fenêtre contextuelle : lisez la fenêtre MetaMask affichant l'URL RPC, l'identifiant de chaîne (Chain ID), le symbole de la monnaie et l'explorateur de blocs, puis comparez chaque valeur avant d'accorder votre approbation finale.
- Basculer : approuvez l'ajout et sélectionnez Changer de réseau lorsque vous y êtes invité, ce qui rend la nouvelle chaîne immédiatement active et prête pour une petite transaction de test.

4. Vérifier les paramètres par la suite
Même les entrées vérifiées dérivent avec le temps à mesure que les fournisseurs retirent des points de terminaison, un examen rapide dans MetaMask confirme donc que tout s'est correctement enregistré et répond toujours aujourd'hui.
Exécutez cette dernière vérification avant de transférer de vrais fonds :
- Ouvrir les paramètres : rendez-vous sur le sélecteur de réseau, choisissez la chaîne récemment ajoutée et cliquez sur Modifier pour afficher tous les paramètres enregistrés que MetaMask utilisera pour ses requêtes.
- Faire des recoupements : comparez l'URL RPC, l'identifiant de chaîne (Chain ID) et le symbole de la monnaie avec la documentation du réseau elle-même plutôt qu'avec un blog tiers, une capture d'écran ou un message Discord non officiel.
- Alterner les points de terminaison : si les requêtes semblent lentes ou échouent par intermittence, remplacez l'URL par une autre option de ChainList, car MetaMask prend désormais en charge plusieurs URL RPC enregistrées par réseau.

Pourquoi l'erreur JSON-RPC se produit-elle ?
Les échecs JSON-RPC se résument à une chose : le nœud n'a jamais reçu de requête valide ou n'a pas pu renvoyer de réponse valide. La documentation pour développeurs de MetaMask répertorie 17 codes d'erreur JSON-RPC distincts, et cette variété interne s'ajoute aux limites de taux (rate limits), aux erreurs d'analyse syntaxique et aux transactions rejetées dans ce tableau.
Comprendre quel type d'échec vous rencontrez fait gagner du temps, car chacun pointe vers une correction différente, allant du changement de point de terminaison à la simple attente de la fin de la congestion.
Voici les raisons les plus courantes pour lesquelles les requêtes JSON-RPC échouent :
- Requêtes mal formées : une dApp construit un appel de contrat avec des données d'entrée incorrectes ou de mauvais paramètres, de sorte que le nœud rejette la charge utile avant même qu'elle n'atteigne l'exécution.
- Limites de taux (rate limits) : les points de terminaison publics gratuits et les formules basées sur des crédits d'Infura plafonnent le volume des requêtes, et les périodes de forte affluence telles que les lancements de tokens poussent les wallets au-delà de ces plafonds en quelques secondes.
- Nœuds obsolètes : un nœud désynchronisé fournit un état de chaîne obsolète, ce qui génère des soldes erronés, des transactions bloquées et des cotations de swap qui échouent dès que MetaMask tente de les exécuter.
- Annulations de contrats : un smart contract manque de gas ou s'annule en milieu d'exécution, ce que MetaMask signale comme un échec RPC lors du bridging, du staking ou des réclamations d'airdrop de tokens.
- Incompatibilités de chaînes : Certains points de terminaison ignorent les méthodes requises par les réseaux Layer 2, ce qui fait échouer les swap ou les déploiements sur ces chaînes, même lorsque le Chain ID est correct.
- Testnets obsolètes : Les requêtes adressées à des réseaux de test retirés comme Holesky ou l'ancien Goerli échouent instantanément, car aucun nœud actif ne répond plus aux requêtes sur ces points de terminaison obsolètes.
- Appels groupés : Les fonctionnalités de compte intelligent EIP-7702 regroupent plusieurs actions en une seule transaction, et une seule étape de restauration au sein du bundle peut faire échouer l'ensemble de la requête groupée.
Certains de ces éléments dépendent de vous, d'autres non. Le choix du point de terminaison, les soldes de gas et les versions logicielles se corrigent en quelques minutes, tandis que les pannes de fournisseurs et la congestions du réseau exigent simplement de la patience ou un basculement temporaire vers un autre RPC jusqu'à ce que les conditions s'améliorent.

Comment les récentes mises à jour de MetaMask ont modifié le dépannage RPC
MetaMask est très différent du wallet que cette erreur a touché à ses débuts. Entre 2025 et 2026, il a intégré la prise en charge de Solana, Bitcoin, TRON, SEI et Monad, a reconstruit son système de comptes et a déployé des mises à niveau de comptes intelligents, ce qui a redéfini où et comment apparaissent les pannes RPC.
Les comptes multichaînes fusionnent chaque réseau en un seul
Depuis l'Extension 13.5, chaque compte MetaMask regroupe une adresse EVM, une adresse Solana et une adresse Bitcoin sous un nom unique, le wallet acheminant les requêtes automatiquement. Une défaillance sur un réseau ne signifie plus que l'ensemble de votre wallet est corrompu, testez donc toujours une deuxième chaîne avant de supposer une altération.
Les chaînes Non-EVM utilisent leur propre infrastructure de nœuds, de sorte qu'une panne Solana produit des symptômes différents d'une panne Ethereum, même au sein de la même interface. Lorsque les erreurs touchent un seul écosystème, des problèmes de point de terminaison sur ce réseau spécifique en sont la cause probable, plutôt qu'un dysfonctionnement de votre installation.

Les comptes intelligents ajoutent une nouvelle surface de défaillance
La mise à niveau Pectra d'Ethereum a activé l'EIP-7702 en mai 2025, permettant aux comptes MetaMask ordinaires de se comporter temporairement comme des smart contracts pour des transactions par lots et le parrainage de gas. Ces opérations groupées transitent par une infrastructure supplémentaire, et lorsqu'un bundler ou un paymaster se comporte mal, le wallet signale souvent cela comme une erreur interne générique.
Si l'erreur n'apparaît que lorsqu'une dApp demande une action groupée ou une mise à niveau de compte, refusez l'invite de compte intelligent et réessayez en tant que transaction standard. Cela permet d'isoler si le problème réside dans le flux de délégation ou dans la connexion RPC sous-jacente que vous dépanneriez normalement.
Le bouleversement des testnets d'Ethereum a cassé les anciennes configurations
La Fondation Ethereum a retiré Holesky après la finalisation de la mise à niveau Fusaka, le remplacant par Hoodi pour les tests de validateurs tout en recommandant Sepolia pour le travail sur les smart contracts. Toute configuration de Holesky encore enregistrée dans MetaMask génère désormais des erreurs JSON-RPC à chaque requête, et aucun ajustement de paramètres ne la fera refonctionner.
Les développeurs doivent supprimer entièrement les entrées de testnet obsolètes et réajouter les actuelles via ChainList. Sepolia reste le choix par défaut pour les tests de dApp, tandis qu'un successeur à Sepolia est déjà prévu, attendez-vous donc à ce que ce cycle de dépréciation de testnets continue de produire des erreurs RPC fantômes toutes les quelques années.
Comment lire le code d'erreur derrière le message
MetaMask masque souvent le code numérique dans les détails de l'erreur, mais les développer vous indique exactement quelle catégorie de panne s'est produite. La comparaison du code avec la table de référence de MetaMask transforme un message vague en un diagnostic précis et pointe généralement directement vers la bonne solution.
Une poignée de codes expliquent presque toutes les pannes signalées par les utilisateurs, les reconnaître au premier coup d'œil rend donc le dépannage nettement plus rapide que de deviner à l'aveuglette à chaque fois.
Voici les codes à mémoriser et leurs significations :
- Code -32603 : L'erreur interne classique, déclenchée par une charge utile erronée ou invalide, et le code qui se cache derrière la plupart des apparitions de ce message d'erreur exact sur MetaMask.
- Code -32000 : Entrée invalide, généralement des paramètres manquants ou un bloc que le nœud n'a pas encore traité, ce qui se résout souvent après le passage à un point de terminaison RPC plus sain.
- Code -32005 : Limite dépassée, ce qui signifie que vos requêtes ont dépassé le plafond du fournisseur, alors ralentissez, patientez une minute ou passez simplement à un point de terminaison public moins encombré.
- Code -32602 : Argument invalide, typiquement une erreur de formatage comme un préfixe 0x manquant, ce qui pointe vers le code de la dApp plutôt que vers votre propre configuration de wallet ou de réseau.
- Code -32601 : Méthode introuvable, ce qui signifie que le point de terminaison ne prend pas en charge ce que MetaMask a demandé, un problème fréquent sur les points de terminaison RPC publics minimaux desservant les chaînes plus récentes.
- Code 429 : Une erreur de débit HTTP plutôt qu'une erreur JSON-RPC, indiquant que le fournisseur lui-même vous a bridé, ce qui se résout facilement en mettant à niveau les abonnements ou en effectuant une rotation des points de terminaison.

Comment éviter les problèmes RPC dans MetaMask
La prévention repose essentiellement sur l'hygiène des points de terminaison. Ajoutez des réseaux via ChainList ou la documentation officielle plutôt que via des tutoriels aléatoires, conservez une URL RPC de secours pour chaque chaîne que vous utilisez régulièrement, et envisagez d'obtenir une clé personnelle gratuite auprès d'un fournisseur comme Infura ou Alchemy afin d'arrêter de concurrencer la capacité publique partagée.
La maintenance de routine est tout aussi importante. Maintenez l'extension et l'application mobile à jour, effacez les données d'activité après des transactions échouées plutôt de laisser les erreurs obsolètes s'accumuler, et supprimez les réseaux que vous n'utilisez plus, car chaque entrée morte représente une future erreur qui n'attend qu'un clic accidentel.

Dernières réflexions
L'erreur interne JSON-RPC a l'air alarmante mais ne signale presque jamais la perte de fonds, il s'agit simplement d'une conversation interrompue entre votre wallet et un nœud. Vérifier les détails du réseau, changer de point de terminaison, financer le gas et mettre à jour le logiciel résout la grande majorité des cas sans nécessiter l'intervention du support.
Alors que MetaMask continue de s'étendre à travers les chaînes, savoir gérer soi-même les connexions RPC devient une compétence essentielle pour tout wallet. Ajoutez ChainList à vos favoris, apprenez les codes d'erreur ci-dessus, et si vous pesez le pour et le contre des alternatives, notre guide des meilleurs crypto wallets compare la manière dont les options concurrentes gèrent les mêmes problèmes.






