Transactions internes Ethereum : où retrouver les ETH reçus
Un contrat peut envoyer des ETH pendant une autre transaction. Retrouvez ce mouvement sous le hash parent et distinguez-le du solde natif actuel.
Des ETH envoyés par un contrat peuvent arriver à votre adresse sans entrée distincte dans l’activité habituelle de votre portefeuille. Sur Ethereum Mainnet, recherchez le mouvement dans Internal Txns sur l’explorateur, puis ouvrez sa transaction parente. Vérifiez que le destinataire, le montant en ETH natifs et le résultat de l’exécution correspondent avant de conclure que le transfert a réussi.
L’absence d’une ligne ne prouve pas, à elle seule, qu’il manque de l’argent. La page d’aide actuelle de MetaMask décrit cette limite de l’historique tout en précisant que les fonds reçus modifient le solde du compte. C’est une limite d’affichage documentée, pas un test de votre portefeuille ni la preuve d’un paiement particulier.
Ce que représente une transaction interne
Une transaction signée peut appeler un contrat, qui peut envoyer des ETH pendant l’exécution de son code. Le destinataire de ce mouvement interne peut être différent de l’adresse de destination affichée en haut de la page de la transaction.
La documentation de Solidity explique qu’un appel entre contrats fait partie de la transaction globale ; il ne crée pas une nouvelle transaction à part entière. L’enregistrement interne de l’explorateur renvoie à cette exécution. Vous ne devez pas vous attendre à une seconde transaction signée indépendamment pour ce seul mouvement.
Interne ne signifie pas hors chaîne, caché ou bloqué. Les ETH qui en résultent font partie du solde natif de l’adresse. N’ajoutez pas le montant d’un transfert interne à ce solde pour calculer vos avoirs.
Retrouver le mouvement d’ETH entrant
Utilisez l’adresse destinataire complète et, si vous l’avez, le hash de la transaction d’origine. Ouvrez un explorateur que vous connaissez en passant par un accès fiable. Ces vérifications publiques ne demandent ni de connecter un portefeuille, ni de signer quoi que ce soit, ni de communiquer une phrase de récupération.
- Sélectionnez Ethereum Mainnet et l’adresse destinataire. Une adresse d’apparence identique sur un autre réseau correspond à une autre vérification de solde. Confirmez que l’actif attendu est bien de l’ETH natif. ETH et WETH ont des soldes distincts.
- Ouvrez Internal Txns sur la page de l’adresse. Etherscan distingue les mouvements d’ETH effectués par l’intermédiaire de contrats des transactions ordinaires et des enregistrements de transferts de jetons. Servez-vous de l’heure et du montant attendus pour repérer un mouvement possible, puis ouvrez son hash parent. Si vous avez déjà le hash, examinez les mouvements internes qui lui sont associés.
- Vérifiez le destinataire interne et le montant. Comparez l’adresse de destination complète à celle du destinataire prévu. Lisez la valeur en ETH natifs, pas une estimation en dollars ni un jeton au nom similaire. Un appel de valeur nulle n’est pas un paiement d’ETH d’un montant positif.
- Recherchez les erreurs et les annulations. Lisez le résultat de la transaction parente et les éventuels indicateurs d’erreur ou d’annulation sur le chemin d’appels concerné. Une tentative de transfert visible ne suffit pas : une annulation ultérieure dans un appel englobant peut l’annuler. Si l’explorateur ne permet pas de le déterminer clairement, conservez cette incertitude au lieu de compter le montant comme reçu.
- Vérifiez séparément le solde natif actuel. Notez le bloc ou l’heure de cette lecture. Elle aide à établir vos avoirs actuels, mais des transferts ultérieurs ou d’autres activités peuvent avoir modifié le montant depuis la transaction trouvée.
Conservez ensemble le réseau, le hash parent, le bloc, le destinataire, le montant et les éventuels indicateurs d’erreur. Le support du portefeuille ou du protocole disposera ainsi d’un enregistrement public précis à examiner lorsque les affichages divergent.
Une trace brute des appels n’est pas une liste de paiements
Un explorateur peut reconstituer ce qui s’est passé pendant l’exécution sous forme de trace : un arbre d’appels. Le traceur d’appels de Geth comprend les types d’appels, les adresses, les valeurs, les appels imbriqués et les erreurs. Ces champs doivent être lus dans leur contexte.
N’additionnez pas toutes les valeurs de cet arbre. Par exemple, la destination d’un DELEGATECALL désigne le code exécuté, pas un nouveau destinataire d’un paiement en ETH. Les listes de transferts de l’explorateur peuvent aussi filtrer les appels sous-jacents. La vue des transferts internes ne correspond donc pas nécessairement à la trace complète.
L’annulation est une autre raison de lire le chemin d’appels plutôt qu’une seule ligne. La documentation de Solidity sur la gestion des erreurs explique qu’une exception peut annuler les modifications d’un appel et de ses sous-appels. Une transaction parente réussie peut tout de même contenir une tentative interne qui a échoué et dont l’erreur a été gérée.
Si vous attendiez un jeton ERC-20, consultez le guide consacré aux transactions réussies et aux transferts de jetons. Trouver un enregistrement interne d’ETH ne prouve pas la réception de ce jeton.
Distinguer le solde de l’enregistrement dans l’historique
La requête de solde natif d’Ethereum lit le solde d’une adresse à un bloc donné ou à l’aide d’une étiquette de bloc. Le solde actuel n’indique pas quelle transaction l’a produit. Même la différence entre les soldes de deux blocs peut inclure plusieurs transactions. Une lecture qui échoue ou une trace manquante constitue une preuve indisponible, pas un solde nul ni la preuve qu’aucun transfert n’a eu lieu.
Owlio 1.1.0 lit le solde actuel en ETH natifs d’une adresse Ethereum que vous ajoutez, sans connexion de portefeuille ni signature de transaction. Utilisez un explorateur pour examiner la transaction parente et ses mouvements internes ; le montant du portefeuille n’explique pas ce chemin d’appels. Les listes d’adresses sont stockées localement, tandis que les fournisseurs de données peuvent voir l’adresse interrogée et votre IP, comme l’indique la politique de confidentialité.
Un compte sur une plateforme d’échange pose une question distincte : le fournisseur a-t-il crédité son propre registre client ? La réception sur la chaîne à une adresse de dépôt ne prouve pas que ce crédit a eu lieu. Vérifiez les règles de dépôt actuelles du fournisseur et le dossier du support au lieu de supposer qu’une explication sur l’historique du portefeuille règle la question.
L’absence d’une ligne dans l’historique ordinaire n’impose pas, à elle seule, une étape supplémentaire de réclamation ou de déblocage. Si un retrait de protocole nécessite encore une réclamation, il s’agit d’une procédure distincte à vérifier dans sa documentation. N’envoyez pas un autre paiement uniquement pour faire apparaître une entrée d’activité. Ces vérifications reposent sur des documentations primaires consultées le 6 novembre 2026 ; aucun transfert réel n’a été effectué pour cet article.
Questions fréquentes
Les ETH reçus par une transaction interne sont-ils un autre jeton ?
Non. Un transfert réussi d'ETH natifs modifie le solde ETH de l'adresse destinataire. Le terme interne décrit la façon dont le mouvement s'est produit pendant l'exécution, pas un jeton distinct ni un solde caché à ajouter une seconde fois.
Internal Txns signifie-t-il que mon transfert est toujours en attente ?
Non. Il s'agit d'une catégorie de l'explorateur, pas d'un statut de confirmation. Vérifiez l'inclusion et le résultat de la transaction parente, ainsi que l'éventuelle annulation du transfert interne concerné.
Pourquoi le transfert interne renvoie-t-il au même hash de transaction ?
Il s'est produit au sein de cette transaction parente. Un appel interne du contrat ne crée pas une nouvelle transaction signée indépendamment. L'explorateur peut utiliser un index de trace pour distinguer les appels d'une même exécution.