Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Slippage tolerance: как правильно выставить допуск на DEX и не потерять на sandwich attack

Slippage tolerance — максимальное отклонение итоговой цены свопа от ожидаемой, которое вы готовы принять. Если цена изменится сильнее — транзакция автоматически отменяется и вы теряете только газ. Слишком высокий допуск (49%) делает вас мишенью для sandwich-ботов; слишком низкий (0,1%) на волатильном активе означает постоянные revert и потери на газе.

Автор: ~8 мин

Что такое slippage и почему он возникает на DEX?

Slippage — разница между ожидаемой ценой свопа и фактической ценой исполнения. Возникает по двум причинам: price impact (ваша сделка сама двигает цену в пуле — чем крупнее сделка относительно TVL пула, тем выше impact) и рыночное движение цены за время от отправки транзакции до её включения в блок. На активных парах с высоким объёмом slippage минимален; на малоликвидных парах даже небольшая сделка создаёт значительный price impact. Риск: на парах с низкой ликвидностью и высоким допуском вы можете получить цену значительно хуже ожидаемой.

Источник: ЦБ РФ

Как sandwich attack использует высокий slippage tolerance?

Sandwich bot мониторит мемпул и видит вашу транзакцию с высоким slippage. Алгоритм: (1) бот покупает актив до вашей транзакции, поднимая цену; (2) ваша транзакция исполняется по завышенной цене в пределах вашего допуска; (3) бот продаёт актив сразу после — с прибылью за ваш счёт. Чем выше ваш slippage tolerance, тем больше пространства для манипуляции. При slippage 1% бот зарабатывает меньше, чем при 10%. Риск: sandwich атаки полностью автоматизированы и происходят за миллисекунды — защита только превентивная.

Какой slippage tolerance оптимален для разных типов активов?

Ориентиры: стейблкоин/стейблкоин (USDC/USDT) — 0,05–0,1%; высоколиквидные пары (ETH/USDC, BTC/ETH) — 0,1–0,5%; средней ликвидности альткоины с TVL $1–10 млн — 0,5–2%; низколиквидные или новые токены — 3–5% (выше — риск sandwich). Если транзакция постоянно проваливается с допуском 1% — проблема в низкой ликвидности пула, а не в настройке. Риск: рекомендации — ориентиры, а не гарантии; в периоды экстремальной волатильности даже 2% может быть недостаточно для исполнения.

Что такое deadline параметр транзакции и как он связан со slippage?

Deadline — временной лимит действительности транзакции (в секундах от момента отправки). По умолчанию Uniswap устанавливает 20 минут. Если транзакция не включена в блок до истечения deadline — она отменяется автоматически, газ расходуется частично. Deadline защищает от исполнения устаревшей транзакции по невыгодной цене при сильном движении рынка. Риск: при перегруженной сети и коротком deadline транзакция может истечь несколько раз подряд — каждый раз теряется газ без совершения свопа.

Как защититься от sandwich attack помимо снижения slippage?

Основные методы: использовать Flashbots Protect или MEV Blocker — сервисы, отправляющие транзакцию напрямую валидатору, минуя публичный мемпул (боты не видят транзакцию до включения в блок); использовать агрегаторы (1inch с режимом защиты от MEV); торговать в часы низкой активности ботов; разбивать крупные свопы на несколько меньших транзакций. Риск: Flashbots Protect доступен только для Ethereum mainnet; на других сетях защита от MEV менее развита.

Источник: ЦБ РФ

Влияют ли расходы на газ от упавших транзакций на налоги в РФ?

Газ, потраченный на транзакции, завершившиеся revert из-за превышения slippage, формально является расходом, связанным с попыткой совершить крипто-операцию. При расчёте налоговой базы по НДФЛ (ставка 13%/15%, прогрессивная шкала с 2025 г.) расходы на газ уменьшают доход от успешных операций. Риск: документально подтвердить газовые расходы для ФНС затруднительно без специальной выгрузки on-chain истории; единого стандарта налогового учёта газа нет.

Источник: ЦБ РФ

Почему транзакция падает даже при slippage 3%?

Возможные причины: ликвидность пула слишком мала для вашей суммы (price impact превышает допуск); токен имеет встроенный tax на продажу (например, 5%) — нужно добавить его к slippage; за время ожидания в мемпуле цена изменилась сильнее допуска; istёк deadline транзакции. Проверьте revert reason на Etherscan.

Эксклюзив от ИнвестХомяка

Рекомендуемый slippage tolerance по типу торговой пары

