Розробка торгового бота для DEX (Uniswap, PancakeSwap)

Ми займаємося розробкою торгових ботів для DEX — систем, які шукають та виконують арбітражні можливості за мілісекунди. Наші боти працюють на рівні конкурентів: затримка в 100 мілісекунд коштує грошей, mempool — поле бою, а неправильна логіка може призвести до sandwich-атаки. Використовуємо власну н

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

Часті запитання

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

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

Ми займаємося розробкою торгових ботів для DEX — систем, які шукають та виконують арбітражні можливості за мілісекунди. Наші боти працюють на рівні конкурентів: затримка в 100 мілісекунд коштує грошей, mempool — поле бою, а неправильна логіка може призвести до sandwich-атаки. Використовуємо власну ноду, Flashbots та оптимізовані контракти Uniswap V3. У цій статті розберемо архітектуру трьох типів ботів (арбітражний, снайпер, маркет-мейкінг), технічну реалізацію на viem/ethers.js та як захиститися від MEV.

Три типи DEX-ботів

Тип бота Мета Складність Ризики
Арбітражний Вилучення прибутку з цінових розбіжностей між DEX Висока (конкуренція MEV) Sandwich-атаки, висока latency
Sniper Купівля токенів при створенні пулу Середня Honeypot, rugpull
Market Making Заробіток на спреді через AMM LP Середня Impermanent loss, волатильність

Отримайте консультацію щодо вашого проекту — ми розробимо бота під вашу стратегію.

Як працюють DEX-боти?

Арбітражний бот

Знаходить цінові розбіжності між DEX та отримує прибуток. Наприклад: ETH коштує $2000 на Uniswap V3 і $2003 на Curve — купуємо на Uniswap, продаємо на Curve, $3 прибутку мінус gas. На mainnet арбітраж ETH/USDC — зайнята ніша з жорсткою конкуренцією. Більш реалістичні ніші: нові токени в перші години торгівлі (низька конкуренція), мультихоп маршрути через 3+ пулів, L2 мережі (менше конкурентів, дешевший газ), екзотичні пари на менш популярних DEX.

Sniper бот (new listing)

Відстежує створення нових пулів на Uniswap (подія PoolCreated в Factory) або додавання ліквідності в новий пул. При детекті — миттєво купує токен в розрахунку на price discovery pump. Технічно: WebSocket підключення до Ethereum node, слухаємо pending транзакції в mempool та PoolCreated події. При детекті — збірка та відправка транзакції з високим gas priority fee. Ризики: honeypot токени, rugpull, MEV competition. Базові захисти: симуляція sell транзакції перед покупкою, перевірка контракту на verified source code, перевірка distribution supply.

Market making bot

Виставляє bid/ask ордери навколо mid-price, заробляє на spread. На Uniswap V3 реалізується через управління range positions — бот відкриває narrow range position та ребалансує при виході ціни за діапазон. Uniswap V3 SDK надає всі інструменти: розрахунок оптимального range через tickToPrice, симуляція fees earned через Pool.computeSwapStep.

Як захиститися від sandwich-атак?

Ваші транзакції видно в mempool і можуть бути атаковані: бот бачить вашу покупку на $10K, вставляє свою покупку до і продаж після. Захисти:

  • Private RPC: Flashbots Protect, MEV Blocker — транзакції не потрапляють в public mempool
  • Tight slippage: 0.1-0.3% для ліквідних пар робить sandwich unprofitable
  • TWAP виконання: розбити великий ордер на частини

Середня економія на комісіях за рахунок private mempool становить до 30%.

Чому власна нода критична для швидкості?

Провайдер Латенція Вартість Застосовність
Infura 50-200 мс Безкоштовно/платно Прототипи
Alchemy 30-150 мс Платно Середні проекти
Власна нода (Erigon) 1-5 мс Висока (сервер) Конкурентний трейдинг

Для конкурентного арбітражу власна нода обов'язкова. Також використовуємо eth_feeHistory для оцінки gas та Flashbots для атомарних bundle. Зниження latency на 95% дає перевагу в гонці за прибуток.

Як запустити базового арбітражного бота: покрокова інструкція

  1. Виберіть стратегію та цільові пари (наприклад, ETH/USDC на Uniswap V3)
  2. Налаштуйте RPC-провайдер: власна нода або Alchemy
  3. Розгорніть смарт-контракти (якщо потрібна кастомна логіка)
  4. Запустіть скрипт на Node.js з viem/ethers.js
  5. Налаштуйте моніторинг через Telegram-бота та Grafana
Типові помилки при розробці DEX-бота - Використання Quoter V2 on-chain замість математичного розрахунку (повільно) - Відсутність захисту від sandwich (слиппаж більше 0.5%) - Робота без тестів на testnet перед мейннетом - Неправильна конфігурація gas fee (не вгадав блок)

