
L’ERC-777 est une norme de jeton Ethereum qui définit les modalités de transfert des jetons, la manière dont les smart contracts les reçoivent en toute sécurité, ainsi que la possibilité pour les utilisateurs d’autoriser d’autres entités à transférer des jetons en leur nom. Compatible avec l’écosystème ERC-20, l’ERC-777 introduit des fonctions telles que la réception programmable des jetons et la délégation d’actions par opérateur.
Proposé via l’Ethereum Improvement Proposal (EIP-777) et finalisé en 2019, l’ERC-777 vise à corriger les limites des normes antérieures, notamment en matière d’expérience de réception par contrat et d’extensibilité. De nombreuses implémentations exposent les interfaces ERC-777 et ERC-20 pour garantir une reconnaissance et une compatibilité aisées avec les portefeuilles et plateformes d’échange.
L’ERC-777 vise avant tout à rendre la réception programmable et l’autorisation déléguée standard, réduisant les frictions liées aux étapes manuelles d’approbation/transfert et minimisant le risque d’envoyer des jetons à des contrats incapables de les accepter.
À l’origine, les contrats ERC-20 ne pouvaient pas détecter automatiquement les jetons entrants et dépendaient de fonctions annexes ou d’écouteurs d’événements. L’ERC-777 résout ce problème en déclenchant un rappel à la réception, ce qui permet aux destinataires de traiter immédiatement les transferts—par exemple, comptabiliser, accorder des privilèges ou rejeter des sources anormales.
L’ERC-777 repose sur deux mécanismes clés : les « receive hooks » et la « découverte d’interface ». Un receive hook alerte le destinataire (utilisateur ou contrat) à l’arrivée de jetons, lui permettant d’exécuter une logique prédéfinie comme la mise à jour de registres ou le rejet de transferts.
Pour permettre à l’expéditeur de savoir si le destinataire supporte les hooks, l’ERC-777 s’appuie sur le registre EIP-1820—un « carnet d’adresses » sur la blockchain qui enregistre les interfaces supportées par chaque adresse. Lors d’un transfert, le contrat de jeton interroge ce registre : si l’adresse destinataire a enregistré une interface receive hook, le contrat invoque le hook avant ou après le transfert de jetons.
L’ERC-777 introduit également la notion d’« opérateurs », des comptes autorisés à initier des transferts pour votre compte. Cette fonctionnalité est idéale pour les services de conservation, les paiements automatisés ou les opérations financières groupées en entreprise.
Les principales différences résident dans la réception programmable et la prise en charge des transferts délégués. L’ERC-777 intègre nativement les receive hooks et les opérateurs, alors que l’ERC-20 repose uniquement sur les flux classiques transfer/approve/transferFrom.
Pour assurer la compatibilité, de nombreux jetons ERC-777 implémentent également l’interface ERC-20 afin que les portefeuilles et plateformes d’échange historiques puissent les reconnaître. Cependant, l’ERC-777 dépendant de l’EIP-1820 pour la découverte d’interface, certains contrats ou outils anciens peuvent réagir différemment s’ils n’intègrent pas ce mécanisme.
En matière de conception, l’ERC-777 permet aux destinataires de traiter automatiquement les transferts entrants, ce qui améliore l’expérience utilisateur. Les hooks introduisent toutefois de nouvelles problématiques de sécurité et de complexité : les développeurs doivent être attentifs aux risques de réentrance.
Pour les utilisateurs, l’utilisation des jetons ERC-777 est similaire à celle des ERC-20 : la plupart des portefeuilles ne requièrent qu’une adresse et un montant. Si le destinataire est un contrat compatible avec les hooks, la réception de jetons peut automatiquement déclencher une logique comme la mise à jour de registres ou l’octroi d’accès.
Étape 1 : Vérifiez que votre portefeuille ou application reconnaît les jetons ERC-777. Consultez la documentation du jeton et les instructions du portefeuille pour garantir la prise en charge de la réception via hook.
Étape 2 : Effectuez un transfert test en envoyant un montant minimal à l’adresse cible pour vérifier le bon traitement de la réception, de la comptabilisation et du retour par le contrat destinataire.
Étape 3 : Gérez les autorisations d’opérateur. Si votre application propose une interface de gestion des opérateurs, accordez des droits délégués uniquement aux adresses de confiance et révisez/révoquez régulièrement les autorisations inutiles.
Pour les plateformes d’échange, confirmez toujours la prise en charge standard avant tout dépôt ou retrait. Par exemple, lors de l’utilisation de Gate pour des dépôts ou retraits, consultez la documentation officielle ou le support pour vérifier la disponibilité des canaux ERC-777. Si seul l’ERC-20 est pris en charge, suivez les instructions pour sélectionner le bon réseau et la bonne adresse de contrat afin d’éviter toute perte d’actifs.
L’ERC-777 est particulièrement adapté aux scénarios où « la réception déclenche l’exécution » :
En 2025, les principaux protocoles DeFi reposent principalement sur l’ERC-20. Cependant, pour les applications spécialisées nécessitant un traitement instantané à la réception, l’ERC-777 permet des interactions plus fluides.
Le principal risque provient des attaques de réentrance permises par les receive hooks. Si un contrat destinataire effectue des appels externes depuis son hook, des acteurs malveillants peuvent exploiter cette faille pour retirer plusieurs fois des fonds. Des problèmes de réentrance et de compatibilité liés aux hooks ERC-777 ont déjà causé des pertes sur certains protocoles, notamment lors de discussions communautaires sur les incidents callback/réentrance vers 2020.
Pour les utilisateurs :
Pour les développeurs :
Si vous souhaitez simplement une fonction « transfer with callback », l’ERC-1363 (modèle transferAndCall) est une option économique et légère, mais son écosystème reste limité. Si votre priorité est de supprimer l’étape d’approbation/transfert, l’ERC-2612 (autorisation permit par signature) est largement adopté dans l’ERC-20.
Pour des fonctionnalités avancées—receive hooks, délégation d’opérateurs et découverte d’interface—et si vous êtes prêt à gérer une complexité accrue et des exigences d’audit, choisissez l’ERC-777. Sinon, la combinaison ERC-20 + ERC-2612 ou l’ERC-1363 peut mieux convenir à une infrastructure existante.
En 2025, l’adoption de l’ERC-777 reste inférieure à celle de l’ERC-20. L’ERC-20 s’est imposé comme standard de facto grâce à des outils robustes et une expertise d’audit éprouvée. Bien que l’ERC-777 propose des fonctionnalités avancées, ses hooks exigent une vigilance accrue en matière de sécurité ; de nombreux projets préfèrent superposer des mécanismes permit ou callback à l’ERC-20 comme compromis.
En pratique, l’ERC-777 est utilisé comme standard « à la demande », idéal pour les équipes ayant des besoins spécifiques en réception programmable et une expertise solide en sécurité.
L’ERC-777 améliore nettement la réception et la programmabilité des jetons : les receive hooks permettent un traitement instantané à la réception, les opérateurs facilitent les paiements délégués et le registre EIP-1820 simplifie la découverte d’interface. Toutefois, ces fonctionnalités impliquent des coûts accrus en sécurité et compatibilité, nécessitant une conception rigoureuse et des tests approfondis. Pour les utilisateurs, l’expérience de transfert et de conservation reste similaire à l’ERC-20 ; sur les plateformes d’échange (comme Gate), vérifiez le support réseau avant tout dépôt pour éviter toute perte d’actifs. Globalement, l’ERC-777 est le mieux adapté aux applications automatisées ou à contrôle fin, tandis que les usages généraux continuent de s’appuyer sur l’ERC-20.
En cryptomonnaie, 777 désigne généralement la norme de jeton ERC-777—un protocole avancé sur Ethereum qui repose sur l’ERC-20 et ajoute des fonctions telles que le déclenchement d’opérations de smart contract lors des transferts de jetons. En résumé, l’ERC-777 permet des transactions de jetons plus flexibles et intelligentes.
Le principal atout de l’ERC-777 est la prise en charge des fonctions « hook » qui exécutent automatiquement une logique supplémentaire lors des transferts, éliminant la nécessité d’étapes séparées d’approbation et de transfert. Cela permet aux développeurs de concevoir des applications complexes comme le staking automatisé ou les transferts conditionnels. L’expérience utilisateur est plus fluide, mais nécessite une attention particulière aux risques liés aux hooks.
Gate prend en charge les dépôts et retraits pour la plupart des principaux jetons, dont certains ERC-777. Sur la page de dépôt/retrait de Gate, localisez votre jeton et suivez les instructions. Il est recommandé de tester d’abord avec un petit montant pour vérifier l’exactitude de l’adresse et du réseau avant d’effectuer des transactions plus importantes afin d’éviter toute perte d’actifs.
Malgré ses fonctions avancées, la complexité et les problèmes de compatibilité limitent la diffusion de l’ERC-777. De nombreux portefeuilles et plateformes d’échange historiques n’en offrent qu’un support partiel, tandis que son mécanisme de hook impose une vigilance accrue sur la sécurité. Ainsi, la plupart des projets privilégient la norme ERC-20, stable et universellement prise en charge.
Commencez par maîtriser les bases de la norme ERC-20, puis initiez-vous au développement de smart contracts (par exemple, en Solidity). Une compréhension des principes de transfert sur blockchain, des frais de gas, des mécanismes d’autorisation, etc., est également utile. Pour les utilisateurs, savoir qu’il s’agit d’un type de jeton amélioré suffit ; les développeurs doivent approfondir les détails de son implémentation.


