Новый токен добавляется в ликвидность на 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.
Как настроить бота пошагово?
- Разверните Ethereum-ноду (Geth/Erigon) или подключитесь к премиум-провайдеру с WebSocket доступом.
- Настройте подписку на mempool:
eth_subscribe("newPendingTransactions"). - Реализуйте декодирование calldata для сигнатуры
0xf305d719(Uniswap V2) и аналогичных для V3. - Интегрируйте safety checks: симуляция swap через
eth_call, проверка контракта на honeypot. - Постройте buy-транзакцию с EIP-1559 параметрами и отправьте через Flashbots bundle.
- Настройте мониторинг позиции и автоматический TP/SL.
- Протестируйте на тестовой сети (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 день — напишите нам.







