Все статьи
Гайды

Проскальзывание в Solana: как выбрать значение

Проскальзывание в Solana по сценариям: глубина пары, волатильность и риск сэндвича. Значения для Jupiter, свопа и запуска на много кошельков.

8 минут чтения J Tools Editorial
Иллюстрация к настройке проскальзывания в Solana: шкала допуска по цене между котировкой свопа и его исполнением в блокчейне

Проскальзывание задаёт допуск по цене, при котором своп ещё исполнится. Поставили слишком узко, и транзакция откатывается в блокчейне: комиссия списана, токенов нет. Поставили слишком широко, и на вашем ордере зарабатывает бот, который следит за пулом.

Режим Auto угадывает число за вас, но он не знает ни размера ордера, ни того, сколько ботов сидит на конкретной паре. Поэтому проскальзывание в Solana подбирают по трём вводным: какую долю пула забирает ваш ордер, насколько токен двигался в последнее время и сколько ботов давит на эту пару.

Проскальзывание и влияние на цену: разные вещи

Проскальзывание это запас на всё, что происходит между котировкой и исполнением: чужие сделки, боты, обычная волатильность. Влияние на цену (price impact) это то, что делает с пулом ваш собственный ордер, и его видно заранее, до подписи. Отсюда рабочее правило: проскальзывание равно влиянию на цену плюс небольшой запас. На глубокой паре SOL/USDC запас держат в 0,1-0,2%, на свежем меме он доходит до 2-5%.

Проверка идёт в блокчейне, а не в интерфейсе кошелька. Транзакция в Solana исполняется целиком или откатывается целиком, и комиссия списывается в обоих случаях, о чём прямо говорит документация Solana о транзакциях. Значит, под допуск попадает всё, что сдвинуло цену после котировки.

Слишком узко и слишком широко

Поставьте 0,1% на быстром токене, и цена уедет на 0,12% за полсекунды между котировкой и исполнением. Своп отменяется, комиссия уходит, токена нет. Настоящая цена ошибки не в комиссии, а в упущенном входе: пока вы подбираете «правильное» число, движение уже случилось.

Обратная крайность работает тише. Откройте 5% на крупной покупке SOL за USDC, и бот, наблюдающий за парой, купит перед вами, даст вам исполниться по задранной цене и тут же продаст. В блокчейне своп выглядит успешным, потому что порог вы не пробили. Вопрос «почему я так плохо зашёл» получает ответ ровно здесь.

Никогда не ставьте 50%. Для ботов это прямой сигнал «исполняй по любой цене», и правильным такое число не бывает ни в одном сценарии. На глубоких парах держите допуск узким: крупные ордера с широким допуском боты выслеживают специально.

Глубина решает больше, чем сам токен

Янтарная жидкость ровно проходит через широкую воронку слева и переливается через узкую воронку справа: глубокая ликвидность против тонкой

Правильный вопрос звучит не «сколько убытка я готов принять», а «насколько мой ордер сдвинет цену здесь». Покупка на 1% от денег в пуле почти не двигает цену, и допуск остаётся узким. Покупка на 10% от пула сама поднимет цену минимум на те же 10%, и допуск обязан это покрыть, иначе своп откатится.

Интерфейсы показывают «влияние на цену» и «допуск» отдельными строками, а читать их нужно вместе: второе всегда стоит чуть выше первого. Перед крупным ордером стоит посмотреть на глубину и на то, как распределены держатели: в этом поможет снимок держателей токена. Как считается сама глубина, разобрано в статье «пул ликвидности на Solana и его глубина».

Проскальзывание по сценариям

Числа ниже это опыт операторов, а не правило протокола. Рядом с ними всегда смотрите на живое влияние на цену.

