Разработка Telegram-бота для снайпинга токенов
Новый токен добавляется в пул ликвидности на Uniswap v2 — транзакция addLiquidityETH попадает в mempool. У тебя есть 1-2 блока, максимум 3, чтобы купить до того, как цена улетела. Ручной мониторинг исключён: человек физически не успевает. Нужен бот, который слушает mempool, декодирует pending-транзакции, и отправляет buy-транзакцию с нужным gasPrice через 50-200 миллисекунд после обнаружения.
Это не «купить дешевле» — это купить до того, как остальные поняли, что токен существует.
Где всё ломается у типичных реализаций
Latency — главная проблема
Большинство open-source снайперов написаны с ethers.js через стандартный WebSocket на публичную ноду (Infura, Alchemy). Задержка между событием в сети и получением уведомления через Infura — 300-800 мс. За это время MEV-боты на co-located серверах уже исполнили 2-3 транзакции.
Реальная архитектура снайпера требует:
-
Собственная нода (go-ethereum или Erigon) с прямым WebSocket на
localhost— latency падает до 20-50 мс -
Подписка на
newPendingTransactionsвместоlogs— ловим транзакцию до включения в блок - Декодирование
input datapending-транзакции через ABI Uniswap Router: ищемaddLiquidityETHиaddLiquidityс нужными сигнатурами функций
Без собственной ноды или подключения к private mempool (Flashbots, bloXroute) соревноваться с профессиональными MEV-ботами практически невозможно.
Honeypot-токены и rug pulls
Из 100 новых токенов в день на BSC или Ethereum примерно 60-70 — откровенный скам. Контракт может:
- Запрещать
transferдля любого адреса кроме owner'а (классический honeypot: купить можно, продать — нет) - Устанавливать tax 99% на продажу через кастомную логику в
_transfer - Добавлять blacklist после снайпинга
Без симуляции покупки и продажи перед исполнением бот регулярно теряет деньги на honeypot-контрактах. Мы используем eth_call симуляцию двух транзакций подряд: swap ETH→Token и сразу Token→ETH. Если симуляция продажи реверсится или возвращает <50% от входа — токен пропускается.
Дополнительная проверка: статический анализ байткода контракта токена на наличие функций с сигнатурами, характерными для blacklist/whitelist паттернов, и проверка через HoneyPot.is API.
Front-running со стороны самого пула
При запуске пула с маленьким начальным liquidity и высоким начальным gasPrice снайпера MEV-бот может вклиниться перед нашей транзакцией через sandwich атаку. Это особенно актуально на Ethereum mainnet. Решение — использовать Flashbots bundle: транзакция отправляется напрямую валидатору, минуя публичный mempool, и исполняется в точном порядке бандла.
На BSC Flashbots не работает, но есть bloXroute BDN для приоритетной доставки транзакций.
Как строим бота
Архитектура
Нода (Erigon/geth) → WebSocket mempool listener
↓
Tx decoder (ABI parse → фильтрация по router address)
↓
Token analyzer (симуляция buy/sell, байткод-анализ)
↓
Risk engine (max buy amount, slippage config)
↓
Executor (Flashbots bundle / direct tx)
↓
Telegram notification + position tracker
Основная логика написана на Node.js с viem для низкоуровневого взаимодействия с нодой. Viem быстрее ethers.js по latency из-за более тонкого управления JSON-RPC батчингом. Критичные части — мониторинг и декодирование — работают в отдельном Worker Thread, чтобы не блокировать event loop.
Конфиг бота через Telegram: слипаж, максимальная сумма покупки, whitelist/blacklist контрактов-роутеров, минимальный порог начальной ликвидности в ETH/BNB. Всё меняется на лету без перезапуска.
Поддерживаемые чейны и DEX
| Чейн | DEX | Метод обнаружения |
|---|---|---|
| Ethereum | Uniswap v2/v3 | Pending tx decode |
| BSC | PancakeSwap v2/v3 | Pending tx decode |
| Base | Uniswap v3, Aerodrome | Event log + pending |
| Arbitrum | Uniswap v3, Camelot | Event log |
| Solana | Raydium, Pump.fun | gRPC Yellowstone |
На Solana архитектура принципиально иная: используем gRPC-стрим Yellowstone от Triton, подписываясь на обновления аккаунтов AMM-программы Raydium. Это даёт latency 10-30 мс до инициализации нового пула.
Управление газом
На Ethereum mainnet тактика зависит от режима: если используем публичный mempool — gasPrice ставим на 150-200% от текущего baseFee + priorityFee. Если Flashbots bundle — оптимизируем bribe (tip валидатору) так, чтобы бандл включился в следующий блок, но без переплаты.
Автоматическая адаптация под текущую загруженность сети через eth_gasPrice + анализ последних 5 блоков через eth_feeHistory.
Процесс разработки и настройки
Аналитика (1-2 дня). Определяем целевые чейны, DEX, стратегию (чистый снайпинг при добавлении ликвидности, снайпинг при листинге по событию, presale снайпинг). Разные стратегии — разные точки входа в мемпуле.
Разработка (5-10 дней). Мониторинг, декодер, анализатор токенов, executor. Параллельно — интеграция с Telegram Bot API для управления и уведомлений.
Тестирование на testnet (2-3 дня). Развёртываем собственный Uniswap v2 на Sepolia, симулируем добавление ликвидности, проверяем весь путь. Тестируем honeypot-сценарии с контрактами, где продажа заблокирована.
Деплой и настройка ноды. Помогаем с выбором хостинга (proximity к валидаторам критична), настройкой Erigon/geth, firewall, мониторингом через Prometheus + Grafana.
Что влияет на сроки
Базовый бот для одного чейна и одного DEX — 1-1.5 недели. Мультичейн с Flashbots интеграцией, Solana через Yellowstone, расширенным anti-honeypot анализом — 2-3 недели. Сроки также зависят от инфраструктуры клиента: наличия собственной ноды, требований к UI для управления.
Стоимость рассчитывается после обсуждения стека и целевых чейнов.







