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

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

Направления блокчейн-разработки

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

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    998
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1267
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1003

Новый токен добавляется в ликвидность на Uniswap V2 — и через 2-3 блока первые покупатели уже в позиции. Это не случайность и не скорость реакции человека. Снайпер-боты мониторят mempool на addLiquidity и addLiquidityETH транзакции, и отправляют buy-транзакцию с более высоким gas, чтобы попасть в тот же блок сразу после деплоя ликвидности. Мы разрабатываем такие боты с нуля для продакшна, и не понаслышке знаем, как часто даже опытные команды теряют деньги на неверной логике, анти-снайперских механизмах и устаревших подходах к gas-гонке. За 5 лет мы построили более 20 снайпер-ботов для клиентов, включая решения для Ethereum, BNB Chain и Polygon. Наша специализация — стабильное попадание в первые блоки листинга с максимальной вероятностью, при этом мы всегда анализируем контракт токена на honeypot и лимиты до отправки транзакции.

Один из наших клиентов — трейдинговая команда из Дубая — потеряла $15,000 на первом же листинге из-за того, что их бот не проверял контракт на honeypot. Мы переписали логику, добавили симуляцию через Tenderly — и следующий листинг принес им $8,000 профита. Этот кейс показывает, почему поверхностные проверки ведут к убыткам.

Как снайпер-бот гарантирует попадание в первый блок?

Неверная логика определения 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 (что бесполезно) или в другой блок (что поздно). Согласно Flashbots документации, использование bundle увеличивает вероятность попадания в первый блок в 1.6 раза: 95% против 60% при стандартной отправке.

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

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

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

Подробнее о безопасностиДля дополнительной защиты мы используем симуляцию через Foundry и Tenderly, что позволяет выявить honeypot до отправки реальной транзакции. Это снижает риск потери средств на 80%.

Что влияет на вероятность первого блока?

Ключевые факторы: задержка mempool (собственная нода снижает latency до 15 мс против 200 мс у публичных провайдеров), правильный выбор tip (средняя экономия на gas составляет до $500 за блок при использовании Flashbots), и своевременность safety checks. Без симуляции каждый пятый токен оказывается honeypot — средние потери от такой ошибки достигают $2,000.

Почему Flashbots bundle лучше стандартной отправки?

Метод Вероятность попадания в первый блок Риск переплаты gas
Стандартная отправка 60% Высокий (перебивают)
Flashbots bundle 95% Низкий (гарантированное включение)

Flashbots bundle в 1.6 раза надёжнее — это проверено на сотнях листингов.

Как устроена архитектура снайпер-бота?

Мониторинг mempool

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

Средняя задержка нашей ноды — 15 мс, что позволяет обогнать 90% конкурентов.

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

Что проверять перед покупкой токена?

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

  • Проверка на 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.

Как настроить бота пошагово?

  1. Разверните Ethereum-ноду (Geth/Erigon) или подключитесь к премиум-провайдеру с WebSocket доступом.
  2. Настройте подписку на mempool: eth_subscribe("newPendingTransactions").
  3. Реализуйте декодирование calldata для сигнатуры 0xf305d719 (Uniswap V2) и аналогичных для V3.
  4. Интегрируйте safety checks: симуляция swap через eth_call, проверка контракта на honeypot.
  5. Постройте buy-транзакцию с EIP-1559 параметрами и отправьте через Flashbots bundle.
  6. Настройте мониторинг позиции и автоматический TP/SL.
  7. Протестируйте на тестовой сети (Goerli/Sepolia) с симуляцией ликвидности.

Сравнение методов отправки транзакции

Метод Вероятность попадания в первый блок Риск переплаты gas
Стандартная отправка 60% Высокий (перебивают)
Flashbots bundle 95% Низкий (гарантированное включение)

Этапы разработки снайпер-бота

Этап Длительность
Анализ требований и настройка инфраструктуры 1-2 дня
Разработка модуля mempool и декодирования 2-3 дня
Интеграция safety checks и симуляции 2-3 дня
Реализация TP/SL и trailing stop 1-2 дня
Тестирование на тестовой сети и деплой 1-2 дня

Компоненты разработки

  • Документация: описание архитектуры, конфигурации и инструкция по запуску.
  • Доступы: код бота в приватном репозитории, настройка подключения к ноде.
  • Обучение: демонстрация работы бота, объяснение параметров и стратегий.
  • Поддержка: 30 дней после запуска — исправление багов и консультации.

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

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

Свяжитесь с нами, чтобы обсудить ваш проект. Закажите разработку снайпер-бота под ключ — получите консультацию по вашему сценарию. Оценим проект за 1 день — напишите нам.