Capitalisation 2,63 T $ −1,48 % sur 24 heuresVolume 24 h 61,82 Md $Dominance BTC 59,3 %ETH 10,6 %Fear & Greed 26 PeurCryptos 22 751

Flash loan : définition, fonctionnement, usages et attaque d’Euler

Flash loan : définition, frais d'Aave et de Morpho, arbitrage et changement de collatéral, l'attaque d'Euler pas à pas, et l'arnaque du flash USDT.

Avancé 29 min de lectureMis à jour À lire d'abord : Emprunter crypto sans vendre : impôts, looping et carry trade
Une chaîne, un éclair, un engrenage et des blocs isométriques
Sommaire
  1. Flash loan, définition : un prêt qui dure le temps d’une transaction
  2. Qui propose des flash loans, et à quel prix
    1. Aave V3 : flashLoan et flashLoanSimple
    2. Morpho et Balancer : des flash loans à zéro frais
    3. Flash swaps d’Uniswap et norme ERC-3156
  3. Construire une transaction atomique pas à pas
    1. Le contrat récepteur en bref
    2. L’essayer sur un testnet
  4. Arbitrage, changement de collatéral et autres usages honnêtes
    1. Flash loan arbitrage
    2. Changement de collatéral, de dette et remboursement avec le collatéral
    3. Refinancement entre protocoles
    4. Auto-liquidation
  5. Anatomie d’une attaque par flash loan : Euler, 13 mars 2023
    1. La transaction étape par étape
    2. Négociation et restitution des fonds
  6. Autres attaques par flash loan, de bZx à 2026
  7. Pourquoi les flash loans ne sont pas le problème
  8. Fiscalité et règles en France
  9. Flash USDT et applications de flash loan : les arnaques qui empruntent le nom

Le 13 mars 2023 à 08:50:59 UTC, dans le bloc Ethereum 16 817 996, un contrat tout juste déployé reçoit 30 millions de DAI d’Aave V2 sous forme de flash loan, sans déposer la moindre garantie. Avant la fin de la même transaction, le contrat a renvoyé les 30 millions, plus 27 000 DAI de frais. Entre-temps, blockchain that runs exactly as written when it is called, holding and moving funds according to its code, without an intermediary able to change the outcome.">smart contract holding reserves of two or more tokens, supplied by users, that a decentralized exchange uses to execute trades automatically at a price set by a formula.">pool diverge, compared with simply holding the same tokens in a wallet. It becomes permanent when the provider withdraws.">il s’est servi de cet argent pour vider l’un des pools de prêt d’Euler. C’était la première transaction d’une série qui, selon le décompte d’Euler lui-même, a coûté environ 197 millions de dollars au protocole ce jour-là. Chaque étape reste lisible sur un explorateur de blocs (en anglais).

Un flash loan, ou prêt éclair, est un prêt sans garantie qui doit être emprunté et remboursé dans une seule transaction, faute de quoi la transaction n’a jamais lieu. Le même outil se cache derrière des boutons ordinaires des applications DeFi : un utilisateur qui clique sur « changer de collatéral » dans Aave se sert d’un flash loan sans qu’on le lui dise. Une fois le déroulé du code posé, les usages honnêtes comme les attaques s’expliquent. Chez Euler, comme dans la plupart des autres cas, le prêt a financé l’exploit. Il ne l’a pas causé.

Un avertissement d’abord, car les résultats de recherche autour de ce terme sont pleins de pièges. Un flash loan DeFi n’est pas un crédit en espèces que l’on demande à un guichet, et son argent ne peut pas être gardé au-delà d’une transaction. Quiconque vend un « logiciel de flash loan », une « flash loan app » qui promet d’alimenter votre portefeuille ou des « flash USDT » qui restent des semaines dans un wallet vend une arnaque. La dernière section explique son fonctionnement ; notre guide pour éviter les arnaques crypto couvre toute la famille.

Flash loan, définition : un prêt qui dure le temps d’une transaction

Une transaction Ethereum est atomique. Soit toutes les instructions qu’elle contient réussissent, soit l’ensemble est annulé et la chaîne se retrouve comme si rien ne s’était passé, à ceci près que l’expéditeur paie quand même le gaz consommé. Le flash loan s’appuie sur cette propriété. Le prêteur envoie les jetons, laisse tourner le code de l’emprunteur, puis vérifie à la fin que l’argent est revenu avec les frais. Sinon, le code du prêteur fait échouer la transaction, et les jetons n’ont, dans les faits, jamais été prêtés.

Voilà pourquoi il n’y a pas de garantie. Un prêt DeFi classique, tel que l’explique notre leçon sur le prêt et l’emprunt de crypto, demande à l’emprunteur de bloquer plus de valeur qu’il n’en prend, parce que le prêteur porte le risque de le voir disparaître. Avec un flash loan, le prêteur ne court aucun risque de crédit : un emprunteur qui ne rembourse pas ne peut pas partir avec les fonds, puisque sans remboursement le prêt n’existe pas. La liquidité vient des pools qui servent les emprunteurs ordinaires. Les déposants d’un pool Aave sont, sans rien faire, les prêteurs de chaque flash loan tiré dessus, même si, dans le code actuel d’Aave V3, les frais vont à la trésorerie d’Aave plutôt qu’à eux.

L’emprunteur n’est pas une personne qui remplit un formulaire. C’est un smart contract, un programme déployé sur la chaîne, que le prêteur rappelle au milieu de la transaction. Ce contrat s’exécute dans la transaction, limité par son seul budget de gaz, et doit faire quelque chose d’utile de l’argent (l’échanger, rembourser une dette, acheter du collatéral) puis finir avec assez de jetons pour solder. La leçon précédente, sur les stratégies pour emprunter contre ses cryptos, montrait des positions bâties sur des jours ou des mois. Le flash loan est l’autre extrémité de l’échelle : une position ouverte, utilisée et fermée dans une transaction, donc au sein d’un seul bloc Ethereum (un toutes les 12 secondes).

C’est aussi le cas extrême de ce que les gens de la DeFi appellent la composabilité, la capacité d’un contrat à en appeler plusieurs à la suite, traitée dans notre leçon sur la composabilité DeFi et les money legos. Un flash loan permet à une seule transaction de toucher un prêteur, deux plateformes d’échange et un protocole de prêt, et soit tous ces appels passent, soit aucun.

Un sablier à côté d'une porte de coffre-fort ouverte, des blocs isométriques et des piles de pièces
Tiré du coffre d'un pool et rendu avant la fermeture du bloc : un flash loan ne vit que le temps d'une transaction.

Qui propose des flash loans, et à quel prix

Plusieurs protocoles prêtent de cette façon, avec des frais et des fonctions de rappel différents. Le tableau réunit les principaux, avec les frais lus dans leur documentation ou sur la chaîne au 29 octobre 2026.

FournisseurComment l’appelerFonction que votre contrat doit implémenterFrais (29 octobre 2026, sauf mention)
Aave V3flashLoan (plusieurs actifs) ou flashLoanSimple (un actif)executeOperation0,05 % sur Ethereum Core, lu sur la chaîne ; supprimés pour les emprunteurs agréés dans flashLoan
Morpho BlueflashLoan(token, assets, data)onMorphoFlashLoanzéro
Balancer V3le déverrouillage transitoire du Vault, puis sendTo et settlevotre propre fonction, appelée par le Vaultzéro, « sans frais par conception » selon la documentation de Balancer
Uniswap V2swap() avec des données non vides, un « flash swap »uniswapV2Call0,3 % de frais pour les fournisseurs de liquidité, soit environ 0,3009 % si l’on rembourse dans le même jeton
Prêteurs ERC-3156flashLoan(receiver, token, amount, data)onFlashLoanfixés par chaque prêteur
Aave V2 (historique)flashLoanexecuteOperation0,09 % en mars 2023 (27 000 DAI sur 30 millions)

Aave V3 : flashLoan et flashLoanSimple

Aave est le plus gros de ces prêteurs par les dépôts : DefiLlama chiffrait la valeur totale verrouillée d’Aave V3 à 16,26 milliards de dollars au 29 octobre 2026. Sa documentation sur les flash loans (en anglais) indique que les frais ont été fixés à 0,05 % au déploiement et qu’un vote de gouvernance peut les modifier ; la valeur stockée dans le contrat du pool Ethereum Core le 29 octobre 2026 est de 5 points de base, donc emprunter 1 000 000 USDC coûterait 500 USDC (un montant d’exemple, pas une cotation). Le code arrondit la prime vers le haut. La documentation précise encore que les frais peuvent être partagés entre déposants et trésorerie, avec une part du protocole qui démarre à zéro ; le code actuel d’Aave V3 (le dépôt aave-v3-origin) fixe cette part à 100 %, et le pool Ethereum Core a renvoyé exactement cette valeur le 29 octobre 2026, si bien que toute la prime est versée à la trésorerie d’Aave.

Aave offre deux points d’entrée. flashLoanSimple prête un seul actif, prélève les frais à chaque fois et doit se terminer par un remboursement complet. flashLoan prête plusieurs actifs à la fois et ajoute deux options : les frais sont supprimés pour les adresses que la gouvernance a agréées comme emprunteurs de flash loans, et l’emprunteur peut finir la transaction en transformant le montant emprunté en dette ordinaire à taux variable au lieu de le rembourser, à condition d’avoir fourni du collatéral ou reçu une délégation de crédit. Dans ce cas, note un commentaire du code, aucune prime n’est prélevée.

Morpho et Balancer : des flash loans à zéro frais

Morpho Blue expose une seule fonction, flashLoan(token, assets, data), et rappelle onMorphoFlashLoan dans le contrat de l’emprunteur. Sa documentation du contrat (en anglais) explique que le prêt peut puiser dans tout le solde du contrat pour un jeton, liquidité et collatéral de tous les marchés confondus, et que les frais sont nuls. Morpho n’est pas entièrement conforme à l’ERC-3156, même si sa documentation décrit comment obtenir la compatibilité. Avec 11,19 milliards de dollars de valeur totale verrouillée sur DefiLlama au 29 octobre 2026, c’est de loin le prêteur sans frais le plus profond du tableau.

