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

Крупные транзакции китов часто остаются незамеченными, и вы упускаете прибыль, узнавая о движении рынка слишком поздно. Мы разрабатываем бота для мониторинга китов и торговых сигналов, который в реальном времени отслеживает, классифицирует и отправляет алерты в Telegram или Discord. Наша команда реализует проект под ключ — от аудита до внедрения и последующей поддержки.
Часто задаваемые вопросы

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

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

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

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1141