Как избежать проскальзывания при обмене крипты
Проскальзывание съедает прибыль на DEX. Как настроить slippage tolerance, выбрать пул и не потерять деньги на обмене.
Проскальзывание съедает прибыль на DEX. Как настроить slippage tolerance, выбрать пул и не потерять деньги на обмене.
Вы меняете 2 ETH на USDC на Uniswap. Курс в интерфейсе — 3 200 USDC за ETH, итого 6 400 USDC. Жмёте «Обмен», кошелёк просит подпись, транзакция уходит в блок. На баланс падает 6 280 USDC. Куда делись 120 баксов? Это проскальзывание — разница между ценой, которую вы видели на экране, и ценой, по которой сделка реально прошла в блоке.
Проскальзывание — это разница между ожидаемой ценой ордера и ценой фактического исполнения. На централизованных биржах (Binance, Bybit) это случается реже — там есть мейкеры и стакан заявок. На DEX (Uniswap, 1inch, Curve) цена зависит от размера пула ликвидности: чем глубже пул, тем меньше он «прогибается» под вашей сделкой.
Перед обменом:
Uniswap по умолчанию ставит 0,5%. Для пулов с нормальной ликвидностью этого достаточно. Но настройки зависят от пары:
Превышать 10% не нужно никогда. Это зелёный свет для фронт-раннеров — ботов, которые видят вашу транзакцию в мемпуле и успевают поставить свой ордер перед вашим, забирая разницу себе.
Цена на DEX — не одна цифра, а кривая. В Uniswap V3 ликвидность распределена по ценовым тикам. Сделка на $10 000 проходит по одним ценам, а на $100 000 задевает пустые тики — и цена проваливается.
AMM-формула: ваш объём сдвигает баланс пула, и каждый следующий атомарный кусок сделки продаётся дешевле предыдущего. Чем больше ваша сделка относительно пула, тем сильнее изгиб кривой.
Если ваша сделка больше 2% от TVL пула — дробите. Агрегаторы (1inch, Paraswap) иногда сами разбивают ордер на части и прогоняют через разные пулы, но ручное дробление даёт контроль.
Пример расчёта: пул ETH/USDC на Uniswap V3, TVL $2 000 000. Вы меняете $40 000 — это 2% пула, на грани. Прикиньте price impact в интерфейсе: он покажет «0,8%». Меняйте напрямую. А вот $80 000 — уже 4%, price impact уйдёт за 1,5–2%. Разбейте на два ордера по $40 000 с паузой в минуту: суммарный slippage окажется ближе к 0,8%, не к 2%.
Вы меняете $50 000 в пуле с TVL $1 000 000. Это 5% пула — цена сдвинется заметно. Разбейте на 5 ордеров по $10 000 с паузой 30–60 секунд между ними. Пул успеет «вернуться»: arbitrage-боты выровняют цену с другими биржами, и средняя цена исполнения окажется лучше, чем у одного большого ордера.
Но каждый ордер — отдельная транзакция, газ платится за каждый. На Ethereum при газе 20 gwei и комиссии $4 за обмен — пять ордеров это $20 газа. На Arbitrum или Optimism газ копеечный, дробить выгодно почти всегда.
Считайте: если экономия от дробления больше стоимости газа — дробите. Если газ съедает выгоду — меняйте разом, но через агрегатор.
Да. Положительное проскальзывание — когда фактическая цена лучше ожидаемой. Например, за секунды между отправкой транзакции и попаданием в блок цена в пуле сдвинулась в вашу пользу (кто-то крупный поменял в обратную сторону). Вы получаете чуть больше, чем показывал интерфейс. На Uniswap это видно в истории: «received» больше «minimum received».
Это не правило, а редкость — рассчитывать на плюс не стоит. Но на агрегаторах с динамическим маршрутом положительное проскальзывание встречается чаще: пока ваша транзакция летит, 1inch иногда перестраивает маршрут и находит пул получше.