Разработка Telegram Mini App с криптофункциональностью

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Разработка Telegram Mini App с криптофункциональностью
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    760
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    649
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1071
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    884
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    458

Разработка Telegram Mini App с криптофункциональностью

Telegram Mini App — это WebView внутри Telegram, который открывается через кнопку бота или ссылку tg://resolve?domain=BotName&appname=appname. Для крипто-приложений это интересная ниша: ~900 млн пользователей Telegram, встроенный мессенджер для коммуникации, TON-экосистема с нативным кошельком. Но WebView — это не нативное приложение, и разрыв ощущается на каждом шаге интеграции с блокчейном.

TON Connect: авторизация через кошелёк

Для TON-экосистемы — TON Connect 2.0. Пользователь подключает Tonkeeper, MyTonWallet или встроенный кошелёк Telegram (W5). Mini App получает адрес кошелька и может запрашивать подписи транзакций.

import TonConnect from '@tonconnect/sdk';

const connector = new TonConnect({
    manifestUrl: 'https://your-app.com/tonconnect-manifest.json'
});

// Подключение кошелька
async function connectWallet() {
    const walletsList = await connector.getWallets();
    // Для Telegram Mini App используем встроенный wallet
    const telegramWallet = walletsList.find(w => w.appName === 'telegram-wallet');

    if (telegramWallet) {
        // Открывает встроенный кошелёк Telegram
        connector.connect({ jsBridgeKey: telegramWallet.jsBridgeKey });
    } else {
        // QR или deep link для внешних кошельков
        const universalLink = connector.connect({ universalLink: walletsList[0].universalUrl });
        window.Telegram.WebApp.openLink(universalLink);
    }
}

connector.onStatusChange(wallet => {
    if (wallet) {
        console.log('Connected:', wallet.account.address);
    }
});

Для EVM-сетей (Ethereum, Polygon, BSC) — WalletConnect, хотя в контексте Telegram Mini App интеграция сложнее: QR-код внутри WebView, Deep Link ведёт из Telegram в MetaMask и обратно. Работает, но UX хуже чем в нативном приложении.

Telegram Wallet: встроенный кошелёк

С 2023 года у Telegram есть встроенный кошелёк (@wallet бот) с поддержкой TON и USDT (TON). В Mini App он доступен через window.Telegram.WebApp.openInvoice() для приёма платежей в USDT без внешних кошельков. Это самый простой способ принять крипто-оплату в Mini App — пользователь платит прямо из Telegram без установки дополнительных приложений.

// Создание инвойса для оплаты в Stars или TON
const tg = window.Telegram.WebApp;

async function createCryptoInvoice(amount, description) {
    // На сервере создаём инвойс через Telegram Payments API или @wallet API
    const invoiceLink = await fetch('/api/create-invoice', {
        method: 'POST',
        body: JSON.stringify({ amount, description, currency: 'XTR' }) // XTR = Telegram Stars
    }).then(r => r.json()).then(d => d.link);

    tg.openInvoice(invoiceLink, (status) => {
        if (status === 'paid') {
            // Успешная оплата
            handlePaymentSuccess();
        }
    });
}

Telegram Stars (XTR) — внутренняя валюта Telegram с августа 2024. Принимается для цифровых товаров и услуг внутри Mini Apps. Конвертируется в деньги через Telegram Fragment.

DeFi в Mini App: ограничения WebView

Главное ограничение — Mini App работает в WebView внутри Telegram, а не в браузере. window.ethereum не injected автоматически. MetaMask не инжектирует провайдер в WebView Telegram.

Решения:

  1. TON-only функциональность через TON Connect — работает нативно
  2. Серверная Web3-логика — клиент не работает с блокчейном напрямую, все on-chain операции через ваш бэкенд
  3. Iframe с Metamask Snaps — экспериментально, не для продакшена

Практически для DeFi-приложений на EVM в Telegram Mini App лучшая архитектура — кастодиальные кошельки или MPC (Multi-Party Computation) через Privy или Dynamic. Пользователь авторизуется через Telegram initData, получает кошелёк от сервиса, все транзакции подписываются серверными компонентами.

Верификация initData

Любой запрос от Mini App к вашему бэкенду должен быть верифицирован через Telegram initData:

import hmac
import hashlib
from urllib.parse import parse_qsl

def verify_telegram_init_data(init_data: str, bot_token: str) -> bool:
    parsed = dict(parse_qsl(init_data, keep_blank_values=True))
    hash_value = parsed.pop('hash', '')
    data_check = '\n'.join(f'{k}={v}' for k, v in sorted(parsed.items()))
    secret_key = hmac.new(b'WebAppData', bot_token.encode(), hashlib.sha256).digest()
    expected = hmac.new(secret_key, data_check.encode(), hashlib.sha256).hexdigest()
    return hmac.compare_digest(hash_value, expected)

Без этой проверки любой может отправить POST-запрос с произвольным user_id и получить чужой крипто-баланс.

Уведомления через бота

Одно из главных преимуществ Telegram Mini App — мгновенные уведомления через бота без APNs/FCM. Транзакция подтверждена — бот отправляет сообщение. Аномальная активность — пуш в Telegram. Реализуется через bot.sendMessage(chatId, text) из python-telegram-bot или grammy (Node.js).

Технический стек

Фронтенд Mini App: React или Vue + Vite, CSS через Tailwind или нативный CSS с учётом цветовой темы Telegram (tg.themeParams). Тёмная тема поддерживается через tg.colorScheme. Адаптация под мобильный viewport — tg.viewportHeight, tg.viewportStableHeight.

Бэкенд: любой язык. Node.js с grammy или telegraf, Python с aiogram — популярные выборы для Telegram-ботов.

Сроки

3–5 недель для Mini App с TON Connect, крипто-оплатой, DeFi-функциональностью через серверный слой и нотификациями через бота. Стоимость рассчитывается индивидуально после анализа требований.