Разработка снайпер-бота для DEX

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка снайпер-бота для DEX
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1056
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

Разработка снайпер-бота для DEX

Новый токен добавляется в ликвидность на Uniswap V2 — и через 2-3 блока первые покупатели уже в позиции. Это не случайность и не скорость реакции человека. Снайпер-боты мониторят mempool на addLiquidity и addLiquidityETH транзакции, и отправляют buy-транзакцию с более высоким gas, чтобы попасть в тот же блок сразу после деплоя ликвидности.

Где ломаются типичные реализации

Неверная логика определения liquidity add

Простой вариант — слушать событие Mint(address sender, uint amount0, uint amount1) на пуле Uniswap V2. Проблема: событие эмитируется после исполнения, не до. К моменту, когда бот увидел событие, блок уже закрыт. Нужно работать с pending transactions в mempool.

Правильный подход: eth_subscribe("newPendingTransactions") через WebSocket к Ethereum-ноде + декодирование calldata транзакций. Сигнатура addLiquidityETH(address token, ...)0xf305d719. Если calldata начинается с этого selector — это liquidity add, и бот должен отреагировать до включения в блок.

Но большинство ботов делают ошибку: парсят только прямые вызовы Router. Токены могут добавлять ликвидность через кастомный контракт-лаунчер, который вызывает Router внутри. Для этого нужен trace API (debug_traceTransaction или Tenderly) или мониторинг factory события PairCreated как альтернативный сигнал.

Gas войны и приоритет

Просто поставить высокий gasPrice недостаточно — это гонка, которую выигрывает кто угодно. Правильная схема: EIP-1559 транзакции с maxPriorityFeePerGas (tip), достаточным чтобы попасть выше целевой транзакции в блоке, но не переплачивать лишнее.

Для advanced сценариев — прямая отправка в Flashbots bundle: eth_sendBundle позволяет включить свою транзакцию в тот же блок что и target, гарантированно после неё, без риска попасть перед liquidity add (что бесполезно) или в другой блок (что поздно).

Anti-bot механизмы

Большинство токенов 2023-2024 годов имеют anti-sniper защиту: первые N блоков после листинга транзакции от адресов, купивших в первый блок, облагаются налогом 99% или блокируются. Сниматься это начинает через _maxWalletAmount лимиты и временные ограничения.

Обходы: покупка через несколько адресов с малыми суммами, задержка покупки на 1-3 блока, анализ контракта токена перед покупкой на наличие anti-bot кода (паттерны: _isSniper, _blacklist, antiBotEnabled).

Архитектура бота

Мониторинг mempool

WebSocket соединение к собственной Ethereum-ноде (Geth/Erigon) или к провайдеру с mempool доступом (Alchemy, Infura Premium, QuickNode). Публичные ноды имеют rate limits и latency 50-200ms. Собственная нода на том же датацентре что и крупные майнеры/валидаторы — latency 5-20ms.

Mempool subscription → calldata decode → token contract fetch →
safety checks → buy tx construction → gas estimation → send

Safety checks перед покупкой

Автоматический анализ контракта токена до покупки:

  • Проверка на honeypot: симуляция sell через eth_call после покупки. Если продажа реверсируется — ловушка
  • Проверка owner функций: mint() без ограничений, setFee(uint256) до 100%, renounceOwnership() не вызван
  • Проверка ликвидности: достаточно ли ETH в пуле для нашей покупки без >X% slippage
  • Верификация токена на известных скам-базах (Token Sniffer API, GoPlus Security API)

Симуляция через Foundry forge script --fork-url или через Tenderly Simulation API — позволяет увидеть точный результат транзакции до отправки.

Управление позицией

Take-profit и stop-loss через мониторинг Swap событий пула: если цена упала на X% от цены покупки — автоматическая продажа. Trailing stop: обновляет ориентир при росте цены.

Проблема при продаже: если токен имеет sell tax — нужно учитывать его в расчёте минимального amountOutMin для Uniswap Router. Иначе транзакция реверсируется из-за slippage protection.

Стек

Node.js / TypeScript с ethers.js v6 или viem для взаимодействия с сетью. Собственный Ethereum-нода (Geth или Erigon) для mempool. Redis для кэша проверенных контрактов. Flashbots SDK для приватных бандлов.

Для Uniswap V3 мониторинга — Uniswap SDK v3 для расчёта маршрутов и quoter calls.

Ориентиры по срокам

Базовый снайпер с mempool мониторингом и простыми safety checks — 3-5 дней. Версия с Flashbots интеграцией, anti-bot обходами и trailing stop — 1-2 недели.

Стоимость рассчитывается индивидуально.