Balancer a longtemps été le prêteur gratuit le plus connu. Sa documentation sur les frais explique que la gouvernance pouvait fixer des frais de flash loan sur la V2 mais les a toujours laissés à zéro, et que les flash loans de la V3, qui passent par la comptabilité transitoire du Vault, sont sans frais par conception. Le contrat V3 ouvre un état temporaire, laisse l’emprunteur retirer des jetons avec sendTo et exige un appel à settle avant la fin de la transaction. La profondeur est bien plus faible aujourd’hui : DefiLlama affiche Balancer V2 à 17 millions de dollars et V3 à 15 millions au 29 octobre 2026, après l’exploit de novembre 2025 décrit plus bas.

Flash swaps d’Uniswap et norme ERC-3156

Les paires d’Uniswap V2 font quelque chose de similaire sous un autre nom. D’après le guide des flash swaps d’Uniswap (en anglais), une paire envoie les jetons de sortie avant de vérifier qu’elle a été payée. Si l’appelant passe des données non vides, la paire appelle ensuite uniswapV2Call sur le contrat destinataire, puis contrôle à la fin que ses réserves, après les 0,3 % de frais, sont au moins égales à ce qu’elles étaient. Rembourser dans le même jeton revient à environ 0,3009 % du montant retiré. Un remboursement insuffisant annule le swap entier.

L’ERC-3156, une norme proposée en novembre 2020 et aujourd’hui finalisée, donne aux prêteurs de flash loans une interface commune : maxFlashLoan, flashFee et flashLoan côté prêteur, onFlashLoan côté emprunteur, qui doit approuver le remboursement et renvoyer un hash fixe pour prouver qu’il a compris l’appel. Le stablecoin GHO d’Aave, par exemple, peut être « flash-minté » par cette interface plutôt qu’emprunté dans un pool.

Construire une transaction atomique pas à pas

La mécanique se suit le plus facilement sur flashLoanSimple d’Aave V3, dont le code est public dans le dépôt aave-v3-origin. Six choses se produisent, toutes dans une seule transaction.

  1. Votre portefeuille appelle flashLoanSimple sur le Pool d’Aave, en indiquant le contrat récepteur, l’actif, le montant et les paramètres dont votre code a besoin.
  2. Le pool valide la demande. Un commentaire du code d’Aave explique qu’il exécute ensuite votre code avant de mettre à jour sa propre comptabilité, un ordre choisi pour se protéger de la réentrance et de la manipulation des taux à l’intérieur de la charge utile de l’emprunteur.
  3. Le pool transfère l’actif au contrat récepteur.
  4. Le pool appelle executeOperation sur le récepteur, en lui passant l’actif, le montant, la prime, l’adresse qui a lancé le prêt et vos paramètres. Votre logique s’exécute ici : un échange, un remboursement, un dépôt.
  5. Votre contrat autorise le pool à prélever le montant plus la prime et renvoie true. Le pool prélève alors lui-même le remboursement, au lieu d’attendre d’être payé.
  6. Si le prélèvement échoue, ou si executeOperation renvoie false, toute la transaction est annulée. Rien n’a changé sur la chaîne, sauf le gaz que vous avez dépensé.

À l’étape cinq, le récepteur ne renvoie pas les jetons à la main. Le pool les prend, donc c’est l’autorisation qui compte. Uniswap V2 fonctionne autrement, puisqu’il ne contrôle ses réserves qu’à la fin.

Le contrat récepteur en bref

Voici la forme d’un récepteur, écrite en pseudo-code pour montrer le déroulé. Ce n’est pas un contrat à déployer, et il ne fait rien de rentable.

contract FlashReceiver {
    address POOL;        // the Aave V3 Pool on your network  (le Pool Aave V3 de votre réseau)
    address OWNER;       // you  (vous)

    // 1. You call this to start the loan  (vous appelez ceci pour lancer le prêt)
    function start(address asset, uint256 amount) external {
        require(msg.sender == OWNER);
        POOL.flashLoanSimple(address(this), asset, amount, "", 0);
    }

    // 2. The pool calls this after sending you the tokens  (le pool l'appelle après vous avoir envoyé les jetons)
    function executeOperation(
        address asset, uint256 amount, uint256 premium,
        address initiator, bytes calldata params
    ) external returns (bool) {
        require(msg.sender == POOL);         // only the real pool  (seulement le vrai pool)
        require(initiator == address(this)); // only loans you started  (seulement vos prêts)

        // ... your logic: swap, repay, deposit ...  (votre logique : échange, remboursement, dépôt)
        // at the end you must hold amount + premium of asset  (à la fin, vous devez détenir montant + prime)

        IERC20(asset).approve(POOL, amount + premium);
        return true;                         // the pool now pulls the repayment  (le pool prélève le remboursement)
    }
}

