Разработка Telegram-бота для управления крипто-портфелем под ключ

Разработка Telegram-бота для управления портфелем Telegram — основная платформа крипто-сообщества, но трейдеры теряют до 2 часов в день на переключение между биржами, DeFi-протоколами и кошельками. В результате упускаются сделки, а из-за задержек реакций на ликвидации возникают убытки до 15% порт

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

Часто задаваемые вопросы

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

  • 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

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

Telegram — основная платформа крипто-сообщества, но трейдеры теряют до 2 часов в день на переключение между биржами, DeFi-протоколами и кошельками. В результате упускаются сделки, а из-за задержек реакций на ликвидации возникают убытки до 15% портфеля. Мы создаём ботов, которые объединяют всё в одном интерфейсе: балансы, позиции, уведомления и сделки. Закажите разработку под ключ — получите готовое решение с гарантией безопасности. Внедрение бота окупается за 2-3 месяца за счёт автоматизации рутинных операций.

Почему стоит доверить разработку нам?

Наш опыт — более 5 лет в Web3, 30+ реализованных проектов в DeFi и NFT. Используем только проверенные инструменты: Solidity 0.8.x для контрактов, Foundry для тестирования, Slither для анализа. Каждый бот проходит аудит безопасности. В среднем наши решения обрабатывают на 40% больше запросов благодаря оптимизации пула соединений.

Какие задачи решает бот?

  • Мониторинг портфеля в реальном времени — задержка уведомлений менее 1 секунды, поддержка 10+ сетей (Ethereum, Polygon, Arbitrum, Solana).
  • Price alerts — настраиваемые уведомления о достижении целевых цен, ликвидациях и изменениях в пулах ликвидности.
  • Свапы через DEX-агрегаторы — выполнение сделок через 1inch или Paraswap без выхода из Telegram.
  • Мультичейн поддержка — единый дашборд для активов в разных блокчейнах.

Архитектура

Варианты хранения кошелька

Watch-only режим. Пользователь добавляет публичный адрес, бот только читает данные. Никакого риска для средств. Подходит для мониторинга.

Встроенный кошелёк. Бот генерирует key pair, encrypted private key хранится в базе данных. Пользователь устанавливает пароль/PIN, который используется для расшифровки при подписи. Наиболее удобный вариант для торговли, но требует безопасного хранения.

Connect существующего кошелька. Через WalletConnect v2 пользователь подключает MetaMask — транзакции подписываются в кошельке. Безопасно, но менее удобно (нужен мобильный кошелёк рядом).

Стек

Telegram Bot API (telegraf.js) ↓ Bot Server (Node.js + TypeScript) ├── Portfolio Service (балансы через Alchemy/DeBank API) ├── DeFi Service (позиции: AAVE, Compound, Uniswap) ├── Wallet Service (генерация, шифрование ключей) ├── Trading Service (свапы через 1inch/Paraswap API) └── Alert Service (price alerts, liquidation warnings) ↓ PostgreSQL + Redis (sessions, cache) 

Сравнение подходов к хранению ключей

Подход Безопасность Удобство Скорость сделок
Watch-only Высокая (нет ключей) Низкое (только чтение) Не применимо
Встроенный Средняя (требуется шифрование) Высокое Мгновенная
WalletConnect Высокая (подпись на устройстве) Среднее (нужен кошелёк) Зависит от сети

Как устроена архитектура бота?

Бот построен на микросервисной модели. Каждый сервис отвечает за свою задачу: фетчинг балансов, анализ DeFi-позиций, исполнение свапов и мониторинг алертов. Асинхронная очередь через Redis обеспечивает задержку уведомлений менее 1 секунды. В среднем бот обрабатывает до 5000 запросов в минуту — это в 3 раза быстрее, чем аналоги на Python.

Безопасность хранения ключей

Если бот хранит private keys пользователей — это критичная ответственность:

  • Шифрование AES-256-GCM с ключом = KDF(user_pin + server_secret)
  • Server secret хранится в AWS Secrets Manager (не в коде)
  • PIN никогда не хранится, только проверяется через попытку расшифровки
  • Автоматический logout после N минут неактивности
  • Лимиты на транзакции (максимальная сумма в сутки)
  • Whitelist адресов-получателей

Рекомендации по безопасности: OpenZeppelin рекомендует emergency pause и ограничение экспозиции для контрактов, хранящих средства пользователей.

Почему безопасность ключей — главный приоритет?

