> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MEV Protect : Contourner les attaquants Sandwich

> Optez pour MEV Protect pour diriger vos transactions Solana loin des validateurs statistiquement liés aux attaques sandwich. Fonctionne avec les envois basiques, les bundles et Helius Sender.

<Note>
  **Cette fonctionnalité est optionnelle.** MEV Protect est désactivé par défaut. Vous optez pour chaque
  requête en ajoutant le paramètre de requête `mev-protect=true` à votre URL de point de terminaison.
</Note>

## Qu'est-ce que MEV Protect ?

Les attaques sandwich sont une forme toxique de MEV où un bot devance et suit votre transaction, faisant bouger le prix contre vous et empochant la différence. Les actions de devancement et de suivi n'ont pas besoin de se trouver dans le même bloc — avec un **grand sandwich**, elles peuvent s'étendre sur plusieurs blocs sur une période plus longue. L'attaque dépend vraiment de **l'accès à votre flux d'ordre** via une source qui ne protège pas contre le sandwiching. Une fois qu'un bot peut voir votre transaction en attente, il peut placer son sandwich dans n'importe quel bloc de validateur.

En pratique, la partie fournissant ce flux d'ordre est souvent un validateur, et ces validateurs incluent fréquemment les sandwiches dans leurs propres blocs pour augmenter leurs récompenses. Cela fait de leurs blocs une source disproportionnée de sandwiching.

MEV Protect réduit ce risque au niveau de la routage. Lorsque vous optez pour, Helius évite de soumettre votre transaction aux validateurs statistiquement associés à l'activité sandwich, réduisant ainsi considérablement la probabilité d'être pris en sandwich.

<CardGroup cols={2}>
  <Card title="Option par requête" icon="toggle-on">
    Désactivé par défaut. Ajoutez `mev-protect=true` à l'URL de point de terminaison — sans modifications de
    votre logique de transaction ou de signature.
  </Card>

  <Card title="Fonctionne partout" icon="arrows-split-up-and-left">
    Pris en charge sur `sendTransaction` basique, `sendBundle` basique, Sender Max, et
    Sender SWQOS uniquement.
  </Card>

  <Card title="Routage basé sur les données" icon="chart-line">
    Exclut les validateurs qui incluent des sandwiches dans leurs propres blocs ou dans
    des blocs adjacents — seulement lorsque le schéma est statistiquement significatif.
  </Card>

  <Card title="Impact minimal sur l'atterrissage" icon="gauge-high">
    Seule une petite fraction du total des mises est exclue, donc l'effet sur le taux d'atterrissage
    et la latence est limité.
  </Card>
</CardGroup>

## Comment ça fonctionne

Helius surveille de manière proactive les bots sandwich connus et analyse où leurs sandwiches atterrissent. Un validateur est signalé lorsque l'un ou l'autre schéma se maintient de manière cohérente :

* **Dans ses propres blocs** — le validateur inclut directement les transactions sandwich.
* **Dans les blocs adjacents** — les sandwiches atterrissent à plusieurs reprises dans les blocs immédiatement avant ou après ceux du validateur.

Pour éviter de pénaliser les validateurs pour une proximité fortuite, Helius n'exclut que ceux dont l'association avec l'activité sandwich est **statistiquement significative**. Cela permet de garder l'ensemble des exclus petit et ciblé plutôt que de bloquer largement les mises.

<Steps titleSize="h3">
  <Step title="Opter pour">
    Ajoutez `mev-protect=true` à votre URL de point de terminaison. Cela s'applique uniquement à cette requête.
  </Step>

  <Step title="Routage protégé">
    Helius soumet votre transaction tout en évitant les leaders signalés pour
    association avec un sandwich, en utilisant l'ensemble d'exclusion statistiquement significatif actuel.
  </Step>

  <Step title="Exécution normale">
    Votre transaction atterrit comme d'habitude — juste avec une bien moindre chance d'être
    prise en sandwich.
  </Step>
</Steps>

## Méthodes d'envoi prises en charge

MEV Protect est un paramètre de requête, il se superpose donc à chaque méthode d'envoi sans changer votre corps de requête.

| Méthode                                                                     | Point de terminaison                 | Activer avec                             |
| --------------------------------------------------------------------------- | ------------------------------------ | ---------------------------------------- |
| [Basic `sendTransaction`](/docs/fr/sending-transactions/send-manually)           | `https://mainnet.helius-rpc.com`     | `?api-key=YOUR_API_KEY&mev-protect=true` |
| [Basic `sendBundle`](/docs/fr/sending-transactions/send-bundle)                  | `https://mainnet.helius-rpc.com`     | `?api-key=YOUR_API_KEY&mev-protect=true` |
| [Sender Max](/docs/fr/sending-transactions/sender-max) (transactions et bundles) | `https://sender.helius-rpc.com/fast` | `?mev-protect=true`                      |
| [Sender SWQOS-only](/docs/fr/sending-transactions/sender-swqos-only)             | `https://sender.helius-rpc.com/fast` | `?swqos_only=true&mev-protect=true`      |