Тип парыРекомендуемый slippageРиск при превышении
Стейблкоин / стейблкоин (USDC/USDT)0,05–0,1%Почти нет — пара стабильна по определению
Топ-активы (ETH/USDC, WBTC/ETH)0,1–0,5%Sandwich при >1%, revert при <0,1% в волатильность
Альткоины средней ликвидности0,5–2%Sandwich при >3%, частые revert при <0,5%
Низколиквидные / новые токены3–5% (не выше)Выше 5% — открытая мишень для sandwich ботов

Низкий slippage против высокого: компромисс между защитой и исполнением

КритерийНизкий slippage (0,1%)Высокий slippage (10%+)
Риск sandwich attackМинимальный — боту невыгодно атаковатьВысокий — бот зарабатывает на всём допуске
Риск revert транзакцииВысокий при волатильности или малой ликвидностиНизкий — транзакция исполняется почти всегда
Потери на газе при revertВозможны при частых неудачахМинимальны (транзакция проходит)
Качество исполненияГарантированно близко к ожидаемой ценеЦена может быть значительно хуже ожидаемой
Оптимальное применениеВысоколиквидные пары, стейблкоиныНизколиквидные токены (с риском MEV)

Как правильно настроить slippage tolerance на Uniswap и других DEX

  1. Оцените ликвидность пула перед свопом

    На DEXTools или в интерфейсе Uniswap проверьте TVL пула и 24h-объём торгов. Отношение вашей суммы свопа к TVL пула определяет price impact — чем оно выше, тем больший slippage потребуется для исполнения транзакции.

  2. Начните с минимального slippage и повышайте при необходимости

    Установите 0,5% и попробуйте отправить транзакцию. Если получаете revert — повышайте на 0,5% за раз до минимального уровня, при котором транзакция проходит. Не устанавливайте «с запасом» сразу высокое значение.

  3. Используйте MEV-защиту для крупных свопов

    Для свопов на сумму от $1000+ используйте Flashbots Protect (protect.flashbots.net) на Ethereum или встроенную MEV-защиту в 1inch. Это исключает видимость транзакции в публичном мемпуле и блокирует sandwich ботов.

  4. Разбейте крупный своп на несколько транзакций

    Вместо одного свопа на $10 000 сделайте несколько по $2 000–3 000. Это снижает price impact каждой транзакции и делает sandwich атаку менее прибыльной — боту нужно тратить больше газа на каждую атаку.

  5. Проверьте итоговую цену до подтверждения

    В интерфейсе Uniswap перед подтверждением откройте детали транзакции: поле «Minimum received» показывает наихудшую цену при вашем slippage. Убедитесь, что это значение приемлемо — именно оно защищает вас по контракту.

Частые вопросы

Почему транзакция падает даже при slippage 3%?

Возможные причины: ликвидность пула слишком мала для вашей суммы (price impact превышает допуск); токен имеет встроенный tax на продажу (например, 5%) — нужно добавить его к slippage; за время ожидания в мемпуле цена изменилась сильнее допуска; istёк deadline транзакции. Проверьте revert reason на Etherscan.

Что такое price impact и чем он отличается от slippage?

Price impact — изменение цены в пуле, вызванное непосредственно вашей транзакцией (зависит от размера сделки относительно пула). Slippage — общее отклонение цены, включая и price impact, и рыночное движение за время ожидания. Price impact виден заранее в интерфейсе DEX; рыночный slippage непредсказуем. Оба входят в параметр slippage tolerance.

Безопасно ли использовать режим «Auto» slippage на Uniswap?

Uniswap автоматически рассчитывает рекомендуемый slippage на основе параметров токена (включая tax). Для стандартных ERC-20 без tax это безопасно и удобно. Однако для токенов с агрессивным sell tax или в периоды высокой волатильности авторасчёт может занижать допуск — транзакция упадёт. Контролируйте значение вручную.

Работает ли Flashbots Protect на сетях кроме Ethereum?

Flashbots Protect изначально создан для Ethereum mainnet. На L2 и других EVM-сетях (Arbitrum, BNB Chain) архитектура мемпула отличается, и стандартный Flashbots недоступен. Ряд L2 имеют собственные MEV-protection механизмы или иную архитектуру секвенсора, снижающую риск sandwich. Уточняйте доступные инструменты для конкретной сети.

Нужно ли менять slippage при использовании агрегатора (1inch, Paraswap)?

Агрегаторы маршрутизируют своп через несколько пулов, что снижает price impact по сравнению с прямым свопом. Настройка slippage остаётся актуальной: 1inch позволяет задать допуск и включить MEV-защиту. Агрегация не устраняет рыночный slippage — лишь оптимизирует маршрут для лучшей цены.

Источники