Розробка бота для відстеження китів і торгових сигналів

Розробка бота відстеження китів Уявіть: ви торгуєте на DEX, і раптом кит заходить на $10 млн у пул ліквідності. Ви дізнаєтеся про це через годину — ціна полетіла. Такі сценарії — звичайність без якісного моніторингу. Ми вирішуємо це: наш бот у реальному часі відстежує великі транзакції, класифіку

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

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

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

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

Розробка бота відстеження китів

Уявіть: ви торгуєте на DEX, і раптом кит заходить на $10 млн у пул ліквідності. Ви дізнаєтеся про це через годину — ціна полетіла. Такі сценарії — звичайність без якісного моніторингу. Ми вирішуємо це: наш бот у реальному часі відстежує великі транзакції, класифікує їх і надсилає алерти в Telegram або Discord.

«Кит» у контексті on-chain аналітики — адреса з обсягом позиції або транзакцій, значущим відносно ліквідності конкретного протоколу чи токена. Відстеження китів корисне в кількох сценаріях: торгові сигнали (велика адреса почала накопичувати — цікаво), ризик-менеджмент протоколу (один холдер накопичив >10% supply — ризик дампу), compliance (відстеження адрес із санкційних списків). Згідно з дослідженням Nansen, адреси з міткою 'Smart Money' у 70% випадків генерують позитивну дохідність. Відсутність бота коштує дорого: пропущений вхід кита може коштувати $1,500 втраченого прибутку.

Як класифікувати транзакції китів?

Транзакція проходить кілька етапів обробки. Перший — визначення джерела та отримувача через label resolver (Nansen, Etherscan, Arkham). Другий — аналіз типу руху: якщо адреса відправника — CEX hot wallet, а отримувача — новий гаманець, це cex_withdraw. Якщо обидві адреси — відомі протоколи, скоріше за все dex_swap. Третій — перевірка внутрішніх переказів через кластеризацію.

Джерела даних та архітектура

On-chain (первинні): Ethereum (eth_getLogs + eth_subscribe(logs) для ERC-20 Transfer подій), Solana (Helius webhooks з фільтрацією за program ID), DEX події: Uniswap V3 Swap, Curve TokenExchange, dYdX order fills.

Аналітичні (вторинні): Nansen API — labelling адрес (Smart Money, CEX hot wallets, known DeFi whales), Arkham Intelligence API — entity-level атрибуція, Etherscan labels API — біржові гаманці, протоколи, DeBank API — поточний портфель адреси.

Архітектура бота забезпечує відмовостійкість: WebSocket-підписка через Tenderly або власний node, черга повідомлень (Redis Streams), класифікатор з кешем міток (TTL 24 год), генератор сигналів та диспетчер сповіщень.

Метод Затримка Навантаження на інфраструктуру Складність реалізації
Direct RPC (polling) 12-15 сек Високе (часті запити) Низька
WebSocket (eth_subscribe) <3 сек Низьке (push) Середня
The Graph / subgraph ~5-10 сек Залежить від індексації Висока
Helius webhooks (Solana) <1 сек Низьке Середня

Рекомендуємо комбінацію WebSocket + webhook для мінімальної затримки — WebSocket у 5 разів швидший за polling. Економія на RPC-запитах порівняно з polling може сягати $2,000 на місяць.

Детектор значущих транзакцій

