Когда я первый раз попытался обменять $500 USDC на ETH через Uniswap, транзакция съела 4% суммы. Не комиссия блокчейна — чистое проскальзывание (slippage), которое я не удосужился проверить. $20 потерял за 10 секунд невнимательности.
С тех пор я провёл через DEX больше тысячи обменов — на Uniswap, Curve, PancakeSwap, Balancer, SushiSwap. И вижу, как люди повторяют одни и те же ошибки: игнорируют настройки slippage, дают бесконечный approval непроверенным контрактам, меняют крупные суммы в мелких пулах. Каждая ошибка стоит денег.
В этом материале — 7 критических граблей при работе с децентрализованными биржами, на которые я наступал сам или видел у клиентов. Плюс конкретные инструкции, как их избежать. Если ты только начинаешь работать с DeFi — сохрани эту статью, она окупится уже на первой крупной сделке.
Ошибка #1: игнорировать настройки slippage (проскальзывания)
Slippage — это разница между ценой, которую ты видишь в интерфейсе биржи, и ценой, по которой реально проходит сделка. Почему она возникает? Потому что обмены на DEX происходят через пулы ликвидности (liquidity pools) — по сути, корзины с двумя токенами. Когда ты меняешь один токен на другой, соотношение токенов в корзине меняется, и цена смещается.
Чем больше твоя сделка относительно размера пула, тем сильнее проскальзывание.
Реальный кейс: как $10 000 превратились в $9 400
Клиент хотел обменять 10 000 USDC на BNB через PancakeSwap. Настройки slippage стояли на автомате — 0.5%. Сделка прошла, но он получил не $10 000 эквивалента в BNB, а $9 400. Проскальзывание съело 6% — потому что пул USDC/BNB был относительно небольшой, а сумма обмена крупная.
Что делать:
1. Всегда вручную ставь slippage перед обменом
Для стейблкоинов (USDT, USDC, BUSD, DAI): 0.05—0.1%
Для обычных токенов (ETH, BNB, MATIC): 0.1—0.5%
Для низколиквидных токенов: начинай с 0.5%, увеличивай только если транзакция не проходит
На Uniswap это шестерёнка справа вверху → Custom slippage tolerance.
На Curve — шестерёнка → Max slippage.
На PancakeSwap — шестерёнка → Slippage tolerance.
2. Проверяй Price Impact перед крупными обменами
Многие DEX показывают Price Impact прямо в интерфейсе обмена — это процент, на который твоя сделка двигает цену в пуле.
Если видишь Price Impact > 1% — это сигнал: либо уменьшай сумму обмена, либо раздели сделку на несколько частей с интервалом 10—15 минут.
Пример из моей практики: менял 350 000 USDC на USDT через Curve. При попытке обменять всю сумму сразу Price Impact показывал 0.15% — это $525 потерь. Разделил на три транзакции по 120 000 — проскальзывание на каждой было ≤0.05%, итоговые потери ~$180 вместо $525.
3. Используй агрегаторы для крупных обменов
Если сумма обмена $10 000+, используй агрегаторы вроде 1inch или Matcha. Они автоматически разбивают сделку на несколько DEX и находят маршрут с минимальным проскальзыванием.
Таблица: сравнение slippage на разных DEX для обмена 100 000 USDC → USDT (на момент написания статьи):
| DEX | Slippage | Price Impact | Итоговые потери |
|---|---|---|---|
| Uniswap V3 (Arbitrum) | 0.05% | 0.08% | ~$80 |
| Curve (Ethereum) | 0.01% | 0.02% | ~$20 |
| PancakeSwap (BSC) | 0.12% | 0.15% | ~$150 |
| Balancer (Arbitrum) | 0.06% | 0.09% | ~$90 |
Curve выигрывает для обменов стейблкоинов — потому что изначально создавалась для пар с привязанными активами (USDT/USDC, ETH/stETH).
Ошибка #2: давать бесконечный approval непроверенным контрактам
Когда ты первый раз меняешь токен на DEX, биржа просит approval (разрешение) — право списывать этот токен с твоего кошелька. По умолчанию многие DEX просят бесконечный approval: смарт-контракт может списать хоть весь баланс токена.
Для топовых DEX (Uniswap, Curve, PancakeSwap, SushiSwap) это не проблема — они проверены годами и аудитами. Но если ты взаимодействуешь с новым или малоизвестным протоколом — бесконечный approval открывает дверь для кражи средств.
Реальный кейс: как потерял $1 200 из-за approval
Не я, но знакомый трейдер. Попробовал новый DEX на Base (L2-сеть от Coinbase), дал бесконечный approval для USDC. Через две недели контракт биржи был взломан, хакер откачал все токены, на которые у контракта были approval — включая его $1 200 USDC.
Биржу закрыли, деньги никто не вернул.
Что делать:
1. Для топовых DEX давай бесконечный approval
Uniswap, Curve, Balancer, PancakeSwap, SushiSwap — проверенные протоколы с многомиллионным TVL. За 5+ лет работы не было серьёзных эксплойтов. Для них можно смело выбирать "Approve unlimited" или "Max" — это удобнее, не придётся каждый раз тратить газ на новый approval.
2. Для новых/малоизвестных DEX указывай точную сумму
Если TVL протокола < $10 млн, или он появился меньше года назад — вручную указывай approval только на сумму текущего обмена.
На Uniswap: при запросе approval выбираешь Custom → вводишь сумму обмена.
На SushiSwap: галочка "Approve exact amount" вместо "Approve unlimited".
3. Периодически отзывай старые approval
Используй Revoke.cash — подключаешь кошелёк, видишь все активные approval, можешь отозвать ненужные.
Я делаю это раз в квартал: если за 3 месяца ни разу не пользовался протоколом — убираю approval. Потрачу $0.5 газа на отзыв сейчас, сэкономлю потенциальные тысячи при взломе.
Ошибка #3: не проверять маршрут обмена (swap route)
Когда ты меняешь, например, USDC на MATIC, DEX не всегда меняет напрямую USDC → MATIC. Часто сделка проходит через промежуточный токен: USDC → WETH → MATIC. Это называется маршрут обмена (swap route).
Почему это важно? Потому что каждый «прыжок» в маршруте — это комиссия протокола (обычно 0.3%) + дополнительное проскальзывание.
Как проверить маршрут
На Uniswap: нажми на стрелку справа от кнопки Swap → увидишь Route.
На Balancer: маршрут показывается автоматически под суммой обмена.
На 1inch: разверни детали сделки — там будет полный путь с процентами через каждый пул.
Пример из практики: менял 5 ETH на USDC через Uniswap V3 на Arbitrum. Первый вариант маршрута: ETH → USDC напрямую, комиссия 0.05%, slippage 0.08%.
Второй вариант (если выбрать другой пул): ETH → WBTC → USDC, суммарная комиссия 0.6%, slippage 0.15%.
Разница на сделке в $10 000: ~$50 против ~$175. Один клик — $125 экономии.
Что делать:
Перед крупным обменом ($1 000+) всегда открывай детали маршрута. Если видишь больше двух прыжков — попробуй агрегатор (1inch, Matcha), они автоматически найдут оптимальный путь.
Ошибка #4: менять крупные суммы в мелких пулах
Размер пула ликвидности (liquidity pool) напрямую влияет на slippage. Если пул USDC/ETH на Uniswap содержит $50 млн ликвидности, обмен на $10 000 пройдёт с минимальным проскальзыванием. Но если пул содержит $500 000, та же сделка съест 2—3% суммы.
Как проверить размер пула
На Uniswap: перейди на вкладку Pool → найди пару токенов → увидишь TVL (Total Value Locked).
На Curve: открой конкретный пул (например, 3pool для USDT/USDC/DAI) → в шапке показан размер.
На DefiLlama: во вкладке DEXs → выбери конкретный DEX → увидишь разбивку ликвидности по парам.
Практическое правило:
- Обмен до $1 000: любой пул с TVL > $100 000 подойдёт
- Обмен $1 000—$10 000: ищи пулы с TVL > $5 млн
- Обмен $10 000—$100 000: только пулы с TVL > $50 млн
- Обмен $100 000+: используй агрегаторы, они распределят сделку по нескольким пулам
Реальный кейс: клиент хотел обменять 50 000 USDT на малоизвестный токен проекта. Пул USDT/TOKEN на PancakeSwap содержал всего $200 000 ликвидности. Price Impact показывал 18% — это значит, он получил бы токенов на $41 000 вместо $50 000.
Решение: разбил сделку на 10 частей по $5 000 с интервалом 30 минут + использовал лимитные ордера через KyberSwap (они поддерживают limit orders на некоторых сетях). Итоговые потери — ~3% вместо 18%.
Ошибка #5: путать сети блокчейна
Одна из самых болезненных ошибок новичков: отправить токены в неправильную сеть.
Пример: у тебя USDC на Arbitrum, но ты подключаешь кошелёк к Uniswap на Ethereum mainnet и пытаешься обменять. Результат: баланс показывает $0, транзакция не проходит.
Хуже: если отправить USDC из Arbitrum на адрес Ethereum через обычный transfer (не через bridge) — токены потеряются навсегда.
Как избежать:
1. Всегда проверяй соответствие сети в кошельке и на DEX
Перед каждым обменом:
- Открой MetaMask → посмотри, какая сеть активна (вверху кошелька)
- На сайте DEX проверь, какая сеть выбрана (обычно справа вверху или в футере)
- Если не совпадают — переключи сеть в MetaMask или на DEX
2. Используй мультисетевые интерфейсы
Некоторые DEX автоматически предлагают переключить сеть при подключении кошелька:
- SushiSwap поддерживает 20+ сетей с единым интерфейсом
- 1inch работает на Ethereum, Arbitrum, Optimism, Polygon, BSC, Base
- Curve поддерживает Ethereum, Arbitrum, Polygon, Optimism, Gnosis Chain
3. Для перевода между сетями используй bridge, не DEX
Если нужно перевести USDC из Arbitrum в Polygon:
- НЕ делай это через обычный DEX
- Используй официальный Arbitrum Bridge или агрегатор мостов типа Bungee
Некоторые DEX поддерживают кросс-чейн обмены (например, SushiSwap через функцию Cross-Chain Swap) — там алгоритм сам использует bridge под капотом. Но всегда проверяй комиссии: иногда прямой bridge + обмен на целевой сети дешевле, чем кросс-чейн своп.
Ошибка #6: игнорировать transaction deadline
Transaction deadline (дедлайн транзакции) — это время, через которое транзакция автоматически отменяется, если не прошла в блокчейн.
Зачем это нужно? Представь: ты ставишь обмен ETH → USDC по цене $2000 за ETH. Транзакция зависла в мемпуле (очередь неподтверждённых транзакций) на 30 минут. За это время цена ETH упала до $1950. Транзакция подтверждается — но ты получаешь USDC по старой цене $2000, теряя 2.5%.
С правильно установленным deadline транзакция отменилась бы через 10 минут, ты бы просто отправил новую по актуальной цене.
Где настроить:
На Uniswap: шестерёнка → Transaction deadline (по умолчанию 30 минут).
На PancakeSwap: шестерёнка → Transaction deadline (по умолчанию 20 минут).
На Curve: обычно фиксированный дедлайн 20 минут, не настраивается.
Мои рекомендации:
- Для стейблкоинов: 10 минут достаточно
- Для волатильных токенов (ETH, BTC, альткоины): 5 минут
- Если сеть перегружена (высокий газ): увеличь до 15—20 минут
Если транзакция не прошла за дедлайн — она автоматически откатится, газ потратишь только на попытку (обычно меньше, чем за успешную транзакцию).
Ошибка #7: не учитывать комиссии протокола
Почти все DEX берут комиссию с каждого обмена — обычно 0.05—0.3% от суммы сделки. Эта комиссия идёт поставщикам ликвидности (LP — liquidity providers), которые заблокировали токены в пулах.
Но размер комиссии отличается:
| DEX | Комиссия | Особенности |
|---|---|---|
| Uniswap V3 | 0.01% / 0.05% / 0.3% / 1% | Зависит от пула, большинство — 0.05% или 0.3% |
| Curve | 0.04% | Фиксированная на большинстве пулов |
| PancakeSwap | 0.25% | Фиксированная |
| Balancer | 0.01—1% | Устанавливает создатель пула |
| SushiSwap | 0.3% | Фиксированная |
На мелких обменах ($100—$500) разница несущественна: 0.05% vs 0.3% — это $0.25 против $1.5.
Но на крупных сделках ($50 000+) это уже ощутимо:
- 0.05% от $50 000 = $25
- 0.3% от $50 000 = $150
Что делать:
Для обменов стейблкоинов используй Curve (0.04%) или Uniswap V3 с пулом 0.01%.
Для обменов других токенов: сравни комиссии через агрегатор 1inch — он покажет итоговую сумму с учётом всех комиссий.
Пример: менял 100 000 USDC на USDT.
Через Uniswap V3 (пул 0.01%): комиссия $10 + газ $5 = $15.
Через PancakeSwap (0.25%): комиссия $250 + газ $0.5 = $250.5.
Разница $235 — просто за выбор другого DEX. На Ethereum газ дороже, но комиссия протокола Uniswap ниже — итого выгоднее для крупных сумм.
Бонус: чек-лист перед обменом на DEX
Сохрани этот чек-лист — проверяй перед каждой крупной сделкой ($1 000+):
Перед обменом:
- ✅ Сеть в кошельке совпадает с сетью на DEX?
- ✅ Slippage установлен вручную (0.05—0.5%)?
- ✅ Transaction deadline 5—10 минут?
- ✅ Проверил Price Impact (должен быть < 1%)?
- ✅ Посмотрел маршрут обмена (меньше прыжков = меньше комиссий)?
- ✅ Размер пула ликвидности достаточный для твоей суммы?
- ✅ Комиссия протокола (0.01—0.3%) приемлема?
- ✅ Approval токена — точная сумма или только для проверенных DEX?
После обмена:
- ✅ Транзакция подтвердилась в блокчейне (посмотри в Arbiscan/BscScan/Etherscan)?
- ✅ Баланс токена обновился в кошельке?
Если хоть один пункт вызывает сомнения — не отправляй транзакцию. Лучше перепроверить дважды, чем потерять деньги.
Как я использую DEX в связке с автоматизацией
Последние полгода я автоматизировал часть работы с DEX через скрипты на Python + Web3.py. Настроил мониторинг больших проскальзываний: если Price Impact на моей обычной сделке вдруг превышает 0.5% — скрипт шлёт уведомление в Telegram, и я не лезу в обмен вслепую.
Также использую автоматические лимитные ордера через KyberSwap API для DCA-стратегий (Dollar Cost Averaging): скрипт каждую неделю меняет $500 USDC на ETH, если цена ниже скользящей средней за 30 дней. Экономит время + исключает эмоциональную торговлю.
Если интересна тема автоматизации DeFi — у меня есть подробный разбор в статье Как автоматизировать DeFi-стратегии через Python. Там полный гайд по настройке Web3.py, примеры кода для чтения балансов, отправки транзакций, работы с DEX API.
FAQ
Q1: Какой DEX самый дешёвый по комиссиям?
Curve — 0.04% на большинстве пулов, это минимум среди крупных DEX. Но Curve оптимизирован для обменов привязанных активов (стейблкоины, обёрнутые версии токенов типа ETH/wstETH). Для обычных пар (ETH/USDC) выгоднее Uniswap V3 с пулом 0.05%.
Q2: Что делать, если транзакция зависла?
Если транзакция в статусе Pending > 10 минут: открой MetaMask → кликни на транзакцию → Speed Up (ускорить) или Cancel. Speed Up отправит ту же транзакцию с повышенным газом, Cancel — отменит. Учти: за Cancel тоже платишь газ.
Q3: Можно ли вернуть деньги после неудачного обмена на DEX?
Нет. Если транзакция подтвердилась в блокчейне — откатить её невозможно. DEX работают через смарт-контракты, там нет службы поддержки, которая вернёт средства. Поэтому критически важно всё проверять перед отправкой.
Q4: Зачем использовать несколько DEX, если можно всё делать на Uniswap?
Разные DEX оптимизированы под разные задачи. Curve — для стейблкоинов (минимальное проскальзывание). Balancer — для обменов с несколькими токенами в одной транзакции. SushiSwap — для кросс-чейн обменов. 1inch — агрегатор, сравнивает цены на всех DEX и находит лучшую.
Q5: Насколько безопасно держать большие суммы в пулах ликвидности DEX?
Риски: импermanent loss (непостоянные потери при изменении цены), взлом смарт-контракта, rug pull (если создатель пула — мошенник). Для топовых DEX (Uniswap, Curve, Balancer) риск взлома минимален — проходят множественные аудиты. Но impermanent loss неизбежен при волатильности — это отдельная тема, разберу в следующей статье про стратегии поставки ликвидности.
Что дальше
Если разобрался с основами работы на DEX — следующий шаг: научиться зарабатывать на этом. Поставка ликвидности (LP farming), арбитраж между DEX, автоматизация через боты. В Telegram-канале @serg_defi регулярно публикую разборы новых стратегий + актуальные APY на разных пулах. Заходи, если хочешь выжимать из DeFi больше, чем просто обмены токенов.