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

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка Telegram-бота моніторингу портфеля
Простий
~2-3 дні
Часті запитання

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

Етапи блокчейн-розробки

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

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

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

Стандартна проблема: у людини активи на кількох мережах, у кількох протоколах, і щоб розуміти поточну картину—потрібно зайти в 5 різних інтерфейсів. Telegram-бот з командами /portfolio та алертами при русі ціни або при ризику liquidation—це зручніше будь-якого мобільного дашборду.

Що відстежувати та звідки брати дані

Ботів мониторинга портфеля можна поділити за складністю:

Базовий (balances токенів)—балансі токенів на вказаних адресах. Джерела даних:

  • Moralis Web3 API / Alchemy Token API—балансі всіх ERC-20 за один запит
  • CoinGecko / CoinMarketCap API—поточні ціни для розрахунку USD вартості

Розширений (DeFi позиції)—враховуємо LP позиції в Uniswap, collateral/debt в Aave/Compound, staking. Тут потрібні або протокол-специфічні виклики, або агрегатори:

  • DeBank API—агрегує позиції по 100+ протоколам, але платний для серйозних обсягів
  • Zerion API—аналогічно, найкращий coverage для EVM мереж
  • Прямі виклики до контрактів Aave (getUserAccountData), Uniswap V3 (positions)

Алерти: основні сценарії

Price alert:    токен X впав/виріс на Y%
Liquidation:    health factor в Aave < 1.2
Large tx:       вхідна/вихідна транзакція > $N
Whale movement: гаманець з watchlist зробив транзакцію
New token:      на гаманець поступив невідомий токен

Для price alerts—не політи API кожну хвилину. Підпишіться на WebSocket стрим з біржі (Binance, Bybit мають безплатні WebSocket feeds) або використовуйте Chainlink price feed события.

Для on-chain подій—Alchemy/QuickNode webhooks на адреси користувачів надійніші за самостійний поліинг.

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

Telegram Bot API (polling або webhook)
    ↓
Bot handler (Python/aiogram або Node.js/grammY)
    ↓
Portfolio aggregator service
    ├── Price service (CoinGecko/біржа WebSocket)
    ├── Balance fetcher (Moralis/Alchemy)
    └── DeFi positions (DeBank/прямі виклики)
    ↓
Database (PostgreSQL / Redis)
    ├── user wallets
    ├── alert configs
    └── cached portfolio snapshots
    ↓
Alert scheduler (cron / event-driven)

Redis використовується для кешу цін та балансів—не потрібно ходити в API при кожному запиті /portfolio. TTL кешу: ціни 30 секунд, балансі 2–5 хвилин.

Реалізація базових команд

@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
    
    portfolio = await aggregator.get_portfolio(user.wallets)
    text = format_portfolio(portfolio)  # форматування з еможи та таблицею
    await message.answer(text, parse_mode="HTML")

Для multi-chain користувачів—паралельні запити через asyncio.gather, інакше час відповіді буде неприйнятним.

Безпека: що важливо

Користувач передає публічні адреси—немає приватних ключів. Це потрібно явно позначати в onboarding. Зберігайте адреси в БД, ніколи не просіть seed phrase або private key—і додайте сповіщення попередження якщо користувач намагається відправити нечто схоже на private key.

Rate limiting на команди—Telegram має лімітація на відправку повідомлень (30/сек на бота, 1/сек на користувача), при перевищенні бот отримає 429 Too Many Requests.

Що робиться за 2–3 дні

Telegram бот з командами додавання/видалення гаманців, команда /portfolio з агрегацією балансів та USD вартістю, price alerts по заданим порогам, настройка хостингу (Railway, Fly.io або ваш VPS), підключення до обраних API для даних. Підтримка мереж—Ethereum + будь-які EVM-сумісні, Bitcoin/Solana—за запитом, вимагають окремих адаптерів.