СценарийЗначениеПочему
Стейбл в стейбл (USDC в USDT)0,1-0,3%Очень глубокий пул ликвидности, волатильности почти нет
SOL/USDC, малый и средний объём0,5-1%Глубокая пара, но сэндвич-давление реальное
SOL и средний токен (например JTO)1-2%Ликвидности хватает, цена двигается
SOL и устоявшийся мем (BONK, WIF)2-5%Высокая волатильность, средняя глубина
SOL и свежий мем после Pump.fun5-15%Очень тонкий пул ликвидности, сильные скачки за минуту

Пример на один день. Своп USDC в USDT на 200 долларов при 1% проходит спокойно: реальная разница была около 0,05%. Тот же 1% на свежем меме в тонком пуле откатывается, потому что между котировкой и свопом цена ушла на 5%; тому входу требовалось около 10%. Одно и то же число, два разных исхода. Для одиночного входа его вводят вручную в форме свопа токенов, а не оставляют на Auto.

Маршрут важнее самого токена

Один и тот же токен требует разных значений в зависимости от того, где реально исполнится ордер. Цена в каждом месте собирается по-своему.

МаршрутКак формируется ценаСтартовое значениеПокупка на 5 SOL
Raydium и другие AMMСоотношение резервов (x умножить на y равно k)0,5-1% на глубоком пуле, 3-8% на тонкомОколо 1%, если в стороне SOL примерно 500 SOL, и около 8% при 60
Роутер JupiterДробит ордер по нескольким пулам0,3-1% для средних ордеровПри разбивке на три пула общее влияние падает примерно до 0,5%
Кривая Pump.funКаждая покупка поднимает следующую цену5-15%На свежей кривой 5 SOL двигают её примерно на 8-12%

Проведём один пример до конца. Вы покупаете один и тот же токен на 5 SOL. Через глубокий пул Raydium исполнение ложится близко к котировке, и 1% там с запасом хватает. Через Jupiter ордер дробится, расчётное влияние падает, и более узкие 0,5% всё равно проходят. А на монете, которая ещё сидит на своей кривой, те же 5 SOL двигают цену сами, поэтому значение ниже собственного влияния кривой чаще всего просто откатится.

В Jupiter маршрут может поменяться в последний момент, и оценка поплывёт, поэтому нулевой допуск там не ставят никогда. На кривой добавляется ещё одно: покупки, попавшие в тот же блок раньше вашей, уже подняли цену. После миграции монета торгуется в обычном пуле, и этот переход разобран в статье «что такое биржа PumpSwap». Чем площадки отличаются между собой, сравнивает разбор «где менять токены в Solana», а живую глубину конкретной пары читает инструмент ликвидности пула.

Auto и миф про «0,5% работает всегда»

Auto в Jupiter читает недавнюю волатильность токена. На глубоких парах он попадает разумно, а на свежем меме после миграции легко выставляет 5-15% там, где реальное влияние ордера на цену равно 2%. Такой допуск делает вас удобной мишенью для сэндвича. Оператор обыгрывает Auto ровно потому, что знает две вещи, недоступные режиму: собственный размер ордера и плотность ботов на этой конкретной паре. Сам параметр описан в документации для разработчиков Jupiter.

Совет «0,5% работает для всего» держится ровно в одном случае: средний своп SOL/USDC, глубокая пара, маршрут с защитой от MEV. На меме 0,5% откатывается. На покупке в 100 тысяч USDC собственное влияние ордера уже может превышать эту цифру. В запуске на много кошельков такое число откатит половину поздних кошельков. Три вопроса перед сделкой: какую долю пула я забираю, сколько ботов на этой паре, сколько кошельков в запуске.

Много кошельков, один допуск

Ряд кошельков в очереди: первые подсвечены ярко, последние тускло, под ними кривая цены, растущая слева направо

Представьте запуск, где 200 кошельков покупают один токен. Оркестратор свопа берёт одно значение и применяет его ко всем кошелькам запуска. Ловушка в том, что пул ликвидности успевает сдвинуться между первым кошельком и двухсотым. Поставите допуск под первый кошелёк, и двухсотый откатится; поставите под двухсотый, и подарите возможность для сэндвича боту, который ждёт на первом.

