TGViewer
PastFin | пишу код PastFin | пишу код @pastfincoding · 3.32K subscribers
Post #25 4.95K
Потерял $40,000 на Uniswap Unichain 😑😑

Хочу поделиться своей ошибкой, которая стоила мне нервов и денег. Возможно, это убережет кого-то от похожих последствий.

В апреле Uniswap запустили программу вознаграждений для провайдеров ликвидности на Unichain. У меня уже была код база и я решил плотно участвовать, тогда была низкая конкуренция.

Одним из важных этапов работы софта были свапы между токенами. Вместо построения собственного маршрутизатора я решил использовать внутренний endpoint, который применяется на сайте Uniswap для генерации транзакций. Что я сделал:
🌸Провел реверс-инжиниринг интерфейса Uniswap
🌸Нашел внутренний API, который по входным данным возвращал готовую calldata для свапа
🌸Интегрировал его в свой софт

Код стабильно работал около 7 дней, но одним утром мой кошелек задрейнело на свапах под ноль. Что пошло не так:
🌸API начал возвращать маршруты через пулы, в которых практически не было ликвидности
🌸Например, нужно было свапнуть 20к$ в ETH, а маршрут вел через пул с ликвидностью 5к$
🌸В результате огромное проскальзывание и фактическая потеря средств

Я до конца не понял, почему это произошло и почему API с сайта Uniswap внезапно начал возвращать такие маршруты. Неясно, было ли это случайностью, багом или целенаправленным вмешательством. Я рассмотрел около 100 соседних блоков и не было видно, чтобы в тот пул с низкой ликвидностью кто-то добавлял средства, что могло бы объяснить выбор маршрута. Вот код, который я использовал на тот момент: ТЫК

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

В тот день после потери средств я полностью переписал логику свапов в своем софте и продолжил работать с Uniswap еще 15 дней. Теперь хочу поделиться конкретными рекомендациями для кодеров.

1️⃣Никогда не стройте бизнес-логику на внутренних API, полученных через реверс-инжиниринг интерфейсов. Через реверс-инжиниринг можно извлекать ABI.

2️⃣Что важно учитывать при построении свапов:
🌸Свапайте только через конкретные надежные пулы с подтвержденной ликвидностью
🌸Перед свапом обязательно сравнивайте спред с централизованными биржами. Если спред не в вашу сторону, то ждать пока его закроет арбитраж бот.
🌸Не делайте крупный свап одной транзакцией. Разбивайте сумму на более мелкие части. Например, чтобы свапнуть 20к$ в ETH производить свапы по 3к$.
🌸Если используете ABI напрямую, всегда указывайте minAmountOut. Никогда не оставляйте это поле пустым. При использовании SDK или API агрегаторов обязательно задавайте slippageTolerance
🌸После каждого свапа проверяйте изменение баланса и сравнивайте его с ожидаемым результатом. Если расчетная и фактическая суммы не сходятся, то стопайте код

Сделай репост и поделись с другом софтером, ты обязательно сохранишь чей-то банк 🌟

Ну а я дальше пойду получать уроки 🦍
  • 🔥 54
  • 😢 17
  • ❤ 4
  • 😱 4
  • 👍 3
  • ✍ 1
  • 🙏 1
More from @pastfincoding
  1. Mar 20, 2026😋 Mu Digital или куда можно пристроить ликву Mu Digital это RWA-проект, который дает дост…
  2. Jan 25, 2026Моя любовь к Digital Ocean Моя история в сфере разработки началась на втором курсе, пример…
  3. Jan 21, 2026Bitway проводит токенсейл на Kaito, старт сегодня в 12:00 UTC Bitway это Bitcoin ориентиро…
  4. Jan 12, 2026Как я выносил Merkl 🚘 Меркл это компания-дистрибутор ревардов. Посредник между проектом и…
  5. Dec 29, 2025🥳 V2.0 Funding Rate Bot x Hellzy На протяжении года вы просили добавить в бота много апде…
  6. Dec 9, 2025🎰 Предикшн маркет Space Запускается новый крипто-проект со ставками. Основная задумка - т…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →