WATS Wallet logoWATS Wallet
Технически6 мин чтения

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

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

Проскальзывание — это разница между ценой, по которой своп был котирован, и ценой, по которой он фактически исполнился. Оно возникает потому, что автоматический маркет-мейкер считает цену из токеновых балансов своего пула, а эти балансы могут измениться между моментом, когда вам показали котировку, и моментом, когда ваша транзакция попадает в блок: чужие сделки проходят раньше и сдвигают пул. Проскальзывание отличается от влияния на цену — движения, которое размер вашего собственного ордера вызывает против глубины пула, — и от комиссий, которые известны ещё до сделки. Настройка толерантности к проскальзыванию — это ограждение, а не прогноз: она предписывает контракту свопа откатить транзакцию, если вы получите меньше заявленного минимума к получению. Ни один кошелёк не может отменить проскальзывание, но в WATS своп подписывается внутри полностью некастодиального кошелька — ключи держите вы, а WATS не держит ни одного — причём котировка, толерантность и минимум к получению показываются до подписи.

Цена, которую вы видели, и цена, которую получили

Каждый, кто меняет токены, рано или поздно с этим сталкивается: котировка называла один курс, подтверждение показывает другой. Этот разрыв — проскальзывание (slippage): разница между ценой, которую вам показали, и ценой, по которой сделка реально исполнилась. Это не мошенничество и обычно не баг, а структурное свойство работы ончейн-рынков. Но без управления оно тихо облагает налогом каждую вашу сделку — а в худших случаях становится дверью, через которую входит злоумышленник.

Откуда берётся проскальзывание

Большинство ончейн-свопов исполняются против автоматических маркет-мейкеров (AMM) — пулов ликвидности, чья цена является функцией их токеновых балансов. Отсюда два следствия. Во-первых, ваша собственная сделка двигает цену: покупка из пула делает актив в нём более редким, и предельная цена растёт по мере исполнения ордера — чем крупнее сделка относительно пула, тем хуже средний курс. Во-вторых, торгуют и другие: между моментом котировки и моментом, когда транзакция попадает в блок, другие свопы могли сместить пул. Цена котировки и цена исполнения просто измерены в два разных момента движущегося рынка, и ожидание между ними не мгновенно: в сетях EVM ваша транзакция лежит в публичной mempool, пока сборщик блоков её не включит, а в сетях, где транзакции сразу уходят следующему производителю блоков, ожидание всё равно есть — просто оно менее заметно.

Толерантность к проскальзыванию: что настройка делает на самом деле

Настройка проскальзывания в интерфейсе свопа — это ограждение, а не предсказание. Значение 0,5% говорит контракту: исполняй, только если я получу минимум 99,5% котированного объёма — иначе откатись. Этот откат — фича. Неудавшийся своп стоит вам сетевой комиссии, но сохраняет токены; своп, исполненный на 12% хуже котировки, стоит реальных денег без чека. Число, которое действительно нужно читать перед подписью, — минимум к получению: худший случай, на который вы соглашаетесь, выраженный в токенах, а не в процентах. Большинство роутеров дополняют его дедлайном — отметкой времени, после которой своп уже не может исполниться, чтобы транзакция, застрявшая на час, не исполнилась вдруг против рынка, ушедшего вперёд без вас.

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

Ваш результат уменьшают три разные вещи, и интерфейсы часто сводят их в одно число. Комиссии — доля пула и сетевой сбор — известны заранее. Влияние на цену — движение, которое размер вашей собственной сделки вызывает против глубины пула; оно есть даже на совершенно спокойном рынке, где больше никто не торгует. Проскальзывание — движение между котировкой и исполнением, вызванное всеми остальными. Комиссии принимают; влияние уменьшают, торгуя мельче или маршрутизируя через более глубокие пулы; проскальзывание ограничивают толерантностью. Диагноз, что именно вас ударило, подсказывает, за какой рычаг тянуть: повышение толерантности ничего не сделает с влиянием на цену, а дробление сделки ничего не сделает с быстро летящим рынком.

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

Две ситуации заслуживают уважения. Тонкая ликвидность — маленькие пулы, новые токены, экзотические пары, — где даже скромные сделки вызывают двузначное влияние на цену, а щедрая толерантность тихо санкционирует ужасное исполнение. И враждебный поток: в сетях с публичной mempool ожидающие транзакции видны кому угодно до подтверждения, поэтому высокая толерантность — приглашение сэндвич-ботам купить перед вами, дать вашему ордеру подтолкнуть цену, а затем продать обратно в это движение, съев почти ровно ту маржу, которую вы разрешили. Практическое правило: ваша толерантность — не настройка удобства, а размер убытка, который вы одобряете заранее.

Практичные настройки, которые работают

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

Где здесь WATS

Проскальзывание — свойство рынка, поэтому ни один кошелёк его не отменит; кошелёк решает только одно: стоит ли ограждение перед вами до того, как вы подпишете. WATS держит свопы внутри полностью некастодиального кошелька — ключи держите вы, а WATS не держит ни одного — и показывает котировку, толерантность к проскальзыванию и минимум к получению до подписи в Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana и TON. Он также убирает тот сценарий отказа, который толкает людей на небрежные повторы: каждое действие — переводы, обмены, стейкинг — оплачивается одним токеном, ATS, вместо нативного газового токена каждой сети, через пеймастер ERC-4337 в EVM и эквивалентный fee-payer в Solana и TON, так что своп никогда не встанет из-за нехватки газа в той сети, где вы как раз торгуете. Это не скидка: комиссия в ATS следует за живой стоимостью сети и меняет, какой токен платит, а не сколько стоит транзакция. ATS — это OFT LayerZero, то есть один баланс во всех трёх экосистемах, а собранный ATS сжигается со 100M к полу в 30M: WATS — первый и единственный кошелёк, сочетающий единый комиссионный токен ERC-4337 и OFT с этим сжиганием, о чём рассказано на странице комиссии ATS. Если вы хотите, чтобы дисциплина из этой статьи была настройкой по умолчанию, а не тем, что нужно каждый раз вспоминать — толерантность выставлена осознанно, минимум к получению прочитан перед каждой подписью, никакой суеты с газовым токеном посреди сделки, — выполнять своп в WATS и есть конкретный способ этого добиться.

Часто задаваемые вопросы

Какая настройка проскальзывания считается хорошей?

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

Проскальзывание — это комиссия?

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

Почему мой своп сорвался с ошибкой проскальзывания?

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

Влияет ли выбор кошелька на то, сколько проскальзывания я плачу?

Убрать проскальзывание не может ни один кошелёк — оно идёт от пула, а не от приложения, — но WATS ставит элементы контроля перед подписью: котировка, толерантность к проскальзыванию и минимум к получению показываются до того, как вы подпишете, а сам кошелёк полностью некастодиальный, так что ключи держите вы, а WATS не держит ни одного. Кроме того, WATS берёт сетевые комиссии одним токеном, ATS, через пеймастер ERC-4337 в EVM и эквивалентный fee-payer в Solana и TON, поэтому своп в Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana или TON не встанет из-за нехватки нативного газового токена этой сети. На практике это важно, ведь именно в спешке за газом посреди сделки люди и повышают толерантность не думая.