Les deux lignes require d’executeOperation sont ce que l’on oublie. Sans la première, n’importe qui peut appeler votre fonction de rappel directement et faire agir votre contrat sur de fausses données. Sans la seconde, n’importe qui peut lancer un flash loan en vous désignant comme récepteur et vous faire payer des primes ou exécuter une logique que vous n’avez pas choisie. Le guide d’Uniswap donne le même avertissement pour son rappel : vérifier que l’appelant est une vraie paire.

L’essayer sur un testnet

Aave V3 tourne sur le réseau de test Sepolia, avec un contrat Pool listé dans le carnet d’adresses public d’Aave et la même prime de 0,05 % que sur le réseau principal, lue le 29 octobre 2026. Les jetons de test viennent de l’onglet Faucet de l’application d’Aave une fois le mode testnet activé, comme le décrit le guide de test d’Aave ; les ETH Sepolia pour le gaz viennent de faucets tiers. Avec un framework de développement comme Foundry ou Hardhat, vous pouvez déployer un récepteur comme celui ci-dessus, l’alimenter de quelques jetons de test pour couvrir la prime, et appeler start. Essayez ensuite sans l’alimenter : la transaction échoue et le prêt n’a jamais existé, toute la leçon en une expérience.

Deux choses qu’un testnet ne peut pas enseigner. Il n’y a pas de vrai arbitrage à y saisir, car les prix des pools de test ne veulent rien dire. Et une erreur sur le réseau principal coûte du vrai gaz : la seule transaction d’attaque d’Euler a consommé 1 949 994 unités de gaz (notre entrée de glossaire sur les frais de gaz explique comment cela devient une facture). Il n’est pas besoin d’argent réel pour comprendre le mécanisme, et il ne faut en engager aucun avant qu’un récepteur ait été testé et relu.

Arbitrage, changement de collatéral et autres usages honnêtes

La plupart des flash loans ne sont pas des attaques. Ils permettent à quelqu’un sans capital de faire en un bloc ce qui exigerait autrement du capital, du temps et plusieurs transactions exposées aux variations de prix entre-temps.

Flash loan arbitrage

Le cas d’école : un jeton s’échange à 1,000 dollar sur une plateforme et à 1,004 sur une autre. Un contrat emprunte 500 000 USDC en flash loan, achète sur la place la moins chère, vend sur la plus chère, rembourse le prêt et garde la différence, moins les frais et le gaz (tous les chiffres ici sont un exemple). Si l’écart se referme avant que la transaction soit incluse, le contrôle de remboursement échoue et la transaction est annulée. Le tutoriel de Flashbots pour les searchers (en anglais) souligne qu’une tentative ratée envoyée par son système n’atterrit jamais sur la chaîne et ne coûte rien, si bien que le gaz n’est payé que sur les opérations réussies.

En pratique, cette course est gagnée par des bots spécialisés et des constructeurs de blocs, un sujet pour une prochaine leçon sur le MEV. Quiconque cherche « flash loan arbitrage » doit savoir que les écarts de prix publics sur les grands pools se referment en général dans le bloc même qui les crée, et qu’un débutant qui rivalise avec un script copié sur un site de partage de code a plus de chances de payer du gaz, ou de lancer un contrat piégé, que de gagner de l’argent.

Changement de collatéral, de dette et remboursement avec le collatéral

C’est là que les utilisateurs ordinaires croisent des flash loans. La page des fonctions de swap d’Aave (en anglais) décrit des contrats adaptateurs construits sur ses propres flash loans et sur l’agrégateur ParaSwap. Un changement de collatéral emprunte en flash loan un montant de l’actif en garantie actuel, l’échange contre le nouvel actif et le dépose au nom de l’utilisateur, puis retire l’ancien collatéral de l’utilisateur pour rembourser le prêt : celui qui avait de l’ETH en garantie peut détenir de l’USDC à la place sans fermer sa dette. Le remboursement avec le collatéral utilise le prêt pour solder d’abord la dette, puis récupère le collatéral libéré et l’échange pour régler. Un changement de dette réemprunte un autre actif pour rembourser l’ancienne dette. Les changements de collatéral et les remboursements avec collatéral existent aussi sans flash loan (swapAndDeposit et swapAndRepay), pour les cas où déplacer un instant le collatéral n’affecte pas la position ; la page ne liste pas de version équivalente pour les changements de dette. Les changements de dette en GHO reposent sur le flash minter de GHO plutôt que sur un pool.

Ces adaptateurs passent par ParaSwap. Lorsque la fonction distincte d’échange de jetons de l’interface utilise CoW Protocol à la place, la même page indique des frais : aucun sur les changements de dette, 15 points de base entre actifs corrélés comme ETH et staking means depositing a proof of stake coin with a protocol that stakes it for you and issues a transferable token (such as Lido stETH or rETH) representing the deposit plus rewards, which you can use or sell while the coins stay staked.">wstETH, 25 points de base sur les autres paires. Le gaz, et la prime du flash loan quand il y en a une, s’y ajoutent.

Refinancement entre protocoles