interface WhaleTx { txHash: string; from: string; to: string; tokenAddress: string; amountUSD: number; labels: { from: string | null; // "Binance Hot Wallet", "Smart Money #42" to: string | null; }; txType: "cex_deposit" | "cex_withdraw" | "dex_swap" | "wallet_transfer" | "unknown"; } async function classifyTransaction(tx: RawTransferEvent): Promise<WhaleTx | null> { const amountUSD = await priceService.toUSD(tx.token, tx.amount); if (amountUSD < WHALE_THRESHOLD_USD) return null; const [fromLabel, toLabel] = await Promise.all([ labelResolver.resolve(tx.from), labelResolver.resolve(tx.to), ]); const txType = inferTxType(fromLabel, toLabel); return { txHash: tx.hash, from: tx.from, to: tx.to, tokenAddress: tx.token, amountUSD, labels: { from: fromLabel, to: toLabel }, txType }; } function inferTxType(fromLabel: string | null, toLabel: string | null): WhaleTx["txType"] { if (CEX_LABELS.some((l) => toLabel?.includes(l))) return "cex_deposit"; if (CEX_LABELS.some((l) => fromLabel?.includes(l))) return "cex_withdraw"; if (DEX_LABELS.some((l) => fromLabel?.includes(l) || toLabel?.includes(l))) return "dex_swap"; return "unknown"; } 

Чому важлива дедуплікація та кластеризація?

Одна зі складних задач — зрозуміти, що кілька адрес належать одній сутності. Евристики: dust attack / common input ownership (для UTXO-ланцюгів), nonce-based clustering (адреси, що фінансуються з одного джерела), temporal correlation (адреси, які завжди переміщують кошти в одному блоці). Для EVM: якщо адреса A часто надсилає gas на адресу B перед транзакціями B — ймовірно, A і B один власник.

Без дедуплікації бот генерує до 90% шуму. Одна транзакція може породити кілька подій (наприклад, Uniswap Swap включає Transfer від трейдера до пулу та Transfer від пулу до трейдера). Групуємо події за txHash і надсилаємо одне сповіщення. Cooldown на адресу (5 хв) і blacklist технічних контрактів (мультисиги протоколів, стейкінг-контракти) додатково знижують шум.

Telegram-сповіщення

async function sendWhaleAlert(tx: WhaleTx, bot: TelegramBot) { const emoji = tx.txType === "cex_deposit" ? "🔴" : tx.txType === "cex_withdraw" ? "🟢" : "🔵"; const fromStr = tx.labels.from ?? shortenAddress(tx.from); const toStr = tx.labels.to ?? shortenAddress(tx.to); const message = [ `${emoji} <b>Whale Alert</b>`, ``, `<b>Amount:</b> $${formatUSD(tx.amountUSD)}`, `<b>From:</b> ${fromStr}`, `<b>To:</b> ${toStr}`, `<b>Type:</b> ${tx.txType}`, ``, `<a href="https://etherscan.io/tx/${tx.txHash}">View on Etherscan</a>`, ].join("\n"); await bot.sendMessage(CHANNEL_ID, message, { parse_mode: "HTML" }); } 

Пороги та фільтрація шуму

Пороги спрацювання: для топових токенів від $500k, для long-tail від $50k. Можна задати watchlist конкретних адрес з індивідуальними порогами. Правила фільтрації:

  • Дедуплікація: одна транзакція → одне сповіщення (за txHash)
  • Cooldown на адресу: якщо адреса A вже алертувалася 5 хвилин тому — пропускаємо
  • Blacklist технічних адрес: мультисиг treasury протоколів, staking контракти
  • Aggregation: якщо за 60 сек прийшло 10+ алертів одного типу — надсилаємо зведення
Тип токена Мінімальний поріг Cooldown Пріоритет
Топові (ETH, BTC, stablecoins) $500k 3 хв Високий
Середні (LINK, UNI, MATIC) $200k 5 хв Середній
Long-tail $50k 10 хв Низький

Процес розробки під ключ

  1. Аналіз вимог та вибір цільових мереж (Ethereum, Solana, BNB Chain) — займає до 2 днів
  2. Налаштування інфраструктури: RPC-ноди, WebSocket-підписки, черги
  3. Реалізація класифікатора та label-резолвера
  4. Інтеграція Telegram/Discord-бота з форматуванням
  5. Тестування на історичних даних та деплой

Що входить та терміни

  • Event listener з підтримкою reconnect та catchup пропущених блоків
  • Label cache з TTL (дані Nansen/Arkham змінюються рідко, кешувати на 24 год)
  • Класифікатор транзакцій з розширюваними правилами
  • Telegram/Discord notification з форматуванням та дедуплікацією
  • Dashboard з історією алертів та налаштуванням порогів
  • Підтримка watchlist конкретних адрес (VIP tracking)

Терміни розробки — від 2 до 6 тижнів залежно від набору мереж та складності класифікації. Вартість розраховується індивідуально. Наша команда має сертифікати з Solidity та Rust, понад 50 успішних проєктів у DeFi. Ми гарантуємо якість коду та підтримку після запуску. Зв'яжіться з нами, щоб обговорити деталі вашого бота. Замовте розробку бота під ключ та почніть отримувати прибуткові сигнали. Оцініть ваш проект — пишіть!