Revoke.cash est l'outil que l'industrie crypto recommande déjà aux utilisateurs après un incident : il gère les approbations de tokens, c'est-à-dire les accès persistants que les utilisateurs accordent aux applications DeFi et aux marketplaces chaque fois qu'ils échangent, stakent ou vendent un NFT. Revoke.cash a utilisé le Smart Accounts Kit de MetaMask pour créer l'Auto-Revoking, qui va encore plus loin en supprimant automatiquement les approbations inutiles sans jamais détenir les clés de l'utilisateur.
Revoke.cash résout un problème que la plupart des wallets n'exposent jamais
Une approbation de token est la permission que vous accordez à une application DeFi pour déplacer vos tokens : approuver l'USDC pour qu'Uniswap puisse l'échanger, approuver un Pudgy Penguin pour qu'OpenSea puisse le mettre en vente. Cet accès n'expire pas une fois que vous avez terminé. Il reste dans votre wallet indéfiniment, et chaque approbation dormante constitue une responsabilité permanente si l'application à laquelle elle a été accordée est un jour exploitée.
Revoke.cash a démarré en octobre 2019 comme projet personnel de son fondateur Rosco, conçu pour résoudre son propre malaise face au nombre d'applications DeFi qui détenaient discrètement un accès permanent à son wallet. Il n'existait alors aucun moyen de visualiser ou de révoquer cet accès, alors il en a créé un. Au cours des six dernières années, Revoke.cash a servi plus de 2 millions d'utilisateurs et a été utilisé pour révoquer plus de 20 millions d'approbations de tokens. Les offres Premium et Ultimate, les niveaux payants qui ont introduit l'Auto-Revoking, ont été lancés en 2026.
Rosco explique que l'idée de l'Auto-Revoking est née d'un constat : les bons conseils arrivent toujours trop tard. Chaque fois qu'un exploit se produit ou que quelqu'un perd des fonds, le conseil habituel est « allez sur Revoke.cash ». Un cas classique de trop peu, trop tard.
La prévention est donc primordiale. Nettoyer régulièrement les approbations évite qu'elles ne causent des problèmes. Le faire manuellement et de façon constante est irréaliste pour la plupart des gens, c'est pourquoi Revoke.cash a développé la version automatisée dès que la technologie sous-jacente l'a rendu possible.
Le défi : agir pour quelqu'un sans jamais détenir ses clés
En tant qu'industrie, nous travaillons dur pour permettre aux utilisateurs de gérer leurs propres wallets de manière non-custodiale. Prendre la garde de la seed phrase d'un utilisateur n'est jamais une option du point de vue de la sécurité.
— Rosco, fondateur de Revoke.cash
Certaines actions onchain, comme le rééquilibrage automatisé ou les ordres limites, disposent déjà de méthodes viables pour agir au nom d'un utilisateur. Révoquer l'approbation de token de quelqu'un d'autre n'en avait pas, jusqu'à l'arrivée d'ERC-7710 et ERC-7715.
Le Smart Accounts Kit et le Delegation Framework de MetaMask sont devenus la fondation, plutôt qu'une infrastructure construite sur mesure. Les SDKs gèrent les deux aspects du problème : une interface simple pour que les utilisateurs accordent une délégation, et un backend capable de la consommer. Cela a permis à Revoke.cash de concentrer son propre travail d'ingénierie sur la partie la plus difficile et la plus novatrice : les systèmes autour de l'Auto-Revoking, plutôt que de réinventer la couche de délégation sous-jacente.
Les retours de Revoke.cash ont contribué à façonner ce qui est devenu le type de permission de révocation d'approbation de token. MetaMask a également aidé Revoke.cash à mettre en place sa configuration de délégation hot-and-cold wallet.
Avant | Avec l'Auto-Revoking + Delegation Framework |
Les utilisateurs sont invités à révoquer les approbations uniquement après un exploit ou une perte | Les approbations sont révoquées de manière proactive, selon un calendrier, avant qu'elles ne soient exploitables |
Nettoyer les approbations nécessite de s'en souvenir, manuellement, application par application | L'utilisateur accorde une seule permission, une seule fois, dans MetaMask |
Aucun moyen d'agir sur les approbations d'un utilisateur sans détenir ses clés | Une permission de révocation d'approbation de token à portée limitée n'autorise que cette action |
La révision manuelle ne s'adapte pas à des milliers d'approbations dormantes | Les systèmes de Revoke.cash indexent et surveillent les approbations en continu |
Un cold wallet, deux hot wallets, une seule permission étroite
Un utilisateur active l'Auto-Revoking depuis la section des paramètres de compte de Revoke.cash. Cette action demande une permission de révocation d'approbation de token, accordée via MetaMask, à un cold wallet contrôlé par Revoke.cash. Le cold wallet est configuré pour transmettre ces délégations à deux hot wallets qui fonctionnent sur les serveurs d'auto-révocation de Revoke.cash.
À partir de là, les systèmes de Revoke.cash indexent et surveillent les approbations de tokens de l'utilisateur en fonction de ses règles d'auto-révocation configurées, comme les approbations devenues obsolètes ou celles signalées comme à haut risque. Lorsqu'une approbation correspond à une règle, l'un des hot wallets envoie une transaction qui porte les deux délégations de la chaîne — la délégation utilisateur-vers-cold et la délégation cold-vers-hot — autorisant la révocation onchain.
Pourquoi un cold wallet au milieu : si un hot wallet est compromis, c'est le cold wallet qui empêche que cela n'affecte directement l'utilisateur. Les hot wallets peuvent être ajoutés ou supprimés derrière le cold wallet sans que la délégation originale de l'utilisateur ne change jamais.
Pourquoi deux hot wallets plutôt qu'un : Revoke.cash divise les auto-révocations en deux catégories. Les révocations de routine sont un nettoyage ordinaire, comme une approbation OpenSea laissée après la vente d'un NFT il y a deux ans. Les révocations urgentes sont déclenchées par un exploit actif ou un risque émergent, où la rapidité est primordiale. Faire passer chaque catégorie par son propre hot wallet dédié garantit qu'une révocation urgente déclenchée par un exploit ne soit jamais bloquée dans une file d'attente derrière des tâches de maintenance de routine.
La permission elle-même est limitée par les caveat enforcers de MetaMask pour n'autoriser qu'une action de révocation, rien de plus large — c'est la garantie qui rend sûre la transmission d'une délégation à un système automatisé.
La stack
Couche | Composants |
Permission | Advanced Permissions (ERC-7715), type de permission de révocation d'approbation de token |
Délégation | Utilisateur → cold wallet → deux hot wallets, MetaMask Delegation Framework |
Exécution | Deux hot wallets dédiés : nettoyage de routine et révocations urgentes déclenchées par les risques |
Surveillance | Moteur d'indexation des approbations et de correspondance des règles de Revoke.cash |
Révoquer les approbations est une mesure de sécurité importante que tout le monde doit effectuer, mais que personne ne veut avoir à gérer. En proposant une révocation automatisée, propulsée par le Smart Accounts Kit de MetaMask, nous sommes en mesure de protéger ces utilisateurs tout en leur épargnant la charge mentale de le faire manuellement.
— Rosco, fondateur de Revoke.cash
Les conseils de Revoke.cash pour les développeurs
Ne construisez pas vous-même la couche de délégation. La partie difficile et novatrice de l'Auto-Revoking était le système environnant : indexer les approbations, faire correspondre les règles de risque, router l'exécution de routine versus urgente. Laisser le SDK du Smart Accounts Kit de MetaMask gérer l'octroi et la consommation de la permission elle-même a évité de dupliquer ce travail.
Isolez votre couche d'exécution de la confiance de votre utilisateur. Un cold wallet entre l'utilisateur et les hot wallets qui exécutent réellement les transactions signifie qu'un exécuteur compromis n'a jamais à devenir le problème de l'utilisateur ; les wallets derrière le cold wallet peuvent être remplacés librement.
Séparez la routine de l'urgent. Quand l'automatisation fonctionne selon un calendrier, tous les déclencheurs ne sont pas également urgents. Séparer les chemins d'exécution par niveau d'urgence évite qu'une tâche lente et routinière ne retarde jamais une tâche rapide à enjeux élevés.
Pour plus d'informations, consultez :