Практика даёт два хода. Первый: считать допуск по худшему, последнему кошельку и принять небольшую переплату на ранних кошельках. Второй: разбить запуск на 2-3 партии и пересчитывать число по живому состоянию пары перед каждой. Одно значение на всю пачку ставит инструмент свопа с множества кошельков, а упаковка сделок в один бандл транзакций сжимает окно, в котором фронтраннер успевает вклиниться. Кто именно ждёт на другой стороне сделки, показывает разбор «как работает снайпер-бот».

Ошибка «slippage tolerance exceeded» в Phantom

Эта строка значит, что цена вышла за ваш порог между котировкой и попаданием транзакции в блок. Сработала защита, а не баг. Причин обычно три:

  • Тонкая или быстрая пара. Свежие токены двигаются на несколько процентов за блок, и узкий допуск за ними не успевает.
  • Устаревшая котировка. Вы задержались на экране подтверждения, и пул ликвидности за это время ушёл вперёд.
  • Не хватает SOL на комиссию. Это другая поломка, но кошелёк умеет показать её общим предупреждением, и её легко перепутать с проскальзыванием.

Решение простое: поднимать допуск по одной ступени вместо прыжка на 50%, обновлять котировку перед подписью, а для входа, который обязан пройти в одном блоке, брать атомарное исполнение, чтобы зазор между котировкой и исполнением стал меньше.

Частые вопросы про проскальзывание

Ставить 1% или 5%?

Ответ даёт конкретная пара, а не правило. На глубокой паре с большим оборотом 0,5-1% проходит и при этом защищает от плохой цены. На свежем, тонком токене или на кривой 1% будет откатываться, и реалистичный диапазон 3-5%. Если сделка проходит только выше 5%, ликвидности слишком мало: уменьшайте ордер, а не расширяйте допуск.

Безопасен ли режим Auto?

На обычных сделках в глубоких парах он выбирает разумно. Риск начинается на волатильных и тонких токенах: там Auto ставит допуск заметно шире реального влияния вашего ордера и делает вас лёгкой мишенью для сэндвича. На новом токене и на крупном объёме число лучше ввести самому.

Как выставлять проскальзывание при запуске на много кошельков?

Одно значение действует на все кошельки, а цена уезжает по мере их исполнения, так что худшую цену видит последний. Считайте допуск по нему или разбейте запуск на две-три партии и пересчитывайте по живому состоянию пары перед каждой. Упаковка покупок в один бандл транзакций дополнительно сужает окно, в котором цена успевает уйти.

Чем проскальзывание отличается от влияния на цену?

Влияние на цену это то, что делает с пулом ваш собственный ордер: оно зависит от размера сделки против глубины и видно до подписи. Проскальзывание это запас на то, что вы не контролируете между котировкой и исполнением. Если интерфейс показывает влияние 2%, допуск в 0,5% гарантирует откат ещё до того, как ордер дойдёт до ботов.

Почему своп откатывается раз за разом?

Чаще всего пара слишком быстрая для выставленного допуска, котировка устарела или на кошельке нет SOL на комиссию. Поднимайте значение по одной ступени, обновляйте котировку перед подписью и держите небольшой запас SOL. Если вход обязан пройти в одном блоке, помогает атомарное исполнение: оно сокращает сам промежуток, в котором цена успевает уехать.

Что будет, если поставить слишком много?

Своп пройдёт, и в блокчейне он будет выглядеть успешным, потому что порог вы не пробили. Разницу заберёт бот, который купил перед вами и продал сразу после. Поэтому 50% это не «надёжнее», а дороже.

Перед следующим свопом

Проскальзывание это не одно верное число, а решение, которое пересчитывают под каждую сделку: доля пула, скорость пары, количество кошельков. Второе число, которое приходится выбирать руками, разобрано в статье «приоритетная комиссия Solana и её размер», а объём и возраст пары перед входом помогает прочитать руководство по DexScreener.

J
Автор
J Tools Editorial

Материал команды J Tools.

Все материалы автора J Tools Editorial →

Похожие статьи