## Comment l'activer

Ajoutez `mev-protect=true` à l'URL de point de terminaison que vous utilisez déjà. Combinez-le avec d'autres paramètres de requête (`api-key`, `swqos_only`, `rebate-address`) en utilisant `&`.

<Tabs>
  <Tab title="Envoi de transaction basique">
    ```bash theme={"system"}
    curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY&mev-protect=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendTransaction",
        "params": [
          "BASE64_ENCODED_TRANSACTION",
          { "encoding": "base64", "skipPreflight": true, "maxRetries": 0 }
        ]
      }'
    ```
  </Tab>

  <Tab title="Envoi de bundle basique">
    ```bash theme={"system"}
    curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY&mev-protect=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendBundle",
        "params": [
          ["BASE64_SIGNED_TX_1", "BASE64_SIGNED_TX_2"],
          { "encoding": "base64" }
        ]
      }'
    ```
  </Tab>

  <Tab title="Sender Max">
    ```bash theme={"system"}
    curl "https://sender.helius-rpc.com/fast?mev-protect=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendTransaction",
        "params": [
          "BASE64_ENCODED_TRANSACTION",
          { "encoding": "base64", "skipPreflight": true, "maxRetries": 0 }
        ]
      }'
    ```
  </Tab>

  <Tab title="Sender SWQOS-only">
    ```bash theme={"system"}
    curl "https://sender.helius-rpc.com/fast?swqos_only=true&mev-protect=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendTransaction",
        "params": [
          "BASE64_ENCODED_TRANSACTION",
          { "encoding": "base64", "skipPreflight": true, "maxRetries": 0 }
        ]
      }'
    ```
  </Tab>
</Tabs>

<Tip>
  MEV Protect ne modifie que l'endroit où votre transaction est routée. Conservez vos exigences existantes
  concernant les frais de pourboire et de priorité — pour Sender, un pourboire et des frais de priorité
  sont toujours obligatoires.
</Tip>

## Compromis

Exclure des validateurs signifie que votre transaction a légèrement moins de leaders avec lesquels atterrir. En pratique, l'impact est minime : seule une quantité limitée de mise (environ 3 à 4 millions de SOL) est exclue à tout moment, une petite fraction de la mise totale du réseau. Pour la plupart des flux, la réduction du taux d'atterrissage et la latence ajoutée sont négligeables.

<Warning>
  Pour les stratégies les plus sensibles à la latence où chaque leader compte, mesurez
  le taux d'atterrissage avec et sans `mev-protect=true` pour votre flux spécifique avant
  de l'activer en production.
</Warning>

## MEV Protect vs. remboursements de transaction

Ce sont des fonctionnalités complémentaires qui couvrent différentes parties de MEV :

* **MEV Protect** est un routage défensif — il réduit les chances qu'un attaquant sandwich puisse extraire de la valeur de votre transaction.
* **[Remboursements de transaction](/docs/fr/sending-transactions/backrun-rebates)** sont offensifs — ils vous paient une part du MEV de backrun bénéfique, post-transaction, que votre transaction génère.

Vous pouvez opter pour les deux sur la même requête en ajoutant les deux paramètres de requête.

## Connexes

<CardGroup cols={2}>
  <Card title="Helius Sender" icon="rocket" href="/docs/fr/sending-transactions/sender">
    Soumission de transactions à ultra-basse latence et multi-chemins avec tarification basée sur le pourboire.
  </Card>

  <Card title="Remboursements de transaction" icon="coins" href="/docs/fr/sending-transactions/backrun-rebates">
    Gagner une part du MEV que vos transactions génèrent, payé en SOL.
  </Card>

  <Card title="Envoyer des transactions (basique)" icon="paper-plane" href="/docs/fr/sending-transactions/send-manually">
    Construisez, optimisez et confirmez un `sendTransaction` avec une boucle de réessai robuste.
  </Card>

  <Card title="Envoyer des bundles (basique)" icon="layer-group" href="/docs/fr/sending-transactions/send-bundle">
    Exécution atomique, tout ou rien, jusqu'à 5 transactions via `sendBundle`.
  </Card>
</CardGroup>
