> ## 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: обход валидаторов, связанных с сэндвич-атаками

> Подключите MEV Protect, чтобы маршрутизировать транзакции Solana в обход валидаторов, статистически связанных с сэндвич-атаками. Работает с базовой отправкой, пакетами и Helius Sender.

<Note>
  **Это необязательная функция.** По умолчанию MEV Protect отключен. Подключите его для отдельного
  запроса, добавив параметр запроса `mev-protect=true` к URL конечной точки.
</Note>

## Что такое MEV Protect?

Сэндвич-атаки — это вредоносная форма MEV, при которой бот выполняет сделки перед вашей транзакцией и после нее, изменяя цену не в вашу пользу и забирая разницу. Эти сделки необязательно должны находиться в одном блоке — при **широком сэндвичинге** они могут охватывать несколько блоков в течение более длительного периода. Для атаки прежде всего нужен **доступ к потоку ваших ордеров** через источник, не защищающий от сэндвичинга. Получив доступ к ожидающей выполнения сделке, бот может включить свой сэндвич в блок любого валидатора.

На практике поток ордеров часто предоставляет валидатор, и такие валидаторы нередко включают сэндвичи в собственные блоки, чтобы увеличить свои вознаграждения. Поэтому их блоки становятся непропорционально частым источником сэндвичинга.

MEV Protect снижает этот риск на уровне маршрутизации. После подключения Helius не отправляет вашу транзакцию валидаторам, статистически связанным с сэндвич-активностью, что значительно уменьшает вероятность сэндвич-атаки.

<CardGroup cols={2}>
  <Card title="Opt-In Per Request" icon="toggle-on">
    По умолчанию отключено. Добавьте `mev-protect=true` к URL конечной точки — изменять
    транзакцию или логику подписания не нужно.
  </Card>

  <Card title="Works Everywhere" icon="arrows-split-up-and-left">
    Поддерживается для базовых `sendTransaction` и `sendBundle`, Sender Max и
    Sender только с SWQOS.
  </Card>

  <Card title="Data-Driven Routing" icon="chart-line">
    Исключает валидаторов, которые включают сэндвичи в собственные или
    соседние блоки, но только если закономерность статистически значима.
  </Card>

  <Card title="Minimal Landing Impact" icon="gauge-high">
    Исключается лишь малая доля общего стейка, поэтому влияние на
    вероятность включения и задержку ограничено.
  </Card>
</CardGroup>

## Как это работает

Helius заблаговременно отслеживает известных сэндвич-ботов и анализирует, куда попадают их сэндвичи. Валидатор помечается, если стабильно наблюдается одна из следующих закономерностей:

* **В собственных блоках** — валидатор напрямую включает сэндвич-транзакции.
* **В соседних блоках** — сэндвичи регулярно попадают в блоки непосредственно перед блоком валидатора или после него.

Чтобы не наказывать валидаторов за случайное соседство, Helius исключает только тех, чья связь с сэндвич-активностью **статистически значима**. Благодаря этому список исключений остается небольшим и точечным, а не блокирует значительную долю стейка.

<Steps titleSize="h3">
  <Step title="Opt in">
    Добавьте `mev-protect=true` к URL конечной точки. Параметр применяется только
    к этому запросу.
  </Step>

  <Step title="Protected routing">
    Helius отправляет вашу транзакцию в обход лидеров, помеченных как связанные
    с сэндвич-атаками, используя текущий статистически значимый список исключений.
  </Step>

  <Step title="Normal execution">
    Транзакция включается в блок как обычно, но с гораздо меньшей вероятностью
    сэндвич-атаки.
  </Step>
</Steps>

## Поддерживаемые способы отправки

MEV Protect задается параметром запроса, поэтому его можно использовать с любым способом отправки, не изменяя тело запроса.

| Способ | Конечная точка | Включение |
| - | - | - |
| [Базовый `sendTransaction`](/docs/ru/sending-transactions/send-manually) | `https://mainnet.helius-rpc.com` | `?api-key=YOUR_API_KEY&mev-protect=true` |
| [Базовый `sendBundle`](/docs/ru/sending-transactions/send-bundle) | `https://mainnet.helius-rpc.com` | `?api-key=YOUR_API_KEY&mev-protect=true` |
| [Sender Max](/docs/ru/sending-transactions/sender-max) (транзакции и пакеты) | `https://sender.helius-rpc.com/fast` | `?mev-protect=true` |
| [Sender только с SWQOS](/docs/ru/sending-transactions/sender-swqos-only) | `https://sender.helius-rpc.com/fast` | `?swqos_only=true&mev-protect=true` |

## Как включить

Добавьте `mev-protect=true` к URL уже используемой конечной точки. Объединяйте его с другими параметрами запроса (`api-key`, `swqos_only`, `rebate-address`) с помощью `&`.

<Tabs>
  <Tab title="Basic sendTransaction">
    ```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="Basic sendBundle">
    ```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 изменяет только маршрут транзакции. Сохраните текущие
  требования к чаевым и комиссии за приоритет — для Sender по-прежнему обязательны
  и чаевые, и комиссия за приоритет.
</Tip>

## Компромиссы

Из-за исключения валидаторов сокращается число лидеров, которые могут включить вашу транзакцию. На практике влияние невелико: в любой момент исключается лишь ограниченный объем стейка (примерно 3–4 миллиона SOL), составляющий малую долю общего стейка сети. Для большинства потоков снижение вероятности включения и дополнительная задержка незначительны.

<Warning>
  Для наиболее чувствительных к задержке стратегий, где важен каждый лидер, измерьте
  вероятность включения с `mev-protect=true` и без него для своего потока, прежде чем
  включать эту функцию в рабочей среде.
</Warning>

## MEV Protect и возвраты за транзакции

Это взаимодополняющие функции, предназначенные для разных аспектов MEV:

* **MEV Protect** обеспечивает защитную маршрутизацию: функция изначально снижает вероятность того, что злоумышленник сможет извлечь выгоду из вашей сделки с помощью сэндвич-атаки.
* **[Возвраты за транзакции](/docs/ru/sending-transactions/backrun-rebates)** работают проактивно: вы получаете долю полезного MEV от сделки после вашей транзакции, созданного вашей транзакцией.

Обе функции можно подключить для одного запроса, добавив оба параметра запроса.

## Связанные материалы

<CardGroup cols={2}>
  <Card title="Helius Sender" icon="rocket" href="/docs/ru/sending-transactions/sender">
    Отправка транзакций по нескольким маршрутам со сверхнизкой задержкой и ценообразованием на основе чаевых.
  </Card>

  <Card title="Transaction Rebates" icon="coins" href="/docs/ru/sending-transactions/backrun-rebates">
    Получайте в SOL долю MEV, создаваемого вашими транзакциями.
  </Card>

  <Card title="Send Transactions (Basic)" icon="paper-plane" href="/docs/ru/sending-transactions/send-manually">
    Создайте, оптимизируйте и подтвердите `sendTransaction` с помощью надежного цикла повторных попыток.
  </Card>

  <Card title="Send Bundles (Basic)" icon="layer-group" href="/docs/ru/sending-transactions/send-bundle">
    Атомарное выполнение до 5 транзакций по принципу «все или ничего» через `sendBundle`.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.