La même logique déplace un prêt d’un protocole à un autre, par exemple d’Aave vers Morpho quand le taux d’emprunt y est plus bas. Le schéma tient en une transaction : emprunter en flash loan l’actif de la dette, rembourser la dette sur le premier protocole, retirer le collatéral, le déposer sur le second, y emprunter, rembourser le flash loan. Sans le prêt, l’emprunteur aurait besoin de liquidités disponibles pour rembourser la dette avant de libérer le collatéral. C’est un schéma, pas une fonction nommée d’Aave ; vérifiez ce que fait réellement un outil qui le propose avant de signer.

Auto-liquidation

Une position proche de la liquidation peut être dénouée avec un flash loan : emprunter l’actif de la dette, rembourser le prêt, retirer le collatéral, en vendre assez pour rembourser le flash loan. L’emprunteur paie les frais du flash loan et du swap au lieu du bonus de liquidation qu’un liquidateur prélèverait. Notre leçon sur les liquidations explique qui liquide et ce qu’ils prennent, y compris les liquidateurs qui financent leur travail avec des flash loans. Gardez ce schéma en tête : l’attaquant d’Euler en a utilisé une version malveillante.

Anatomie d’une attaque par flash loan : Euler, 13 mars 2023

Euler était un protocole de prêt sur Ethereum où les dépôts étaient représentés par des eTokens et les dettes par des dTokens. Deux fonctions comptaient. Les utilisateurs pouvaient « minter », c’est-à-dire créer des eTokens et des dTokens ensemble pour bâtir une position à effet de levier en un seul appel. Et les liquidations appliquaient une décote qui grandissait à mesure que la santé de l’emprunteur se dégradait : plus une position était en difficulté, moins son collatéral coûtait cher au liquidateur.

Le protocole avait ajouté une fonction, donateToReserves, qui permettait à un utilisateur de donner des eTokens aux réserves du protocole. Chaque transfert normal d’eTokens se terminait par un contrôle que le compte restait solvable. Celle-ci non. Le récit qu’Euler a lui-même publié en janvier 2024 dit que la fonction « lacked a health check » (n’avait pas de contrôle de santé), ce qui permettait à un utilisateur de rendre volontairement sa propre position fragile.

Un pirate à capuche, un bogue logiciel, une chaîne brisée et une loupe
Une fonction sans contrôle de santé : la faille du code d'Euler que l'attaquant a financée avec un flash loan.

La transaction étape par étape

La société de sécurité BlockSec a reconstitué la transaction la mieux documentée, celle financée par Aave V2. En résumé, le tout dans le bloc 16 817 996 :

  1. Le contrat d’attaque emprunte 30 millions de DAI à Aave V2 en flash loan.
  2. Il dépose 20 millions de DAI dans Euler et reçoit environ 20 millions d’eDAI.
  3. Il utilise mint pour créer environ 195 millions d’eDAI contre 200 millions de dDAI, une position à effet de levier que les règles autorisaient.
  4. Il rembourse 10 millions de dette avec le DAI restant, puis mint à nouveau, pour finir avec environ 410 millions d’eDAI contre 390 millions de dDAI.
  5. Il donne 100 millions d’eDAI aux réserves. Sans contrôle de santé, le compte se retrouve avec plus de dette que de collatéral, et rien n’est annulé.
  6. Un second contrat contrôlé par l’attaquant liquide le premier. Comme la décote augmente quand la santé baisse, il prend bien plus de collatéral que la dette reprise (BlockSec compte 38 millions d’eDAI extraits), retire le DAI du pool d’Euler et rembourse à Aave les 30 millions plus 27 000 DAI.

Le reçu on-chain concorde : statut réussi, 56 journaux d’événements, dont 31 émis par le contrat principal d’Euler. Les mêmes étapes ont été répétées sur d’autres actifs dans d’autres transactions jusqu’à ce que le protocole perde environ 197 millions de dollars en DAI, USDC, ether staké et bitcoin enveloppé. Ce chiffre est celui d’Euler ; d’autres analyses l’arrondissent entre 196 et 200 millions de dollars.

Le rôle du flash loan ressort de la liste. Il a fourni les 20 millions de DAI du dépôt et les 10 millions du remboursement. Un attaquant disposant de 30 millions de dollars à lui aurait pu suivre les mêmes étapes. Ce qui a rendu le vol possible, c’est l’étape cinq : une fonction qui modifiait un solde sans vérifier ensuite la solvabilité.

Négociation et restitution des fonds

La suite fut inhabituelle. Le récit d’Euler de janvier 2024 dit que son équipe a dressé tôt une liste de pistes, à partir des contrats d’attaque et du style de leur code, et que le 17 mars l’attaquant a envoyé des fonds vers une adresse que l’OFAC, le bureau de contrôle des avoirs étrangers du Trésor américain, avait attribuée au groupe nord-coréen Lazarus, ce qui a compliqué le tableau. L’identité de l’attaquant n’a pas été rendue publique.

