Qu'est-ce qu'une attaque sandwich ? Comment les bots MEV volent vos trades sur DEX
Une attaque sandwich est un type d'exploitation MEV (Maximal Extractable Value) où un bot détecte une transaction de swap en attente, place sa propre transaction avant et après celle de la victime, et extrait du profit du mouvement de prix résultant.
Cette attaque se produit sur chaque blockchain avec des exchanges décentralisés basés sur AMM — Solana, Ethereum, BSC, Base et autres. C'est l'une des causes les plus fréquentes de pertes inattendues pour les traders DEX, et la plupart des victimes ne savent pas que c'est arrivé.
Ce guide couvre la mécanique des attaques sandwich, les conditions qui les rendent rentables et les méthodes de protection disponibles.
Comment les transactions blockchain sont traitées
Pour comprendre comment fonctionnent les attaques sandwich, il est utile de d'abord comprendre comment les transactions sont traitées sur des blockchains comme Solana, Ethereum et BSC.
Les blockchains ne traitent pas les transactions une par une au moment où vous cliquez sur « Swap ». Elles travaillent par lots. La blockchain collecte toutes les transactions entrantes, les regroupe et traite le lot entier en une fois. Chaque lot s'appelle un bloc, et le temps nécessaire pour produire un bloc s'appelle le temps de bloc.
| Blockchain | Temps de Bloc |
|---|---|
| Solana | ~0,4 sec |
| Monad | ~0,4 sec |
| Arbitrum | ~0,25 sec |
| Base | ~2 sec |
| Polygon | ~2 sec |
| Optimism | ~2 sec |
| Avalanche | ~2 sec |
| BNB Chain | ~3 sec |
| Ethereum | ~12 sec |
Sur Ethereum, un nouveau bloc est produit environ toutes les 12 secondes. L'exemple suivant montre comment cinq transactions soumises à différents moments dans la même fenêtre de 12 secondes sont toutes confirmées ensemble — mais exécutées dans un ordre qui n'a rien à voir avec le moment de leur soumission :
| Transaction | Soumise | Confirmée | Ordre d'Exécution |
|---|---|---|---|
| Transaction A | 15:00:01 | 15:00:12 | 3e |
| Transaction B | 15:00:03 | 15:00:12 | 1re |
| Transaction C | 15:00:05 | 15:00:12 | 5e |
| Transaction D | 15:00:08 | 15:00:12 | 2e |
| Transaction E | 15:00:11 | 15:00:12 | 4e |
Les cinq transactions sont confirmées à 15:00:12 lorsque le bloc est créé. Mais l'ordre d'exécution — l'ordre qui détermine réellement qui trade en premier — est décidé par le validateur qui produit le bloc, pas par qui a soumis en premier.
Des facteurs comme les frais de priorité, les pourboires MEV ou les relations directes avec le validateur influencent quelle transaction est placée où dans la séquence. La Transaction B a été soumise en deuxième mais exécutée en premier. La Transaction A a été soumise en premier mais exécutée en troisième.
C'est la raison fondamentale pour laquelle les attaques sandwich sont possibles. Les bots MEV surveillent les transactions en attente dans le pipeline, et en payant des frais plus élevés, ils peuvent manipuler l'ordre d'exécution au sein d'un bloc pour placer leurs propres transactions avant et après la vôtre.
Comment fonctionne une attaque sandwich
Une attaque sandwich exploite le fait qu'un swap déplace le prix du token dans le pool de liquidité. Voici comment cela se déroule étape par étape.
- Vous soumettez un Swap : Vous soumettez une transaction pour acheter le Token X sur un DEX. Avant que cette transaction ne soit incluse dans un bloc, elle entre dans le pipeline de transactions du réseau — sur Ethereum c'est le mempool public, sur Solana c'est la couche de transfert de transactions — où elle est brièvement visible.
- Le Bot détecte votre transaction : Un bot MEV qui scanne constamment le pipeline repère votre swap en attente. Il voit combien vous achetez et calcule combien votre trade va déplacer le prix. Plus votre trade est grand par rapport à la liquidité du pool, plus le prix bouge — et plus l'attaque devient rentable.
- Le Bot vous front-run : Le bot soumet sa propre transaction d'achat avec des frais de priorité plus élevés, s'assurant qu'elle s'exécute avant la vôtre dans le même bloc. L'achat du bot pousse le prix du token vers le haut.
- Votre transaction s'exécute : Votre swap passe au prix désormais plus élevé. Vous recevez moins de tokens que vous n'en auriez reçu sans l'interférence du bot.
- Le Bot vous back-run : Immédiatement après votre transaction, le bot vend les tokens achetés à l'Étape 3. Votre achat a créé une pression haussière supplémentaire sur le prix, et le bot vend à ce prix plus élevé.
Après la vente du bot, le prix redescend. Vous détenez des tokens qui valent désormais moins que ce que vous avez payé. Le bot a capturé le spread entre son prix d'achat et de vente — de la valeur extraite directement de votre trade.
Toute cette séquence se produit au sein d'un seul bloc.

