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

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка снайпер-бота для DEX
Середній
~3-5 днів
Часті запитання

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

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1120
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    588
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    855

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

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

Де ломаються типічні реалізації

Неверна логіка визначення liquidity add

Простий варіант — слухати событие Mint(address sender, uint amount0, uint amount1) на пулі Uniswap V2. Проблема: событие еміцюється після виконання, не до. До моменту, коли бот побачив событие, блок вже закритий. Потрібно працювати з pending транзакціями в 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 тижні.

Вартість рахується індивідуально.