Date (2023, UTC)ÉvénementSource
13 mars, 08:50:59Première transaction d’attaque, bloc 16 817 996Ethereum, Euler
17 marsUne partie des fonds envoyée vers une adresse attribuée par l’OFAC à LazarusEuler
25 marsEnviron 51 000 ETH, soit près de 90 millions de dollars, restituésEuler
27-28 marsNouveaux ETH et DAI restitués, dont 5 millions de DAI le 28 marsEuler
3 avril, 22:49-22:59Derniers retours, dont 12 millions de DAI et le reste des ETHEuler
4 avrilEuler Labs indique que tous les fonds récupérables ont été rendus ; plus de 177 millions de dollars restitués au totalThe Block

The Block a rapporté (en anglais) le 4 avril 2023 que la dernière tranche était de 10 580 ETH et d’environ 12 millions de DAI, et cité Euler Labs disant que « all of the recoverable funds taken from the Euler protocol on March 13th » avaient été rendus. Dans son récit de la récupération (en anglais), Euler évalue la valeur récupérée à environ 240 millions de dollars, plus que ce qui avait été pris, parce que le cours de l’ether a monté pendant que l’attaquant le détenait.

Une affirmation ultérieure doit figurer au dossier comme une affirmation. En septembre 2023, un whitehat pseudonyme, Kankodu, qui avait signalé à Euler un bug de « premier dépôt » en juillet 2022, a écrit que le correctif du bug qu’il avait signalé avait fini par introduire une fonction responsable du piratage, selon The Block le 6 septembre 2023. Le récit d’Euler confirme que donateToReserves a été ajoutée pour corriger un bug de premier déposant. Son directeur général, Michael Bentley, a répondu que le correctif avait été audité par un ancien auditeur d’Euler et mis en œuvre après un vote de gouvernance ; Euler Labs n’a pas dit si le signalement avait mené à l’attaque.

Euler a depuis été relancé sous le nom d’Euler V2, avec une valeur totale verrouillée de 276 millions de dollars sur DefiLlama au 29 octobre 2026, contre zéro pour le protocole d’origine.

Autres attaques par flash loan, de bZx à 2026

Le schéma s’est répété depuis que les flash loans sont devenus courants, à chaque fois avec un bug différent chez la victime.

DateProtocolePerte annoncéeRôle du flash loanCause racine
Février 2020bZx (Fulcrum)moins de 1 million de dollars par attaque ; les chiffres de presse varienta financé des opérations qui ont déplacé les prix sur les DEXcollatéral évalué à partir de marchés DEX manipulables
17 avril 2022Beanstalkenviron 182 millions de pertes du protocole (médias) ; environ 77 millions d’actifs d’utilisateurs pris, selon Beanstalka loué une supermajorité de votepouvoir de vote compté à l’instant du vote
13 mars 2023Eulerenviron 197 millions de dollarsa financé le dépôt et le remboursementdonateToReserves sans contrôle de santé
3 novembre 2025Balancer V2128,64 millions de dollarsaucun décriterreur d’arrondi dans les calculs du pool
20 janvier 2026Makina Financeenviron 4 millions de dollars (1 299 ETH)280 millions d’USDC ont faussé un pool Curvepool évalué à partir de prix au comptant manipulables
6 juillet 2026Summer.fi (Lazy Summer)environ 6 millions de dollars65,4 millions de dollars, selon CertiKcomptabilité des parts des coffres manipulée

Les deux attaques contre bZx de février 2020, à quelques jours d’intervalle, comptent parmi les premières attaques par flash loan à avoir attiré l’attention. Selon l’analyse de l’auditeur Quantstamp, la première a utilisé les flash loans de dYdX et la seconde ceux de bZx lui-même ; dans la seconde, l’attaquant a fait monter le prix du sUSD sur les plateformes décentralisées que bZx utilisait pour évaluer le collatéral, puis a emprunté contre ce sUSD gonflé. Les pertes annoncées diffèrent selon les médias, toutes sous le million de dollars par attaque. La manipulation d’oracle de ce type, et le cas de Mango Markets, sont traités dans notre leçon sur les oracles DeFi avancés ; on ne les répète pas ici. En bref : un protocole qui lit un prix dans un seul pool laisse n’importe qui disposant d’assez de capital pour un bloc fixer ce prix, d’où les flux pondérés dans le temps et des réseaux comme Chainlink comme défense habituelle.

Beanstalk, un protocole de stablecoin, a été touché par sa gouvernance le 17 avril 2022, vers 12:24 UTC selon son propre récit. L’attaquant avait déposé des propositions malveillantes et attendu les 24 heures qu’exigeait la procédure d’urgence de Beanstalk. Un dépôt financé par flash loan lui a alors donné environ 79 % des voix, au-dessus de la supermajorité des deux tiers requise, selon la société de sécurité Halborn ; la proposition a été exécutée et son produit a remboursé le prêt, le tout en une transaction. Les médias de l’époque, comme BleepingComputer, ont chiffré les pertes à environ 182 millions de dollars, dont environ 80 millions de crypto-actifs pris par l’attaquant. Le billet de Beanstalk (en anglais) décrit le vol d’environ 77 millions de dollars d’actifs d’utilisateurs extérieurs à Beanstalk dans ses pools de liquidité. La leçon : tout vote compté à partir des soldes de jetons à un instant donné peut être loué pour un bloc. Des instantanés pris à l’avance et des délais entre le vote et son exécution ferment cette porte.

