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

Разработка бота отслеживания китов Представьте: вы торгуете на 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 аналитики — адрес с объёмом позиции или транзакций, значимым относительно liquidity конкретного протокола или токена. Отслеживание китов полезно в нескольких сценариях: торговые сигналы (крупный адрес начал накапливать — интересно), риск-менеджмент протокола (один holder накопил >10% supply — риск дампа), compliance (отслеживание адресов из санкционных списков). Согласно исследованию Nansen, адреса с меткой 'Smart Money' в 70% случаев генерируют положительную доходность. Отсутствие бота обходится дорого: пропущенный вход кита может стоить тысячи долларов упущенной прибыли.

Как классифицировать транзакции китов?

Транзакция проходит несколько этапов обработки. Первый — определение источника и получателя через 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 для минимальной задержки. Экономия на 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. Настройка инфраструктуры: 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. Мы гарантируем качество кода и поддержку после запуска. Свяжитесь с нами, чтобы обсудить детали вашего бота. Закажите разработку бота и начните получать прибыльные сигналы.