Финансовые потери от взлома могут достигать 10-20% портфеля пользователя. Мы применяем формальную верификацию критических модулей и multi-sig для операций администратора. Бот проходит внешний аудит кода перед деплоем.

Как мы реализуем функциональность?

import { Telegraf, Context } from "telegraf"; import { message } from "telegraf/filters"; const bot = new Telegraf(process.env.BOT_TOKEN!); bot.command("portfolio", async (ctx) => { const userId = ctx.from.id; const user = await userService.getUser(userId); if (!user?.watchAddress) { return ctx.reply("Добавьте адрес кошелька: /add_wallet 0x..."); } await ctx.reply("Загружаю портфолио..."); const portfolio = await portfolioService.getPortfolio(user.watchAddress); const message = formatPortfolioMessage(portfolio); await ctx.reply(message, { parse_mode: "HTML" }); }); function formatPortfolioMessage(portfolio: Portfolio): string { const totalUSD = portfolio.tokens.reduce((sum, t) => sum + t.valueUSD, 0); let msg = `<b>Портфолио</b> — $${totalUSD.toFixed(2)}\n\n`; for (const token of portfolio.tokens.sort((a, b) => b.valueUSD - a.valueUSD)) { const pct = ((token.valueUSD / totalUSD) * 100).toFixed(1); msg += `${token.symbol}: ${token.balance.toFixed(4)} ($${token.valueUSD.toFixed(2)}, ${pct}%)\n`; } if (portfolio.defiPositions.length > 0) { msg += `\n<b>DeFi позиции:</b>\n`; for (const pos of portfolio.defiPositions) { msg += `${pos.protocol}: $${pos.valueUSD.toFixed(2)} (${pos.type})\n`; } } return msg; } 

Price alerts

interface PriceAlert { userId: number; token: string; targetPrice: number; direction: 'above' | 'below'; isTriggered: boolean; } // Worker который проверяет алерты каждую минуту async function checkAlerts() { const activeAlerts = await db.alerts.findActive(); const tokens = [...new Set(activeAlerts.map(a => a.token))]; const prices = await priceService.getPrices(tokens); for (const alert of activeAlerts) { const currentPrice = prices[alert.token]; const triggered = (alert.direction === 'above' && currentPrice >= alert.targetPrice) || (alert.direction === 'below' && currentPrice <= alert.targetPrice); if (triggered) { await bot.telegram.sendMessage( alert.userId, `🔔 ${alert.token} достиг $${currentPrice.toFixed(2)} (цель: $${alert.targetPrice})` ); await db.alerts.markTriggered(alert.id); } } } 

Inline-клавиатуры для навигации

Удобный UX для бота — inline кнопки вместо команд:

bot.command("start", async (ctx) => { await ctx.reply("Главное меню", { reply_markup: { inline_keyboard: [ [ { text: "📊 Портфолио", callback_data: "portfolio" }, { text: "💰 Балансы", callback_data: "balances" }, ], [ { text: "🔄 Своп", callback_data: "swap" }, { text: "🔔 Алерты", callback_data: "alerts" }, ], [ { text: "⚙️ Настройки", callback_data: "settings" }, ], ], }, }); }); 

Процесс работы

  1. Аналитика — изучаем ваши требования, интеграции, объём пользователей.
  2. Проектирование — архитектура, выбор стека, схема базы данных.
  3. Реализация — написание кода, интеграция API, настройка оповещений.
  4. Тестирование — unit-тесты, интеграционные тесты, security review (включая формальную верификацию для критических модулей).
  5. Деплой — на ваш сервер или облако (AWS, DigitalOcean).
  6. Поддержка — месяц бесплатной поддержки после запуска.

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

  • Архитектурный документ с обоснованием решений.
  • Исходный код в приватном репозитории.
  • Документация по API и развёртыванию.
  • Инструкция по эксплуатации для вашей команды.
  • Обучение администраторов (2-3 часа).
  • Гарантия устранения критических ошибок в течение 30 дней.

Данные для портфолио

Источник Что даёт
Alchemy Token API ERC-20 балансы по адресу
DeBank API DeFi позиции (AAVE, Compound, Uniswap LP)
CoinGecko API Цены токенов
1inch API Котировки свапов
Etherscan API История транзакций

Сроки и стоимость

Базовый мониторинг-бот (watch-only, балансы, DeFi позиции, price alerts) — 2-3 недели. Версия со встроенным кошельком и свапами — 4-6 недель с учётом security review. Стоимость рассчитывается индивидуально — свяжитесь с нами для оценки вашего проекта.