Начинающим

Как выбрать slippage для stablecoin и неликвидного токена

Как отличить slippage tolerance от price impact, оценить глубину маршрута и задать защиту результата для stablecoin и тонкого рынка.

Как выбрать slippage для stablecoin и неликвидного токена

Slippage tolerance задаёт, насколько фактический результат swap может оказаться хуже текущей котировки до того, как транзакция будет отменена. Это защитная граница, а не прогноз цены. Для stablecoin и неликвидного токена подход различается, потому что глубина пула, волатильность и устройство актива создают разные причины отклонения.

Универсальное значение не подходит для всех сделок. Слишком узкая граница приводит к revert и потере gas, а слишком широкая позволяет исполнить swap заметно хуже ожидаемого и расширяет пространство для MEV. Выбор начинается с анализа котировки и маршрута, а не с повышения процента после первой ошибки.

Не путайте slippage и price impact

Price impact – изменение цены, которое создаёт сама ваша сделка относительно доступной ликвидности. Оно уже заложено в котировку. Крупный ордер в мелком пуле сдвигает резерв сильнее и получает худший средний курс ещё до отправки транзакции.

Slippage – дополнительное изменение между расчётом и исполнением. За это время другие сделки меняют резервы, рынок движется, а агрегатор может обновить маршрут. Tolerance определяет minimum amount out: если контракт не может выдать хотя бы этот минимум, операция должна отмениться.

Расширение tolerance не исправляет высокий price impact. Оно лишь разрешает принять ещё худший результат поверх уже слабой котировки. Подробное различие разобрано в статье о slippage и price impact.

Как выбирать границу для stablecoin

Пара двух активов с близкой расчётной стоимостью часто торгуется в специализированном глубоком пуле. При нормальном балансе небольшая сделка может иметь низкий price impact. В такой ситуации разумно начинать с узкой границы и увеличивать её только после проверки причины отклонения.

Слово stablecoin не означает постоянный курс. Один токен может отклониться от привязки, пул – стать несбалансированным, а обёрнутая версия – потерять ликвидность. Если котировка уже показывает заметную разницу, широкая tolerance зафиксирует рыночный дисконт, а не решит техническую проблему.

Сверьте адреса обоих токенов и маршрут. Агрегатор может провести обмен через промежуточный актив или несколько пулов. Каждый hop добавляет fee и возможность изменения состояния. Иногда прямой глубокий stable-пул даёт предсказуемый результат, а иногда разделённый маршрут использует ликвидность лучше.

Если swap повторно отменяется, обновите котировку, проверьте баланс пула и загрузку сети. Не увеличивайте tolerance сразу в несколько раз. Причина может быть в transfer tax, неподдерживаемом rebasing-механизме или устаревшем маршруте, а не в обычном движении цены.

Что делать с неликвидным токеном

У тонкого рынка даже небольшая сумма способна пройти через значительную часть резерва. Сначала оцените price impact и итоговый курс, затем сравните другие официально доступные пулы. Проверьте, что глубина принадлежит нужному токену, а не активу с тем же тикером.

Разделение крупного ордера может уменьшить одномоментный impact, но создаёт несколько комиссий и раскрывает торговое намерение. Арбитраж между частями способен изменить цену. Сравните расчёт одной сделки, нескольких частей и ожидания дополнительной ликвидности без предположения, что один вариант всегда лучше.

Высокая tolerance делает ожидаемую транзакцию привлекательнее для sandwich-атаки. Наблюдатель может купить раньше, ухудшить ваш курс до допустимой границы и продать после. Приватная отправка или intent-аукцион способны снизить видимость и улучшить конкуренцию исполнителей, но их модель доверия тоже нужно проверять.

У неизвестного токена изучите код и поведение transfer. Налог на покупку или продажу уменьшает реальный выход и может не поддерживаться роутером. Возможность владельца менять fee, блокировать адреса или ограничивать продажу опаснее обычного slippage. Не компенсируйте такие признаки безразмерным допуском.

Рассчитайте minimum output вручную

Возьмите ожидаемый output из свежей котировки. Если выбранная tolerance равна t, минимальный результат приблизительно равен quote, умноженному на единицу минус t. Интерфейс обычно показывает minimum received, но полезно сопоставить число самостоятельно и проверить decimals выходного токена.

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

Как найти параметры в вызове, объясняет инструкция по чтению calldata. У intent-протокола minimum output может находиться в подписанном order data, а не в обычном swap-методе. В обоих случаях сравнивайте базовые единицы с отображаемой суммой.

Порядок безопасной настройки

  1. Сверьте адреса токенов, сеть и decimals.
  2. Получите свежую котировку и отдельно посмотрите price impact.
  3. Изучите пулы и все промежуточные активы маршрута.
  4. Задайте минимальную приемлемую сумму, исходя из рынка и своей цели.
  5. Проверьте calldata, spender, deadline и minimum output.
  6. Для тонкого рынка начните с малой суммы и подтвердите фактический баланс.

Симуляция поможет увидеть ожидаемые transfers и изменение баланса, но котировка может измениться до блока. Материал о пределах симуляции объясняет, почему успешный preview не заменяет onchain-защиту.

Если используется intent и solver, проверьте минимальный результат в самой заявке по инструкции о безопасной работе с intents. Solver может выбрать иной маршрут, однако не должен исполнять заказ ниже подписанного минимума.

Для stablecoin низкий price impact и глубокий пул обычно позволяют держать границу ближе к котировке, пока активы сохраняют привязку. Для неликвидного токена сначала решают проблему размера ордера и глубины, а уже затем настраивают tolerance. Хорошая настройка не обещает лучшую цену, но не позволяет исполнению выйти за предел, который вы заранее сочли приемлемым.