L'image ci-dessus montre une attaque sandwich réelle capturée sur un Pool Uniswap V2 Ethereum. Trois transactions exécutées exactement au même moment (06:28:23) dans le même bloc :
- 1FaE13 (Bot MEV) achète $616,13 de token DAT — le front-run.
- 8a23ff (Victime) achète $1,9 de token DAT — exécuté au prix désormais plus élevé.
- 1FaE13 (Bot MEV) vend $617,84 de token DAT — le back-run, capturant environ $1,71 de profit.
Le trade de $1,9 de la victime était petit, mais suffisant pour que le bot en extraie du profit. Toute l'attaque — achat, victime, vente — s'est produite dans un seul bloc.
Quand votre trade devient une cible d'attaque sandwich
Tous les swaps ne sont pas sandwichés. Les bots MEV n'attaquent que lorsque le profit attendu dépasse le coût. Les conditions suivantes font de votre trade une cible :
- Trade important par rapport à la taille du pool. Un swap de $50 dans un pool avec $500 de liquidité déplace le prix d'environ 10% ou plus — une cible rentable pour les bots sandwich. Les mêmes $50 dans un pool avec $5 000 000 de liquidité déplacent à peine le prix, pas rentable à attaquer.
- Haute tolérance de slippage. Configurer le slippage à 10% ou plus signale que vous accepterez un prix significativement pire. Cela donne aux bots plus de marge pour pousser le prix avant que votre transaction ne soit annulée.
- Tokens à faible liquidité. Les tokens récemment lancés et les memecoins ont tendance à avoir de petits pools. Même un swap modeste crée assez de mouvement de prix pour que les bots l'exploitent.
Comment se protéger des attaques sandwich
1. Utiliser le routage de transactions protégé contre le MEV
La protection la plus efficace est d'empêcher les bots de voir votre transaction en premier lieu.
- Sur Solana : Les Jito Bundles contournent le pipeline public de transactions et envoient votre swap directement au Jito Block Engine, où les bots MEV ne peuvent pas l'observer. La plupart des outils de trading Solana supportent déjà cela — si vous voyez un champ « Jito Tip », vos transactions sont routées via Jito. Jito offre aussi le mécanisme
jitodontfront, qui garantit que votre transaction doit apparaître en premier dans tout bundle où elle est incluse. - Sur Ethereum et les chaînes EVM : Des services comme Flashbots Protect, MEV Blocker et les RPC privés routent votre transaction via un mempool privé au lieu du public. Certains wallets et frontends DEX proposent cela comme option intégrée.
2. Configurer un slippage serré
La tolérance de slippage définit le pire prix que vous êtes prêt à accepter. Si vous configurez 1% de slippage, votre transaction échouera plutôt que de s'exécuter à un prix plus de 1% pire que prévu.
Cela limite la marge de profit du bot. Si le bot ne peut extraire qu'un montant minuscule avant que votre transaction ne soit annulée, l'attaque devient non rentable après prise en compte des propres frais et coûts de pourboire du bot.
Pour la plupart des swaps, 1–3% de slippage est suffisant. N'augmentez que pour des tokens extrêmement volatils ou pendant des lancements où vous êtes prêt à accepter un pire prix.
3. Diviser les gros trades
Au lieu de swapper un gros montant en une transaction, divisez en plus petits swaps. Chaque plus petit trade a moins d'impact sur le prix, rendant chacun moins attractif pour les bots sandwich.
L'inconvénient est plus de transactions et plus de frais, mais les économies en évitant une attaque sandwich dépassent généralement le coût supplémentaire.
4. Éviter les pools à liquidité extrêmement basse
Si un pool a une très faible liquidité, même un petit trade crée un impact de prix énorme. Ces pools sont les cibles les plus faciles pour les bots sandwich. Vérifiez la liquidité du pool sur DEXScreener, Birdeye ou DexTools avant de swapper.
5. Vérifier vos transactions après coup
Des outils comme sandwiched.me vous permettent de vérifier si votre wallet a été affecté par des attaques sandwich. Examiner vos transactions passées vous aide à identifier des patterns et ajuster votre stratégie — slippage plus serré, trades plus petits ou passage au routage protégé contre le MEV.
Attaques sandwich vs. autres baisses de prix
Toute perte après un achat n'est pas une attaque sandwich.
- Attaque sandwich : Le prix monte juste avant votre transaction et chute immédiatement après — dans le même bloc ou le suivant. Sur un explorateur de blocs, vous pouvez voir un gros achat juste avant le vôtre et une grosse vente juste après, du même wallet ou programme.
- Pression de vente normale : Le prix baisse graduellement sur des minutes ou des heures après votre achat. D'autres holders vendent, ce qui est un comportement de marché normal.
- Rug pull : Le développeur retire toute la liquidité du pool. Le prix tombe à quasi zéro instantanément et le token devient non échangeable.
Résumé
Les attaques sandwich exploitent le fait que les prix DEX bougent selon la taille du trade par rapport à la liquidité du pool, et que l'ordonnancement des transactions au sein d'un bloc est contrôlé par les validateurs — pas déterminé par qui a soumis en premier.
Pour vous protéger : utilisez le routage protégé contre le MEV (Jito sur Solana, Flashbots Protect sur Ethereum), configurez un slippage serré, divisez les gros trades et vérifiez la liquidité du pool avant de swapper.
FAQ
Puis-je être sandwiché sur n'importe quelle chaîne ?
Oui. Toute chaîne avec des DEX basés sur AMM est susceptible — Solana, Ethereum, BSC, Base, Polygon, Arbitrum et autres. La vulnérabilité vient de la façon dont les AMM calculent les prix, pas d'une chaîne ou d'un DEX spécifique.
Un slippage élevé signifie-t-il que je serai sandwiché ?
Pas automatiquement, mais cela augmente significativement votre risque. Un slippage élevé indique au réseau que vous accepterez un pire prix, ce qui donne aux bots plus de marge pour extraire du profit. Gardez le slippage aussi bas que possible.
L'attaque sandwich est-elle illégale ?
Il n'y a pas de cadre juridique clair dans la plupart des juridictions. Sur Solana, la Solana Foundation et Jito ont pris des mesures contre les validateurs participant aux attaques sandwich en les retirant des programmes de délégation. Sur Ethereum, Flashbots et d'autres fournisseurs d'infrastructure travaillent à réduire l'extraction de MEV.
