Коротко (TL;DR)
Проковзування при обміні токенів — це не «забракло продавців». Ціну вашій угоді обчислює формула пулу, і різниця між котируванням на екрані та тим, що прийшло на гаманець, складається з двох різних чисел. Одне ви створюєте самі й знаєте до підпису, друге створюють чужі угоди, поки ваша чекає на блок. Налаштування slippage tolerance керує лише другим.
- Коротко (TL;DR)
- Price impact обчислює пул, проковзування приносить черга
- Формула x·y=k на живому пулі: своп $100, $10 000 і $1 млн
- Формула на серветці: price impact дорівнює частці угоди в резерві
- Глибина пулу USDC/WETH: рівень 0,05% у 28 разів більший за 0,01%
- Рівень 0,01% програє рівню 0,05% з $5 000 і дорожчий по газу
- Curve проти Uniswap 0,01%: на $10 млн 0,03% проти 27%
- Допуск 0,5%: одна чужа угода на $100 000 з’їдає 1,93%
- Високий допуск і ризик сендвіча: 95 000 атак і $60 млн за рік
- Концентрована ліквідність: глибина обривається за діапазоном
- Що перевірити перед підписом свопу: minimum received і розмір
- Часті запитання
- Price impact — ваш власний зсув ціни, порахований до відправлення транзакції і вже закладений у котирування. Проковзування — те, що сталося за час очікування блока (на Ethereum це близько 12 секунд). Допуск відлічується понад price impact, а не замість нього.
- Ціна угоди в живому пулі. У пулі Uniswap v2 USDC/WETH (10 131 566,82 USDC і 4 058,12 WETH станом на 28 серпня 2026 року) своп на $100 коштує 0,3010% проти середньої ціни пулу, а своп на $1 млн — 9,2320%, тобто $92 320.
- Формула на серветці: price impact = Δx / (x + Δx), де x — резерв токена, яким ви платите. Угода на 1% резерву коштує близько 1% ціни, на 10% резерву — близько 9%. Перевірено на живих резервах, розбіжність із точним розрахунком — машинна похибка.
- Найдешевший рівень комісії виявився найдрібнішим пулом. У пари USDC/WETH рівень 0,01% тримає близько $3,81 млн, рівень 0,05% — близько $106,87 млн, у 28 разів більше. Від кількох тисяч доларів «дешевий» пул програє, на $1 млн — на 8,575%, це близько $85 тис.
- Дефолтні 0,5% — не універсальне налаштування. Одна чужа угода того самого розміру вимагає допуску 0,197% на $10 тис. і 1,933% на $100 тис. за повністю нерухомої ринкової ціни.
- Задертий допуск — це ціна, оголошена сендвіч-боту. За даними EigenPhi за листопад 2024 — жовтень 2025 зафіксовано понад 95 000 сендвіч-атак і близько $60 млн втрат трейдерів.
Price impact обчислює пул, проковзування приносить черга
На централізованій біржі ціну угоді дає маркетмейкер і книга заявок: ви забираєте найкращі пропозиції продавців, і якщо їх мало, середня ціна їде. На децентралізованій біржі книги заявок немає взагалі. Є контракт із двома запасами токенів і формула, яка за цими запасами видає ціну. Це і є автоматичний маркетмейкер (AMM) — механізм, що замінює продавців арифметикою.
Цей розбір — урок блоку «DEX і ліквідність» курсу «DeFi: від першої транзакції до профі-стратегій».
Звідси перше, що варто розвести. Офіційна документація протоколу розділяє два явища прямим текстом, і саме це розділення — ядро всього уроку.
Price impact — різниця між середньою ціною пулу до угоди (mid-price) і ціною, за якою ваша угода реально виконалася, спричинена її розміром відносно ліквідності пулу. Документація Uniswap підкреслює: ціна всередині одного свопу їде безперервно, і підсумкове виконання опиняється десь між стартовою та кінцевою ціною. Це не збій майданчика і не «погана ліквідність» — це невіддільна частина конструкції AMM.
Проковзування (slippage) — зміна ціни, що сталася, поки відправлена транзакція чекала на включення в блок. Порядок виконання в блоці задає комісія за газ, транзакція з низькою комісією висить невизначений час, і за цей час чужі угоди змінюють резерви, з яких обчислюється ваш курс.Що порівнюємо Price impact Проковзування (slippage) Хто спричинив ваш власний обсяг чужі угоди в черзі Коли відоме до підпису, обчислила вітрина лише за фактом виконання Звідки береться формула пулу на поточних резервах зміна резервів за час очікування блока Чим керувати розміром угоди та вибором пулу допуском, дедлайном, приватним відправленням Що показує інтерфейс відсоток поряд із котируванням налаштування slippage tolerance
Практичний висновок із цієї таблиці неочевидний, і його майже ніде не проговорюють. Допуск проковзування в документації Uniswap описаний як «margin of change acceptable to the user beyond price impact» — тобто відлічується від котирування, у яке ваш власний зсув ціни ВЖЕ закладено. Допуск 0,5% не означає «я готовий втратити 0,5%». Він означає «я готовий втратити ще 0,5% понад те, що мені вже показали».
Першоджерела галузі при цьому розходяться між собою, і про це варто знати. Глосарій того самого Uniswap припускає, що slippage «може включати price impact»; сторінка про свопи відлічує допуск строго понад нього; довідка 1inch визначає slippage як рух, «не пов’язаний із вашою угодою». Популярний блог Uniswap узагалі склеює обидва слова в зворот «the price impact from slippage». Плутанина в україномовних і російськомовних матеріалах тут не самобутня — вона успадкована з англійських джерел. Ми розводимо явища за ПРИЧИНОЮ: своє проти чужого. Це єдине розділення, яке переживає будь-яке формулювання.
Окремо про якість популярних пояснень. Українською матеріалу про механіку ціни свопу немає практично зовсім: перевірка шести результатів видачі не дала жодного, де рахують вартість конкретної угоди. Найпомітніші тексти або переказують загальне «що таке DEX», або пояснюють проковзування термінами біржового стакана — спред, «низький обсяг у стакані», «система не встигає обробляти заявки». Механіка описана не та: у моделі стакана явища «ціну зсунув мій власний обсяг» просто не існує, а на AMM це основна частина вартості угоди.
Формула x·y=k на живому пулі: своп $100, $10 000 і $1 млн
Найпростіший AMM працює за формулою константного продукту: x · y = k, де x і y — резерви двох токенів, а k — величина, яку угода не має права зменшити. У реалізації Uniswap v2 контракт навіть не обчислює ціну: у ядрі немає жодної ціноутворювальної функції, пара лише перевіряє після кожної угоди, що інваріант не порушено. Ціну для вас обчислює інтерфейс за поточними резервами — тому число на екрані це розрахунок, а не зобов’язання пулу.
Скільки токенів поверне своп, задає одна формула:
amountOut = amountIn × 997 × reserveOut / (reserveIn × 1000 + amountIn × 997)
Множник 997/1000 — це комісія 0,3%, і береться вона лише з ВХІДНОГО токена. Не «відняли з виходу», а вкоротили вхід: в обмін іде 99,7% надісланої суми, решта лишається в пулі та нарощує k.
Далі — розрахунок на живому пулі, а не на навчальних 100 на 100. Пул Uniswap v2 USDC/WETH на Ethereum (0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc) станом на 28 серпня 2026 року тримав 10 131 566,82 USDC і 4 058,12 WETH. Середня ціна пулу — 2 496,60 USDC за WETH, розмір близько $20,26 млн. Резерви прочитано викликом getReserves() через три незалежні публічні RPC, відповіді збіглися байт у байт.Розмір свопу USDC → WETH Отримано WETH Середня ціна Усього гірше за mid З них price impact Втрата в грошах $100 0,039934 2 504,15 0,3010% 0,0010% $0,30 $1 000 0,399302 2 504,37 0,3098% 0,0099% $3,10 $10 000 3,989484 2 506,59 0,3980% 0,0986% $39,80 $100 000 39,544951 2 528,77 1,2715% 0,9774% $1 271,54 $1 000 000 363,564282 2 750,55 9,2320% 8,9835% $92 320,49
Колонка «з них price impact» — не оцінка. Її отримано другим прогоном тієї самої формули з нульовою комісією, тобто це чистий зсув ціни від власного обсягу, з якого віднято комісію.
Читається таблиця так. До $10 тис. майже всю вартість угоди становить комісія пулу: на $100 із загальних 0,3010% на власний зсув ціни припадає 0,0010%, тобто частка комісії у вартості цього свопу — 99,7%. На $100 тис. картина перевертається: 0,9774% із 1,2715% — це вже ваш власний обсяг. На $1 млн комісія стає статистичною похибкою поруч із impact: 8,9835% із 9,2320%, частка комісії падає до 2,7%.
Той самий висновок незалежно отримує рецензована робота на великому масиві свопів: у дрібних угод основну частину витрат становить газ, у великих — price impact і проковзування. Про газ важливо не забути: комісія мережі та комісія пулу — це різні гроші, які платяться різним отримувачам. Комісія пулу сидить усередині курсу обміну, а газ списується понад і йде валідаторам мережі незалежно від того, що ви міняли.
Формула на серветці: price impact дорівнює частці угоди в резерві
Тепер інструмент, який варто запам’ятати. Для пулу з формулою x · y = k частка, яку ви втрачаєте проти середньої ціни пулу лише через власний обсяг, дорівнює:
price impact = Δx / (x + Δx)
Тут x — резерв того токена, яким ви ПЛАТИТЕ, Δx — розмір вашої угоди. Знаменник включає саму угоду — це ключова деталь, про яку нижче.
Це не наближення, а тотожність. Перевірка на живих резервах того самого пулу USDC/WETH (10 131 566,82 USDC) на п’яти розмірах угоди дала розбіжність із точним розрахунком за формулою пулу від −2,7·10⁻¹⁶ до −1,2·10⁻¹⁹ відсоткового пункта — це машинна похибка арифметики, а не помилка формули.
У людському вигляді правило звучить так: угода на 1% резерву коштує приблизно 1% ціни, на 10% резерву — приблизно 9%. Перевірити його можна на чужому прикладі: 1inch на своїй сторінці розбирає гіпотетичний пул із 1 000 ETH і 3 000 000 USDC. Своп 10 ETH — це 1% резерву ETH, і він виконується приблизно на 1% нижче за спот; 10/1010 = 0,990%. Своп 100 ETH дає близько 9,1% нижче за спот; 100/1100 = 9,091%. Формула відтворює числа з незалежного джерела, а отже, її можна перевірити, не вірячи нам на слово.
Типова помилка при рахунку в умі — ділити на резерв БЕЗ своєї угоди. На нашому пулі для свопу в $100 тис. це дає 0,9870% замість правильних 0,9774%. Різниця невелика, але вона зростає разом із розміром: що більша угода відносно пулу, то сильніше знаменник без неї завищує результат.
Крайній випадок, до якого ця формула веде безпосередньо: пул дрібніший за вашу угоду. У розборі 1inch описано своп, де користувач віддає ETH на $164 308 і отримує токен на $68 661 — 41,79% від вкладеного, втрата 58,21%. Формально нічого не зламалося: контракт виконав рівно те, що приписує крива. Просто угода була співмірна з розміром пулу, і за формулою її ціна саме така.
Звідси практичний наслідок. Перш ніж сперечатися про десяті частки відсотка комісії, погляньте на розмір своєї угоди проти резерву пулу. Якщо це частки відсотка резерву, price impact вас майже не стосується. Якщо це одиниці відсотків — він стає головною витратою, і жодним налаштуванням його не прибрати: власний зсув ціни допуском не покривається.
Глибина пулу USDC/WETH: рівень 0,05% у 28 разів більший за 0,01%
В Uniswap v2 рівень комісії був один на всі пули — 0,30%. У v3 їх чотири: 0,01%, 0,05%, 0,30% і 1,00% (рівень в один базисний пункт додано голосуванням 5 березня 2022 року). У v4 фіксованих рівнів немає взагалі: творець пулу ставить будь-яку комісію від 0% до 100% з кроком 0,0001%.
Інтуїція підказує обирати найдешевший рівень. Живі дані підказують протилежне. Адреси пулів нижче отримано не пошуком, а викликом getPool() в офіційної фабрики v3 — це рівно ті пули, які протокол вважає канонічними для пари та рівня. Баланси прочитано через balanceOf() токенів станом на 28 серпня 2026 року.Рівень комісії Адреса пулу USDC у пулі WETH у пулі Розмір пулу 0,01% 0xe0554a476a092703abdb3ef35c80e0d76d32939f2 411 628 558,17 ≈$3,81 млн 0,05% 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f564079 239 188 11 060,08 ≈$106,87 млн 0,30% 0x8ad599c3a0ff1de082011efddc58f1908eb6e6d810 493 311 7 955,17 ≈$30,33 млн 1,00% 0x7bea39867e4169dbe237d55c8242a8f2fcdcc387382 380 177,49 ≈$0,83 млн v2, 0,30% 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc10 131 567 4 058,12 ≈$20,26 млн
Найдешевший рівень виявився найдрібнішим пулом: 0,05% глибший за 0,01% у 28,1 раза (106,87 / 3,81). Цифри звірено ззовні — GeckoTerminal незалежно віддає для пулу 0,05% резерв $106 798 606,82, що збігається із сумою балансів, порахованою за balanceOf.
Ще одна річ, якої поки немає в жодному популярному розборі. З грудня 2025 року, після ухвалення пропозиції UNIfication, частина комісії свопу йде протоколу — приблизно одна шоста ставки. У v2 із тих самих 0,30% тепер 0,25% отримують постачальники ліквідності і 0,05% — протокол; у пулі v3 з комісією 0,05% це 0,0375% і 0,0125%; у пулі 0,01% — 0,0075% і 0,0025%. Для трейдера підсумкова ставка не змінилася. Змінився отримувач грошей. Якщо ви бачили заголовки про «нову комісію Uniswap» — вони про перерозподіл усередині старої ставки, а не про надбавку до вашої угоди.
Рівень 0,01% програє рівню 0,05% з $5 000 і дорожчий по газу
Питання «в якому пулі мені дешевше обміняти» у видачі не поставив ніхто: матеріали про проковзування не згадують рівні комісії, а матеріали про рівні написані для постачальників ліквідності й не рахують жодного свопу. Ми порахували.
Один і той самий своп USDC → WETH прогнано через п’ять пулів на ОДНОМУ зафіксованому блоці 25 851 877 — це принципово: цифри з різних блоків зіставляти не можна, порядок лідерів на дрібних сумах змінюється за хвилини. Котирування брала не наша формула, а офіційний квотер протоколу QuoterV2, тобто джерело незалежне від нашого коду.Розмір свопу Пул 0,01% гірший за найкращий на Найкращий рівень Різниця в грошах $100 найкращий він і є 0,01% — $1 000 найкращий він і є 0,01% — $5 000 0,008% 0,05% — $10 000 0,027% 0,05% $2,74 $100 000 0,372% 0,05% $370,82 $500 000 2,204% 0,05% — $1 000 000 8,575% 0,05% $85 104
Точка перелому лежить між $1 000 і $5 000. До неї виграє ставка комісії, після — глибина пулу, і розрив зростає швидше за розмір угоди: з 0,008% на $5 тис. до 8,575% на $1 млн.
Застереження, без якого таблиця була б неповною: на $100 і $1 000 перевага дешевого рівня вимірюється сотими частками відсотка. Це статистичний шум — у прогоні, зробленому на сім хвилин раніше, порядок лідерів на дрібних сумах був інший. Стійко стверджувати можна лише одне: на сумах від кількох тисяч доларів перемагає глибина, а не ставка комісії.
Окремо про пул із комісією 1,00%. На $1 млн він віддає 131,20 WETH замість 397,53 — мінус 67%, дві третини суми. Реальний маршрутизатор туди угоду не поведе, але ручний вибір пулу в інтерфейсі — поведе.
У «дешевого» рівня є і другий рахунок, про який не пише ніхто. Крок тіків у v3 жорстко прив’язаний до комісії, і це перевірено читанням самих контрактів: 0,01% → крок 1, 0,05% → 10, 0,30% → 60, 1,00% → 200. Один тік дорівнює 0,01% ціни, тому в дешевого рівня цінова сітка найщільніша — і велика угода перетинає її сотнями засічок. Кожен перетин активного тіка збільшує вартість транзакції.Розмір свопу Пул 0,01%: тіків / газу Пул 0,05%: тіків / газу Зайвий газ у 0,01% за 5 / 20 / 50 gwei $100 000 7 / 261 723 2 / 120 098 $1,77 / $7,09 / $17,72 $1 000 000 134 / 3 362 265 10 / 312 504 $38,15 / $152,59 / $381,48
Кількість перетнутих тіків і оцінка газу — це поля відповіді офіційного квотера, а не наша модель. Перерахунок у долари зроблено за курсом ETH $2 501,69 на 28 серпня 2026 року. Даємо саме одиниці газу і кілька цін газу не для краси: у момент заміру мережа коштувала 0,043 gwei, аномально дешево, і одна цифра «в доларах» ввела б в оману. За завантаженої мережі своп на $1 млн у дешевому пулі коштує на $152–381 більше лише через газ — понад програш за курсом.
Curve проти Uniswap 0,01%: на $10 млн 0,03% проти 27%
Форма кривої вирішує більше, ніж ставка комісії, і це найкраще видно на стейблкоїнах. Curve використовує іншу математику — StableSwap, криву, спеціально сплощену навколо паритету: поки ціни двох активів близькі, вона поводиться майже як обмін один до одного, і лише на краях стає схожою на x · y = k.
Порівнюємо два живі пули станом на 28 серпня 2026 року. Curve 3pool (0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7): комісія 0,015%, параметр ампліфікації A = 4000, баланси DAI/USDC/USDT — 58 158 865 / 58 369 902 / 43 992 133, розмір близько $160,52 млн. Пул Uniswap v3 USDC/USDT з комісією 0,01% (0x3416cf6c708da44db2624d63ea0aaef7113527c6): близько $34,55 млн, середня ціна 0,999844 USDT за USDC. Вартість свопу USDC → USDT у Curve обчислював не наш код, а сам контракт — викликом get_dy().Розмір свопу USDC → USDT Curve 3pool (комісія 0,015%) Uniswap v3 (комісія 0,01%) $100 — $10 000 −0,0227% −0,0256% $100 000 −0,0227% −0,0261% $1 000 000 −0,0233% −0,0313% $10 000 000 −0,0294% −26,98% (63 тіки)
Пул Uniswap бере комісію НИЖЧУ, ніж Curve — 0,01% проти 0,015%, — і на угоді в $10 млн віддає мінус 27%. Крива Curve тримає вартість практично плоскою на п’яти порядках розміру угоди, а «найдешевший за комісією» пул Uniswap на цій сумі просто закінчується — 63 перетнуті тіки означають, що угода вигребла ліквідність з усіх активних діапазонів поспіль.
І тонкість, якої немає ніде. У дрібного свопу між стейблами більшу частину вартості дає НЕ комісія і не price impact, а те, що пул сам стоїть не рівно на паритеті. Розкладка сходиться арифметично: у Uniswap 0,0256% = комісія 0,010% плюс 0,0156% відхилення середньої ціни від 1,0000 (вона дорівнює 0,999844). У Curve 0,0227% = комісія 0,015% плюс близько 0,008% відхилення. Тобто на стейблах, міняючи $1 000, ви платите головно за те, що зайшли в пул у невдалій точці кривої, а не за послугу обміну.
Чому стейбл-пули влаштовані саме так, чим небезпечна ампліфікація при відв’язці ціни і як обчислюється дохідність такого пулу — тема окремого уроку. Тут важливий лише наслідок для трейдера: порівнювати пули за числом у полі «комісія» безглуздо, якщо в них різна математика.
Допуск 0,5%: одна чужа угода на $100 000 з’їдає 1,93%
Тепер виміряємо саме проковзування — окремо від ринкової волатильності. Модель проста й перевірювана: прямо перед вами в той самий пул пройшов чужий своп ТОГО САМОГО розміру і в той самий бік. Ціна ETH на біржах при цьому не зрушила ні на цент. Чужа угода зсунула резерви, і ваш вихід обчислюється вже за новими.Ваша угода Вихід без завад Вихід після чужої угоди Потрібен допуск не менше $1 000 0,399304 WETH 0,399226 WETH 0,020% $10 000 3,989511 WETH 3,981663 WETH 0,197% $50 000 19,869422 WETH 19,675513 WETH 0,976% $100 000 39,545224 WETH 38,780825 WETH 1,933%
Це і є числове обґрунтування дефолтного налаштування. Дефолтний допуск в інтерфейсі Uniswap — 0,5%, у застосунку працює автоматичний режим у коридорі 0,1–5% залежно від ціни газу та розміру свопу. На угоді в $10 тис. запас 0,5% проти потрібних 0,197% виглядає комфортно. На $50 тис. потрібно вже 0,976% — майже удвічі більше за дефолт. На $100 тис. потрібно 1,933%, і дефолтне налаштування не витримає ОДНІЄЇ чужої угоди, навіть якщо ринок у цей момент стоїть на місці.
Куди фізично дівається цей відсоток. Допуск перетворюється на конкретне число amountOutMinimum — мінімум на виході, вписаний усередину транзакції. Далі вирішує смартконтракт: якщо пул не може видати стільки, транзакція відкочується. Токени лишаються у вас, обмін не відбувся, газ за спробу сплачено. Помилки, які бачить користувач, названі в документації протоколу прямо: Expired (вичерпано дедлайн транзакції), INSUFFICIENT_OUTPUT_AMOUNT (вихід нижчий за мінімум), Excessive input required. Запит «slippage tolerance exceeded», з яким люди приходять у пошук, описує саме цей стан.
Звідси правильне трактування невдалого свопу: відкат — це не поломка майданчика, а захист, що спрацював. Він коштує вам газу, але рятує від виконання за ціною, якої ви не погоджували. Занадто низький допуск не втрачає гроші на курсі — він витрачає їх на невдалі спроби.
Другий режим свопу варто знати, бо допуск застосовується до іншого числа. «Віддаю рівно X» (exact input) захищається мінімумом на виході amountOutMinimum. «Хочу отримати рівно Y» (exact output) захищається максимумом на вході amountInMaximum — там допуск обмежує, скільки з вас максимум спишуть. Помилка «Excessive input required» стосується другого режиму.
Практичні орієнтири у профільних джерел збігаються, і наш розрахунок підтверджує їх числом: глибокі мажори та стейбли — 0,1–0,5%; середня капіталізація — 0,5–1%; тонкі та нові токени — 1–2%. Вимога 5% і вище — це сигнал зупинитися, а не налаштування: або пул надто дрібний для вашого розміру, або в токена нестандартна механіка.
Високий допуск і ризик сендвіча: 95 000 атак і $60 млн за рік
Зворотний бік компромісу, через який допуск не можна просто «поставити побільше, щоб пройшло». Ваша транзакція разом із налаштуванням лежить у публічному мемпулі до потрапляння в блок, і допуск читається звідти як оголошена ціна: ось на скільки ця людина згодна.
Масштаб за ексклюзивним датасетом EigenPhi за листопад 2024 — жовтень 2025 виглядає так:
- понад 95 000 сендвіч-атак на Ethereum за рік і близько $60 млн втрат трейдерів;
- 60–90 тис. атак на місяць; у жовтні 2025 працювало 515 різних ботів, у типовий місяць активні трохи більше сотні;
- близько 70% усіх атак пов’язані з одним оператором, відомим як Jared;
- середній прибуток з атаки — трохи більше $3. Економіка побудована на кількості, а не на розмірі жертви, тому розрахунок «я надто дрібний, мене не чіпатимуть» не працює.
Тут же — готовий приклад того, навіщо цифри в галузі перевіряти за першоджерелом. Широко розійшлося твердження, що «майже 40% сендвічів припадають на пули стейблкоїнів»; у такому вигляді воно стоїть на сторінці 1inch. У першоджерелі це ДВІ різні цифри: близько 38% атак припало на низьковолатильні пули і близько 12% — на стейбл-свопи. Частку стейблів завищено більш ніж утричі. Ми використовуємо версію першоджерела.
Баланс у цю картину вносить динаміка: видобуток упав майже вчетверо — з приблизно $10 млн на місяць наприкінці 2024 року до приблизно $2,5 млн до жовтня 2025 року, у міру поширення захистів. Ризик при цьому розподілений нерівномірно за активами: академічна робота оцінює ймовірність ворожого проковзування в мемкоїна PEPE приблизно на 80% вищою, ніж у зрілого активу на кшталт USDC.
Механіку самої атаки — як бот ставить свою угоду до і після вашої і чому приватне відправлення транзакції її ламає — ми розбирали в окремому матеріалі про сендвіч-атаки та MEV. Для цього уроку досить одного правила: допуск — це межа втрат, яку ви оголошуєте публічно, а не важіль «проштовхнути угоду за будь-яку ціну».
Концентрована ліквідність: глибина обривається за діапазоном
У v2 ліквідність розмазана по всій ціновій прямій — від нуля до нескінченності. Працює при цьому мізерна її частина: документація Uniswap наводить замір, за яким пара DAI/USDC у v2 використовує близько 0,50% капіталу для торгівлі в діапазоні $0,99–1,01, де йде основний обсяг. Решта капіталу лежить на цінах, до яких ринок не доходить.
У v3 постачальник задає діапазон, усередині якого працюють його гроші. Позиція у вузькому коридорі поводиться як звичайний пул x · y = k, але з більшими віртуальними резервами: біля ринкової ціни глибина вища, і price impact вашої угоди відповідно нижчий. Саме тому пул 0,05% із нашої таблиці обіграє пул 0,01%, хоча бере вищу комісію — 0,05% проти 0,01%: поряд із ціною там просто більше активної ліквідності.
У цієї конструкції є обрив. Коли ціна виходить за межу позиції, ліквідність цієї позиції перестає бути активною. Поки поряд є інші діапазони, угода йде далі; коли їх не лишається, глибина закінчується різко. Це буквально видно в наших цифрах: пул Uniswap USDC/USDT 0,01% на угоді в $1 млн бере 0,0313% і перетинає один тік, а на $10 млн — уже 26,98% і 63 тіки. Між цими двома рядками ліквідність не «подорожчала», вона скінчилася.
Практичний висновок для трейдера один: глибина пулу — це не одне число на вітрині, а профіль навколо поточної ціни. Велика угода з’їдає його шарами, і вартість зростає не лінійно. Як обирати діапазон, коли його ребалансувати і скільки на цьому заробляє постачальник ліквідності — предмет окремих уроків курсу; тут нам важливо лише те, як це змінює ціну конкретного свопу.
Що перевірити перед підписом свопу: minimum received і розмір
Короткий порядок дій, кожен пункт із числом або перевірюваним критерієм.
- Прочитайте minimum received. Це єдине число, яке контракт зобов’язаний виконати. Усе інше на екрані — оцінка. Якщо мінімум вас не влаштовує, жодні відсотки в налаштуваннях становища не змінять.
- Прикиньте розмір угоди проти резерву пулу. Δx / (x + Δx) можна оцінити в умі: 1% резерву — близько 1% ціни, 10% — близько 9%. Резерв видно на сторінці пулу. Якщо вийшло більше за відсоток, далі розмова йде не про налаштування, а про розмір.
- Дивіться на глибину пулу, а не на ставку комісії. Пул 0,01% із нашої таблиці тримав $3,81 млн проти $106,87 млн у пулу 0,05%, і на угоді від кількох тисяч доларів програвав саме тому.
- Допуск добирайте за типом пари, а не «побільше, щоб пройшло»: 0,1–0,5% для глибоких мажорів і стейблів, 0,5–1% для середньої капіталізації, 1–2% для тонких пар. Потреба у 5% і вище — привід зупинитися і подивитися на розмір угоди.
- Перевірте режим свопу. «Віддаю рівно X» і «отримую рівно Y» захищаються різними числами — мінімумом на виході та максимумом на вході, і допуск у них означає різне.
- Тримайте в голові газ і дедлайн. Комісія мережі платиться і за відкат теж, а вичерпаний дедлайн — це помилка Expired, а не втрачені гроші.
Про розбиття великої угоди. З формули Δx / (x + Δx) видно головне: вартість зростає швидше за розмір. Своп на $100 тис. у нашому пулі коштує 1,2715%, а вдесятеро більший — уже 9,2320%, тобто $92 320. Тому довідка 1inch формулює правило прямо: якщо угода не проходить за нормальною ціною, її треба зменшити або розбити, а не піднімати допуск. Плата за розбиття — другий газ (за 5–50 gwei це десятки й сотні доларів на нашій парі) і час між частинами, за який ціна може піти сама.
Що тут застаріє першим: резерви пулів. Вони змінюються кожним блоком, тому всі суми й відсотки вище — знімок на 28 серпня 2026 року, блок 25 851 877. Формули та співвідношення «глибина важливіша за ставку комісії» стійкі, а конкретні $3,81 млн і $106,87 млн дивіться на сторінці пулу на дату вашої угоди.
Часті запитання
Чому я отримав менше токенів, ніж показало котирування перед свопом? Різниця складається з трьох частин: комісія пулу, ваш власний price impact і проковзування за час очікування блока. Перші дві відомі до підпису й закладені в котирування, третя з’являється, поки транзакція чекає. У живому пулі USDC/WETH своп на $10 тис. віддає 0,3980% проти середньої ціни пулу, з яких 0,0986% — власний зсув ціни.
Що таке slippage tolerance простими словами і чим проковзування відрізняється від price impact? Slippage tolerance — це межа, у якій ви згодні на гіршу ціну, поки транзакція чекає на блок; на Ethereum це вікно близько 12 секунд. Price impact — зсув ціни, який ви створили власним обсягом, він порахований заздалегідь і видно його до підпису. Перше приносять чужі угоди, друге ви приносите собі самі.
Який допуск проковзування ставити на Uniswap і від чого він залежить? Дефолт інтерфейсу — 0,5%, автоматичний режим працює в коридорі 0,1–5%. Орієнтири за типом пари: 0,1–0,5% для глибоких мажорів і стейблів, 0,5–1% для середньої капіталізації, 1–2% для тонких пар. Залежить налаштування від глибини пулу та розміру угоди: одна чужа угода на $100 тис. вимагає вже 1,933%.
Чому транзакція відкотилася і куди подівся сплачений газ? Спрацював захист: допуск перетворюється на число minimum received усередині транзакції, і якщо пул не може видати стільки, контракт відкочує обмін. Токени лишаються у вас, комісія мережі за спробу сплачена — газ платиться за обчислення, а вони були виконані. Типові коди: Expired та INSUFFICIENT_OUTPUT_AMOUNT.
Своп у пулі з комісією 0,01% завжди дешевший, ніж у пулі 0,30%? Ні. У пари USDC/WETH пул 0,01% тримав $3,81 млн, а пул 0,05% — $106,87 млн, і на сумах від кількох тисяч доларів виграє глибина. На $100 тис. дешевий пул віддає на $370,82 менше, на $1 млн — на $85 104. Плюс він перетинає більше тіків і потребує більше газу.
Як прикинути проковзування до відправлення свопу, не відкриваючи калькулятор? Візьміть відношення розміру угоди до резерву токена, яким платите, з урахуванням самої угоди: Δx / (x + Δx). Один відсоток резерву — близько одного відсотка ціни, десять відсотків — близько дев’яти. Це тотожність для формули x · y = k, перевірена на живих резервах. Проковзування понад це приносять чужі угоди, і його закриває допуск.



