Розробка 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 мс. За це time MEV-боти на co-located серверах вже виконали 2-3 транзакції.
Реальна архітектура снайпера вимагає:
-
Власна нода (go-ethereum або Erigon) з прямим WebSocket на
localhost— latency падає до 20-50 мс -
Підписка на
newPendingTransactionsзамістьlogs— ловимо транзакцію до включення у блок - Декодування
input datapending-транзакції через ABI Uniswap Router: шукаємоaddLiquidityETHтаaddLiquidityз потрібними сигнатурами функцій
Без власної ноди або підключення до приватного 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 для управління.
Вартість рассчитується після обговорення стеку та цільових чейнів.