Технічна реалізація

Робота з Uniswap V3

Uniswap V3 — найпоширеніший DEX для ботів. Ключові контракти:

  • UniswapV3Factory — створення пулів
  • SwapRouter02 — виконання свопів (V3 + backward compatible V2)
  • Quoter V2 — off-chain котирування без газу
  • UniversalRouter — універсальний маршрутизатор (підтримує V2, V3, та інші протоколи)
import { ethers } from "ethers"; import { Pool, Route, Trade, SwapRouter } from "@uniswap/v3-sdk"; import { CurrencyAmount, TradeType, Percent } from "@uniswap/sdk-core"; const quoter = new ethers.Contract(QUOTER_V2_ADDRESS, QuoterV2ABI, provider); const amountOut = await quoter.callStatic.quoteExactInputSingle({ tokenIn: WETH_ADDRESS, tokenOut: USDC_ADDRESS, fee: 3000, amountIn: ethers.utils.parseEther("1"), sqrtPriceLimitX96: 0 }); 

Для production замінюємо callStatic котирування на власний математичний розрахунок через on-chain state — це швидше і не залежить від Quoter availability. Використовуємо whitepaper Uniswap V3 як основу для gas optimization.

Speed: як потрапити в потрібний блок

Затримка — це гроші. Рівні оптимізації:

RPC рівень: Infura/Alchemy вносять 50-200ms latency. Власна Ethereum нода (geth або erigon) — 1-5ms.

Mempool моніторинг: через eth_subscribe("newPendingTransactions") отримуємо хеші pending транзакцій. Flashbots Protect API дає доступ до private mempool.

Gas strategy: EIP-1559 транзакції. maxFeePerGas має бути достатнім для включення в блок. Для термінових транзакцій — maxPriorityFeePerGas вище медіани поточного блоку.

Bundle через Flashbots: для arb транзакцій, які потрібно включити атомарно — Flashbots MEV-Boost. Захист від frontrunning.

Захист від MEV на власний бот

Використовуємо private RPC, tight slippage та TWAP-виконання. Додатково проводимо audit смарт-контрактів на reentrancy та oracle manipulation.

PancakeSwap та мультичейн

PancakeSwap V3 (BNB Chain) — аналогічна архітектура Uniswap V3, ті самі SDK концепції. BNB Chain: блок кожні 3 секунди (швидше Ethereum), cheaper gas. PancakeSwap також на Ethereum та Arbitrum. Мультичейн бот працює з кількома RPC providers. viem кращий за ethers.js для TypeScript проектів — краща типізація, treeshaking, вбудований multicall.

import { createPublicClient, http } from "viem"; import { mainnet, bsc, arbitrum } from "viem/chains"; const clients = { ethereum: createPublicClient({ chain: mainnet, transport: http(ETH_RPC) }), bsc: createPublicClient({ chain: bsc, transport: http(BSC_RPC) }), arbitrum: createPublicClient({ chain: arbitrum, transport: http(ARB_RPC) }) }; 

Стек та інфраструктура

TypeScript + viem/ethers.js. Node.js worker threads для паралельної обробки. Redis для кешування стану пулів. PostgreSQL для історії угод та PnL. Деплой на VPS з низькою latency до Ethereum nodes (Hetzner Frankfurt, AWS eu-west). PM2 для process management + Telegram алерти.

Що входить в роботу

  • Архітектурна схема взаємодії компонентів
  • Вихідний код бота з коментарями (TypeScript/viem)
  • Деплой на ваш VPS або хмару
  • Налаштування моніторингу (Telegram alerts, Grafana)
  • Документація з експлуатації та відновлення
  • Навчання вашого спеціаліста (1 година онлайн)

Орієнтири за термінами

Базовий арбітражний бот для однієї DEX-пари — 3-5 днів. З мультиDEX routing, mempool моніторингом та Flashbots інтеграцією — 1-2 тижні. Sniper бот з симуляцією sell — 3-5 днів. Market making bot з Uniswap V3 LP management — 1-1.5 тижні. Вартість розраховується індивідуально після аудиту стратегії.

Наш досвід та гарантії

Ми — команда з 5 senior-розробників із сумарним досвідом 7+ років у Solidity та блокчейн-інфраструктурі. Запустили 15+ торгових систем для клієнтів із США та ЄС. Працюємо з Ethereum, BNB Chain, Arbitrum, Optimism, Polygon. Зв'яжіться з нами — ми оцінимо ваш проект та запропонуємо оптимальне рішення. Замовте розробку бота під ключ з гарантією результату.