L'ERC-4626 est le standard Ethereum des vaults tokenisés. Découvrez l'interface, le calcul des parts avec un exemple chiffré, l'attaque par inflation et les ERC-7540/7575.

L'ERC-4626 est le standard Ethereum des vaults tokenisés. Il définit un ensemble commun de fonctions pour déposer un token ERC-20 unique dans un vault, recevoir des parts du vault en échange et convertir l'un en l'autre, de sorte que tout wallet, marché de prêt ou agrégateur puisse intégrer de la même manière n'importe quel vault conforme. Les parts du vault sont elles-mêmes un token, et leur valeur exprimée en actif sous-jacent augmente à mesure que le vault génère des gains.
Ce guide couvre l'interface, les calculs parts/actifs avec un exemple chiffré, l'attaque par inflation, les extensions asynchrones et multi-actifs, et la manière dont les blockchains non EVM comme Sui gèrent les parts de vault.
L'ERC-4626, intitulé « Tokenized Vaults », a été créé le 22 décembre 2021 par Joey Santoro, t11s, Jet Jadeja, Alberto Cuesta Cañada et Señor Doggo. Il s'agit d'un ERC de la catégorie Standards Track au statut Final, qui s'appuie sur l'ERC-20 et l'ERC-2612 (signatures permit), selon la page de l'EIP. Son résumé le décrit comme une « standard API for tokenized Vaults representing shares of a single underlying EIP-20 token ».
Avant son apparition, chaque agrégateur de rendement, marché de prêt et wrapper de staking écrivait sa propre interface de vault. Toute application souhaitant prendre en charge dix vaults avait besoin de dix adaptateurs, autant de nouvelles sources de bugs. L'ERC-4626 a remplacé cela par un format unique, comme l'ERC-20 l'a fait pour les tokens fongibles.
Le standard fixe l'interface, pas la stratégie : un vault risqué ou malveillant peut être parfaitement conforme. Pour une vue d'ensemble de ce que les vaults font de votre argent, voir les vaults crypto expliqués.
Un vault conforme est un token ERC-20 (les parts) doté des fonctions ci-dessous. Chacune provient de la spécification.
| Fonction | Rôle |
|---|---|
| asset() | Le token sous-jacent, par exemple l'USDC. |
| totalAssets() | L'ensemble des actifs sous-jacents gérés par le vault, y compris dans les stratégies. |
| convertToShares / convertToAssets | Le taux de change idéal, hors frais et limites. |
| deposit(assets, receiver) | Vous choisissez la quantité d'actifs à déposer ; le vault émet les parts correspondantes. |
| mint(shares, receiver) | Vous choisissez le nombre de parts souhaité ; le vault prélève les actifs nécessaires. |
| withdraw(assets, receiver, owner) | Vous choisissez la quantité d'actifs à retirer ; le vault brûle les parts nécessaires. |
| redeem(shares, receiver, owner) | Vous choisissez le nombre de parts à brûler ; le vault envoie les actifs correspondants. |
| previewDeposit / previewMint / previewWithdraw / previewRedeem | Simulent chaque action au bloc actuel, frais inclus. |
| maxDeposit / maxMint / maxWithdraw / maxRedeem | Le maximum qu'une adresse peut déposer, émettre, retirer ou racheter à l'instant. |
Deux événements, Deposit et Withdraw, offrent aux indexeurs un modèle unique pour suivre chaque vault conforme.
Les fonctions preview indiquent ce que vous obtiendriez réellement dans ce bloc, après frais : c'est ce qu'une interface devrait afficher avant que vous ne signiez. Les fonctions max exposent les plafonds, les pauses et les limites de liquidité, de sorte qu'un routeur peut éviter une transaction vouée à l'échec.
La spécification avertit que totalAssets, convertToShares et convertToAssets sont des « estimates useful for display purposes », et que les fonctions preview peuvent être manipulées et ne sont pas toujours sûres comme oracles de prix. Notre guide des oracles de prix explique pourquoi.
Le cœur de chaque vault est un ratio unique :
prix de la part = totalAssets ÷ totalSupply des parts
Prenons un vault USDC qui détient 1 000 USDC et a émis 1 000 parts. Chaque part vaut 1 USDC.
C'est pourquoi les tokens ERC-4626 comme le sUSDS de Sky n'augmentent jamais votre solde ; chaque token se rachète simplement contre davantage d'actif au fil du temps. Notre guide de l'USDS et du sUSDS détaille ce cas.
Les chiffres réels se divisent rarement de façon exacte. La spécification prévoit que lorsque le vault émet des parts pour un dépôt, ou verse des actifs contre des parts, il doit arrondir à l'inférieur. Lorsqu'il calcule combien de parts vous devez brûler, ou combien d'actifs vous devez fournir, il doit arrondir au supérieur. Les fonctions convertTo doivent toujours arrondir à l'inférieur.
Chaque erreur d'arrondi laisse donc une infime quantité dans le vault au lieu de permettre à un utilisateur de la soustraire aux autres.
L'arrondi présente un cas limite dangereux : un vault presque vide. L'attaque par inflation, ou attaque par donation, est décrite dans la documentation ERC-4626 d'OpenZeppelin.
L'attaque repose généralement sur le front-running des premiers dépôts d'un vault.
Pour les utilisateurs, la leçon est de se montrer prudent avant de figurer parmi les premiers déposants d'un vault tout neuf et non audité.
L'ERC-4626 suppose que les dépôts et les retraits se règlent instantanément, ce qui ne convient pas aux actifs du monde réel ni aux stratégies lentes à dénouer. Deux standards ultérieurs, tous deux au statut Final, comblent ces lacunes.
L'ERC-7540, créé le 18 octobre 2023, ajoute une étape de demande. Vous appelez requestDeposit ou requestRedeem, la demande reste Pending pendant que le vault la traite, devient Claimable, puis vous finalisez avec l'appel habituel deposit, mint, redeem ou withdraw. La spécification précise que les demandes ne doivent pas sauter l'étape claimable. Il n'existe volontairement pas de requestWithdraw : les sorties asynchrones passent par requestRedeem.
L'ERC-7575, créé le 11 décembre 2023, permet à plusieurs points d'entrée dans des actifs différents de partager un même token de part, et permet au token de part de résider dans un contrat distinct du vault. Chaque vault expose une fonction share() pointant vers ce token. La spécification elle-même souligne le compromis : comme le vault n'a pas besoin d'être son propre ERC-20, il n'est « not fully compatible with ERC-4626 ».
Quelques exemples vérifiés le 15 octobre 2026 :
Comme ces tokens de part suivent une interface unique, ils se branchent sur d'autres protocoles comme collatéral, comme jambe à rendement fixe ou comme entrées d'agrégateurs de rendement.
« Conforme à l'ERC-4626 » vous indique comment dialoguer avec un vault, pas s'il s'agit d'un bon endroit pour votre argent. La section sécurité de l'EIP avertit elle-même que les usages entièrement permissionless « could fall prey to malicious implementations ». Avant de déposer, vérifiez :
Notre checklist comment vérifier qu'un protocole DeFi est sûr s'applique à tout vault, standard ou non.
L'ERC-4626 ne s'applique qu'aux blockchains EVM. Les autres blockchains construisent leurs vaults sur leurs propres primitives de token.
Sui en est un bon exemple. Son standard de coin décrit Coin<T> comme le type des tokens fongibles, un objet TreasuryCap étant requis pour les émettre ou les brûler. Un vault Sui détient généralement la capacité de trésorerie de son propre coin de part, émet des parts lors des dépôts et les brûle lors des retraits, et les valorise à l'actif net divisé par l'offre : la même idée que l'ERC-4626, mais sans noms de fonctions communs. La documentation de Sui ne mentionne aucun standard de parts de vault : chaque protocole définit donc sa propre interface.
La place de JewelSwap : Ember Loop de JewelSwap sur Sui suit ce modèle. Vous déposez de l'USDC et recevez du jeLOOP, un coin Sui ordinaire valorisé à la valeur nette d'inventaire du vault divisée par l'offre de jeLOOP, et les sorties se font par tickets de retrait en file d'attente, un peu comme une demande ERC-7540. Ember Loop est une bêta publique, il n'est pas audité, il utilise un effet de levier, et les résidents des États-Unis et du Royaume-Uni ne doivent pas l'utiliser. La documentation d'Ember Loop et notre article sur Ember Loop détaillent les mécanismes, les frais et les risques.
L'ERC-4626 est le standard Ethereum des vaults tokenisés. Il donne à chaque vault les mêmes fonctions pour déposer un token ERC-20, recevoir des tokens de part et convertir parts et actifs, de sorte que les applications peuvent intégrer n'importe quel vault conforme sans code sur mesure.
Oui. ERC-4626, ERC4626 et EIP-4626 désignent tous le même standard « Tokenized Vaults », créé le 22 décembre 2021 et désormais au statut Final.
Avec deposit, vous choisissez la quantité d'actif sous-jacent à déposer et recevez le nombre de parts correspondant. Avec mint, vous choisissez le nombre de parts souhaité et le vault prélève la quantité d'actifs qu'elles coûtent. Withdraw et redeem forment la même paire pour les sorties.
Elle cible un vault presque vide. Un attaquant émet un nombre infime de parts, puis fait don d'actifs directement au vault pour gonfler le prix de la part, de sorte que les parts du déposant suivant sont arrondies à zéro ou presque. Les parts et actifs virtuels, l'amorçage du vault au lancement et les contrôles de nombre minimal de parts permettent de s'en protéger.
Non. Il standardise l'interface, pas la stratégie. Un vault conforme peut toujours perdre de l'argent à cause de mauvais prêts, de bugs de smart contracts, de problèmes d'oracle ou d'une implémentation malveillante : vérifiez donc séparément la stratégie, les contrôles, les frais et les conditions de sortie.
Pas sous la forme d'un standard formel. Les vaults Sui émettent généralement leur propre coin de part en utilisant le standard de coin de Sui et le valorisent à l'actif net divisé par l'offre. Le jeLOOP de JewelSwap, issu du vault bêta Ember Loop, en est un exemple.
Cet article est éducatif et ne constitue pas un conseil financier. Les détails du standard proviennent des pages EIP d'Ethereum et de la documentation des protocoles, vérifiées le 15 octobre 2026, et les implémentations évoluent avec le temps. JewelSwap exploite le vault Ember Loop mentionné ici, qui est une bêta non auditée.