Разработка Telegram-бота для мониторинга криптопортфеля

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

Разработка Telegram-бота для мониторинга криптопортфеля

Блокчейн инфраструктураПростой~2-3 дня
Часто задаваемые вопросы

Разработка Telegram-бота для мониторинга криптопортфеля

Типичная ситуация: у трейдера активы разбросаны по 5–10 сетям — в пулах ликвидности Uniswap, стейкинге Lido, lending на Aave. Чтобы оценить общую экспозицию и риски ликвидации, приходится открывать 6 вкладок и собирать данные вручную. Наш Telegram-бот агрегирует данные из всех сетей в реальном времени: показывает единый портфель, настраиваемые алерты и критичные события. Решение окупается за неделю, если оно предотвращает хотя бы одну ликвидацию на сумму свыше $1000 — именно такую экономию фиксируют наши пользователи. А ещё наш бот заменяет платные мониторинговые сервисы стоимостью до $100/мес — вы получаете те же данные без ежемесячной подписки. Наша команда имеет 5+ лет опыта в блокчейн-разработке и 50+ реализованных проектов по мониторингу. Свяжитесь с нами — мы протестируем бота на ваших кошельках и покажем, как он работает.

Проблемы, которые решаем

Фрагментация данных по сетям

Каждая сеть требует отдельного RPC или API-ключа. Мы подключаем Ethereum, Polygon, Arbitrum, Optimism, Base и BNB Chain через Moralis Web3 API для балансов токенов и DeBank API для DeFi-позиций. Для Bitcoin и Solana — отдельные адаптеры. Все данные собираются асинхронно через asyncio.gather. Время ответа бота — менее 2 секунд даже при 50+ кошельках.

Задержка в ценовых алертах

Пуллинг цены каждые 10 секунд — дорого и неточно. Вместо этого подписываемся на WebSocket стримы Binance и Bybit (бесплатно) для top-100 монет. Для остальных — используем события Chainlink price feed. Потери ценовых движений исключены: алерт приходит за 1–2 секунды. WebSocket-алерты приходят в 10 раз быстрее, чем пуллинг каждые 10 секунд.

Мониторинг health factor в lending-протоколах

Health factor Aave зависит от цены залога и долга. Отслеживаем его через события контрактов (Alchemy webhook) при любом изменении, а также через периодическую проверку при движении цены. Если HF падает ниже 1.2 — автоматический алерт с рекомендацией действий.

Как настроить алерт по health factor?

Пошаговая инструкция для встроенной команды /addalert:

  1. Выберите из подсказок health_factor.
  2. Укажите адрес кошелька, который уже добавлен командой /addwallet.
  3. Установите порог: например, 1.2.
  4. Выберите протокол (Aave V3, Compound V3). Бот автоматически определит активные позиции и начнёт мониторинг. При изменении HF бот пришлёт сообщение с текущим значением и ссылкой на Etherscan.

Архитектура бота

Telegram Bot API (polling/webhook)
↓ Bot handler (aiogram 3.x, Python 3.11)
↓ Portfolio aggregator service
├── Price service (Binance WebSocket + CoinGecko REST)
├── Balance fetcher (Moralis Balance API / Alchemy Token API)
├── DeFi positions (DeBank API + прямые вызовы к Aave/Compound)
└── Event listener (Alchemy webhooks для on-chain событий)
↓ Database (PostgreSQL + Redis cache)
├── user wallets (public addresses)
├── alert configurations
└── cached portfolio snapshots (TTL: цены 30s, балансы 2-5 min)
↓ Alert scheduler (APScheduler cron + event-driven triggers)

Redis критичен для кэша: каждый запрос /portfolio не ходит к внешним API, а берёт данные из кэша. Это снижает нагрузку на сторонние сервисы и ускоряет ответ в 3–5 раз.

Сравнение источников данных

Источник Тип данных Стоимость Лимиты Задержка
Moralis Balance API Балансы ERC-20 До 40k запросов/день бесплатно 100 wallet/запрос ~1с
Alchemy Token API Балансы ERC-20 Бесплатно (300M CU/мес) 3 req/s ~0.5с
DeBank API DeFi-позиции Бесплатно (100k запр/день) 1 req/s ~2с
Zerion API DeFi-позиции Платно (от $49/мес) По тарифу ~1с
Binance WebSocket Цены Бесплатно 1024 streams real-time
Chainlink price feed Цены on-chain Бесплатно (via node) ~0.05 USD/запрос ~1 блок