Les cas de 2026 sont plus modestes. Le 20 janvier 2026, selon Decrypt citant PeckShield, un attaquant a pris un flash loan de 280 millions d’USDC pour fausser le prix du pool DUSD-DUSDC de Makina Finance sur Curve, qui s’appuyait sur des prix au comptant, et a vidé 1 299 ETH, soit environ 4 millions de dollars ; un constructeur MEV qui avait devancé l’attaque en a récupéré la plus grande part. Le 6 juillet 2026, The Block a rapporté une perte d’environ 6 millions de dollars sur le Lazy Summer Protocol de Summer.fi ; le chiffre de 65,4 millions de dollars de flash loan vient de CertiK, qui a décrit une manipulation de la comptabilité totalAssets des coffres, et Summer.fi n’avait pas encore confirmé l’exploit à la parution de l’article.

Pourquoi les flash loans ne sont pas le problème

Relisez la colonne des causes racines. Un contrôle de solvabilité manquant, un prix lu dans un pool que n’importe qui peut déplacer (le travail d’un oracle mal fait), un vote compté à un instant, une comptabilité de coffre qu’un seul gros dépôt pouvait fausser. Dans chaque cas, le flash loan a fait une seule chose : donner à un attaquant sans capital le capital dont le bug avait besoin, pour la durée d’un bloc. C’est une clé que tout le monde peut louer. Il n’a jamais rendu la serrure fragile.

L’un des plus gros exploits DeFi de 2025 le montre bien. Le 3 novembre 2025, un attaquant a vidé 128,64 millions de dollars de pools Balancer V2 sur six chaînes, selon Check Point Research (en anglais), en enchaînant de nombreux petits swaps pour amplifier une erreur d’arrondi dans les calculs du pool. L’analyse de Check Point ne décrit aucun flash loan. Ce n’était pas une attaque par flash loan, et elle a coûté plus que tous les cas de flash loan de 2026 du tableau réunis.

Interdire les flash loans supprimerait aussi les usages honnêtes vus plus haut, sans arrêter un attaquant bien doté. Ce qui limite les dégâts se trouve dans le code et la gouvernance de la victime.

  • Lire les prix dans des oracles pondérés dans le temps ou agrégés, comme les flux Chainlink, plutôt que dans le prix au comptant d’un seul pool.
  • Lancer un contrôle de solvabilité ou d’invariant à la fin de chaque fonction qui modifie des soldes, y compris les plus rarement utilisées.
  • Mesurer le pouvoir de vote sur un instantané pris avant la proposition, et attendre avant de l’exécuter.
  • Tester les invariants et payer des audits indépendants, sachant que le code d’Euler avait été audité et que la faille est passée.

Pour un utilisateur, les flash loans changent une chose : le point faible d’un protocole peut être attaqué par n’importe qui, à pleine échelle, dès le premier jour. Notre histoire de la DeFi recense les piratages les plus lourds ; lire les audits d’un protocole, ses plafonds et son historique d’incidents avant d’y déposer quoi que ce soit en dit plus que de savoir si les flash loans existent sur la chaîne.

Fiscalité et règles en France

Aucune autorité fiscale que nous avons consultée ne traite des flash loans en tant que tels. Le prêt lui-même est emprunté et remboursé en quelques secondes, donc la question est de savoir ce que vous détenez à la fin. Pour un particulier en France, la page de questions-réponses de l’administration fiscale sur les plus-values sur actifs numériques, consultée le 29 octobre 2026, indique que les plus-values réalisées dans la gestion d’un patrimoine privé sont imposées au prélèvement forfaitaire unique de 31,4 % (12,8 % d’impôt et 18,6 % de prélèvements sociaux), avec la possibilité d’opter pour le barème progressif, et que les échanges d’actifs numériques sans soulte bénéficient d’un sursis d’imposition. Elle précise aussi que des opérations réalisées dans des conditions analogues à celles d’une activité professionnelle relèvent d’autres catégories de bénéfices. La page ne mentionne ni les flash loans ni les opérations DeFi : leur traitement fiscal n’est pas fixé par un texte dédié, et la qualification d’un arbitrage répété relève de l’administration. Notre guide sur la fiscalité des cryptos en France donne les règles générales ; pour un bot qui opère à chaque bloc, mieux vaut un conseil fiscal personnalisé.

Côté régulation, l’AMF tient sur son site des listes noires de sociétés et de sites non autorisés, y compris pour les produits dérivés sur crypto-actifs ; consultez-les avant de confier de l’argent à un service qui promet des « flash loans » ou des gains sans capital. Pour le cadre européen, notre guide sur le règlement MiCA présente les règles applicables aux prestataires de services sur crypto-actifs. Nous n’avons pas trouvé de texte français ou européen qui traite spécifiquement des flash loans.

Flash USDT et applications de flash loan : les arnaques qui empruntent le nom