Выбор в пользу Moralis и Alchemy вместо платного Zerion экономит до $50/мес на подключениях к данным.

Типы алертов

Тип алерта Пример настройки Задержка
Изменение цены BTC -5% за 1 час 1-2 сек
Health factor Aave HF < 1.2 ~1 блок
Крупная транзакция > $100k с кошелька real-time
Whale движение адрес из watchlist отправил > $50k real-time
Новый токен на кошелёк пришёл неизвестный ERC-20 1-2 сек

Как мы это делаем: стек и реализация

Стек: Python 3.11 + aiogram 3.x + asyncio. Для каждого пользователя храним список кошельков в PostgreSQL (один запрос при команде). Агрегатор собирает данные параллельно:

async def get_portfolio(wallets: list[str]) -> Portfolio:
    async with asyncio.TaskGroup() as tg:
        balance_task = tg.create_task(balance_fetcher.fetch_all(wallets))
        defi_task = tg.create_task(defi_fetcher.fetch_all(wallets))
        price_task = tg.create_task(price_service.fetch_prices())
        return Portfolio(balances=balance_task.result(), positions=defi_task.result(), usd_values=price_task.result())

Форматирование вывода — HTML с эмодзи, таблицами, ссылками на Etherscan. Пример:

/portfolio Ваш портфель (обновлено 2 сек назад):
  **Ethereum**
    ETH: 2.345 ($7,850) ↗ 1.2%
    USDC: 15,000.00 ($15,000) ▸ 0%
    Aave: депозит 10 ETH, долг 5,000 USDC, Health Factor: 1.45
  **Polygon**
    MATIC: 5000 ($4,200) ↗ 3.1%
    Uniswap V3: MATIC/USDC (0.05%) — $2,300

Почему безопасность выходит на первый план?

Бот работает только с публичными адресами. Пользователь никогда не вводит приватные ключи или seed-фразы. В onboarding мы явно сообщаем: «Никаких приватных данных». Если бот детектирует попытку ввести похожий на private key текст (64 hex-символа или 12/24 слова) — команда игнорируется, пользователь получает предупреждение. Адреса хранятся в зашифрованной колонке PostgreSQL. Для защиты от флуда — rate limiting на уровне aiogram: не более 30 команд/мин на пользователя.

На каждом этапе используем проверенные решения: например, Chainlink documentation для ценовых фидов или официальные Aave контракты для HF. Это обеспечивает надёжность, подтверждённую сотнями аудитов.

Процесс работы над заказом

  1. Аналитика — обсуждаем какие сети, протоколы, алерты нужны. 2. Проектирование архитектуры — выбираем источники данных, провайдеров, кэш. 3. Реализация бота — Python/aiogram, интеграция с Telegram Bot API, подключение API и WebSocket. 4. Тестирование — юнит-тесты на обработчики команд, интеграционные тесты с моками API, стресс-тест на 100+ кошельков. 5. Деплой — на Railway, Fly.io или ваш VPS с Docker. Предоставляем документацию и инструкцию по эксплуатации.

Что входит в работу

  • База: команды /addwallet, /removewallet, /portfolio, /alerts.
  • Алерты по цене, health factor, крупным транзакциям.
  • Поддержка всех EVM-сетей (Bitcoin/Solana — опционально).
  • Кэширование в Redis для быстрого отклика.
  • Документация по администрированию и развёртыванию.
  • Гарантия работоспособности и доработки в течение месяца после сдачи.

Сроки ориентировочно

Базовая версия — от 2 до 3 рабочих дней. Расширенная с DeFi-позициями и WebSocket — от 5 до 10 дней. Стоимость рассчитывается индивидуально после анализа требований. Свяжитесь с нами для обсуждения вашего сценария — подберём оптимальную архитектуру. Закажите разработку Telegram-бота для мониторинга криптопортфеля — получите консультацию по вашему кейсу.

Пример кода команды /portfolio (полная версия)
@router.message(Command("portfolio"))
async def portfolio_command(message: Message):
    user = await get_user(message.from_user.id)
    if not user.wallets:
        await message.answer("Сначала добавьте кошелёк командой /addwallet 0x...")
        return
    async with asyncio.TaskGroup() as tg:
        pf = tg.create_task(aggregator.get_portfolio(user.wallets))
        prices = tg.create_task(price_service.get_all_prices())
        portfolio = pf.result()
        text = format_portfolio(portfolio, prices.result())
        await message.answer(text, parse_mode="HTML")

Закажите разработку Telegram-бота для мониторинга криптопортфеля — получите консультацию по вашему кейсу.

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

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

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