Un vrai flash loan ne laisse aucun solde : à la fin de la transaction, l’argent est soit remboursé, soit la transaction n’a jamais eu lieu. Toute offre de jetons qui restent des semaines dans votre portefeuille, toute « flash loan app » qui alimente votre compte, tout logiciel qui « génère » des USDT est donc une arnaque. Une explication sur le flash USDT publiée par Plasma, une blockchain de stablecoins, en décrit les ficelles : des jetons contrefaits portant le nom de Tether sur des chaînes bon marché, des transferts envoyés avec des frais trop bas pour être confirmés mais qui s’affichent un instant dans un portefeuille, de faux sites d’activation qui réclament des frais ou une phrase de récupération, et des vendeurs en pair à pair qui poussent la victime à libérer de vraies cryptos contre un faux jeton.

La vérification prend une minute. Cherchez l’adresse du contrat du jeton sur un explorateur de blocs et comparez-la à celle que Tether publie. Un transfert qui reste en attente, ou un jeton dont le contrat ne correspond pas, ne vaut rien. Personne n’a besoin d’acheter un logiciel pour utiliser un flash loan : les contrats d’Aave, de Morpho et d’Uniswap sont publics et gratuits à appeler, et les seuls coûts sont les frais et le gaz. La prochaine leçon de ce parcours passe des prêts qui durent un bloc aux prêts à taux fixe et à durée fixe.

Sources

  1. Documentation d'Aave V3 : flash loans (en anglais) aave.com
  2. Code source d'Aave V3 : FlashLoanLogic.sol (aave-v3-origin, en anglais) github.com
  3. Documentation d'Aave V3 : fonctions de swap (changement de collatéral, remboursement avec collatéral, changement de dette, en anglais) aave.com
  4. Documentation d'Aave V3 : tests et débogage (mode testnet Sepolia et faucet, en anglais) aave.com
  5. Documentation de Morpho : contrat Morpho (flashLoan, en anglais) docs.morpho.org
  6. Documentation de Balancer : frais du protocole (frais de flash loan, en anglais) docs.balancer.fi
  7. Documentation d'Uniswap V2 : flash swaps (en anglais) developers.uniswap.org
  8. ERC-3156 : Flash Loans (Ethereum Improvement Proposals, en anglais) eips.ethereum.org
  9. Documentation de Flashbots : bases du flash loan (en anglais) docs.flashbots.net
  10. Etherscan : transaction d'attaque d'Euler, 13 mars 2023 (en anglais) etherscan.io
  11. Euler Labs : War & Peace, les coulisses de la récupération des fonds d'Euler (10 janvier 2024, en anglais) euler.finance
  12. BlockSec : analyse de la cause racine de l'exploit d'Euler (en anglais) blocksec.com
  13. The Block : le pirate d'Euler rend les fonds (4 avril 2023, en anglais) theblock.co
  14. The Block : un whitehat affirme qu'un correctif a provoqué l'attaque d'Euler (6 septembre 2023, en anglais) theblock.co
  15. Quantstamp : 10 faits sur les piratages de bZx (27 février 2020, en anglais) quantstamp.com
  16. Beanstalk Farms : exploit de la gouvernance (19 avril 2022, en anglais) bean.money
  17. Halborn : le piratage de Beanstalk expliqué (avril 2022, en anglais) halborn.com
  18. BleepingComputer : Beanstalk perd 182 millions de dollars dans une attaque par flash loan (18 avril 2022, en anglais) bleepingcomputer.com
  19. Decrypt : Makina touché par un exploit de flash loan (20 janvier 2026, en anglais) decrypt.co
  20. The Block : Summer.fi exploité (6 juillet 2026, en anglais) theblock.co
  21. Check Point Research : comment un attaquant a vidé 128 millions de dollars de Balancer (5 novembre 2025, en anglais) research.checkpoint.com
  22. IRS : actifs numériques (en anglais) irs.gov
  23. HMRC, Cryptoassets Manual : CRYPTO61130, accorder un prêt DeFi (en anglais) gov.uk
  24. Plasma : le flash USDT expliqué (en anglais) plasma.org
  25. impots.gouv.fr : plus-values sur cessions d'actifs numériques (consulté le 29 octobre 2026) impots.gouv.fr
  26. AMF : listes noires des sociétés et sites non autorisés (consulté le 29 octobre 2026) amf-france.org
  27. DefiLlama : TVL des protocoles (API, consultée le 29 octobre 2026, en anglais) defillama.com
Rédaction de Coindaro

Qui a écrit cet article

Équipe de rédaction

Guides, avis et glossaire vérifiés auprès des sources primaires

  • Formation crypto
  • Avis de plateformes
  • Portefeuilles
  • Glossaire

La rédaction de Coindaro recherche et écrit chaque article, avis et guide publié sur Coindaro. Chaque fait est vérifié auprès de sources primaires (documents officiels, régulateurs, documentation des projets) et chaque page cite ses sources. Nous couvrons les marchés crypto, la technologie et la régulation pour les lecteurs d’Europe et d’Amérique du Nord, en toute indépendance et sans contenu payé.

Continuer à apprendre