Wall App · Telegram Mini App primerTelegram Mini App primer
What is a Telegram Mini App? Что такое Telegram Mini App?
A Telegram Mini App is a web app that runs inside Telegram — opens in one tap from a chat or a bot, no separate install, uses Telegram identity for auth. Wall is a Telegram Mini App at wall.tg. This page explains the architecture, the trade-offs against native apps, the trust model, and the broader Mini App ecosystem context. Telegram Mini App — это веб-приложение, работающее внутри Telegram. Открывается одним тапом из чата или бота, без отдельной установки, использует Telegram identity для авторизации. Wall — это Telegram Mini App на wall.tg. Эта страница объясняет архитектуру, trade-off’ы относительно нативных приложений, trust-модель и контекст Mini App-экосистемы.
The architecture in one paragraphАрхитектура в одном абзаце
Telegram clients (iOS, Android, Desktop, Web) embed a WebView. A Mini App is the web app loaded into that WebView. When a user taps a launch button (in a chat, a bot menu, an inline result, or a deep link), Telegram opens the Mini App’s URL with a signed init_data query parameter. The web app reads window.Telegram.WebApp.initDataUnsafe for the user identity and forwards the raw signed payload to its server, which verifies HMAC-SHA256 using the bot token. After verification, the Mini App is authenticated.
Клиенты Telegram (iOS, Android, Desktop, Web) встраивают WebView. Mini App — это веб-приложение, загружаемое в этот WebView. Когда пользователь тапает launch-кнопку (в чате, в bot-меню, в inline-результате или в deep-link), Telegram открывает URL Mini App с подписанным init_data в query-параметре. Веб-приложение читает window.Telegram.WebApp.initDataUnsafe для user identity и пересылает raw подписанный payload на свой сервер, который верифицирует HMAC-SHA256 с использованием bot-токена. После верификации Mini App авторизован.
What runs inside Telegram, what doesn’tЧто работает внутри Telegram, а что — нет
- Inside the WebView: the Mini App’s UI, business logic, animations, real-time data via WebSocket / SSE, payment requests via Telegram Stars, TON Connect wallet prompts, push notifications via the bot.Внутри WebView: UI Mini App, бизнес-логика, анимации, real-time данные через WebSocket / SSE, payment-запросы через Telegram Stars, TON Connect wallet-prompts, push-уведомления через бота.
- Outside the WebView (still Telegram): the bot that launched the Mini App, system messages, /command flows, file sharing.Вне WebView (но в Telegram): бот, запустивший Mini App, системные сообщения, /command-flow, обмен файлами.
- On the publisher’s server: HMAC-SHA256 verification, business logic, database, all the things any web app needs. The Mini App connects to its own backend, not to Telegram’s. Telegram is the launcher and the auth-token source, not a backend.На сервере паблишера: верификация HMAC-SHA256, бизнес-логика, база данных, всё что нужно любому веб-приложению. Mini App подключается к своему бэкенду, не к Telegram. Telegram — это лаунчер и источник auth-токена, не бэкенд.
- Outside Telegram entirely: anything the Mini App’s server-side talks to — third-party APIs, blockchain RPC, AI providers, payment gateways. The Mini App is just a web frontend.Полностью вне Telegram: всё, с чем общается server-side Mini App — third-party API, blockchain RPC, AI-провайдеры, payment-шлюзы. Mini App — это просто веб-фронтенд.
Trade-offs vs native appsTrade-off’ы относительно нативных приложений
Mini App wins: distributionMini App выигрывает: дистрибуция
1B+ Telegram users can open the app in one tap from a chat or a deep-link. No App Store review, no Google Play approval, no install friction. Updates ship server-side without user action. 1B+ пользователей Telegram могут открыть приложение одним тапом из чата или deep-link. Никакого App Store review, Google Play approval, install-фрикшна. Обновления выкатываются server-side без действий пользователя.
Native wins: feature depthNative выигрывает: глубина возможностей
Direct access to camera, microphone, GPS, push notifications outside the bot, background tasks, file system, accelerometer. Mini Apps can request some of these via Telegram WebApp APIs but the surface is narrower than native iOS / Android. Прямой доступ к камере, микрофону, GPS, push-уведомлениям вне бота, фоновым задачам, file system, акселерометру. Mini Apps могут запросить часть через Telegram WebApp API, но surface уже, чем native iOS / Android.
Mini App wins: auth + paymentsMini App выигрывает: auth + платежи
Telegram identity is the auth (no passwords). Telegram Stars handles App Store / Google Play compliance for in-app purchases without per-app StoreKit / Billing integration. Telegram identity — это auth (никаких паролей). Telegram Stars handle’ит App Store / Google Play compliance для in-app покупок без per-app StoreKit / Billing интеграции.
Native wins: cold-start performanceNative выигрывает: cold-start производительность
First open of a Mini App downloads the JS bundle from the publisher’s server (Telegram caches it, but the first-time experience is slower than a pre-installed native binary). Первое открытие Mini App скачивает JS-bundle с сервера паблишера (Telegram кэширует, но первое открытие медленнее, чем у предустановленного native binary).
Mini App wins: cross-platform by defaultMini App выигрывает: cross-platform by default
Same Mini App runs on iOS / Android / Desktop / Web Telegram. One codebase, no platform-specific implementations. Native apps require separate iOS + Android + (often) Web codebases. Один и тот же Mini App работает на iOS / Android / Desktop / Web Telegram. Одна кодовая база, без platform-specific реализаций. Native-приложения требуют отдельные iOS + Android + (часто) Web кодовые базы.
Native wins: independence from TelegramNative выигрывает: независимость от Telegram
If Telegram becomes inaccessible (regional blocking, account suspension, Telegram itself going down), the Mini App is inaccessible by the same mechanism. Native apps don’t inherit that fragility. Wall mitigates by shipping native iOS / Android in 2026 Q3-Q4. Если Telegram становится недоступен (региональный блок, account suspension, сам Telegram уходит), Mini App недоступен тем же механизмом. Native-приложения не наследуют эту хрупкость. Wall митигирует выпуском native iOS / Android в 2026 Q3-Q4.
Trust modelTrust-модель
A Mini App is a third-party web app sandboxed inside Telegram’s WebView. It can: Mini App — это third-party веб-приложение, sandbox’нутое внутри Telegram WebView. Оно может:
- Read your Telegram-supplied identity (ID, first name, language code) via the signed init_data.Читать ваш Telegram-supplied identity (ID, first name, language code) через подписанный init_data.
- Request Telegram Stars payments (you approve in Telegram’s native checkout sheet).Запрашивать платежи в Telegram Stars (вы подтверждаете в нативном checkout-листе Telegram).
- Request a TON Connect transaction approval (you approve in your wallet app).Запрашивать TON Connect transaction approval (вы подтверждаете в wallet-приложении).
- Access its own backend over the public internet (the Mini App’s server, not Telegram’s servers).Обращаться к своему бэкенду через публичный интернет (сервер Mini App, не серверы Telegram).
It cannot: Не может:
- Read your other Telegram chats, contacts, or messages.Читать ваши другие Telegram-чаты, контакты, сообщения.
- Send messages on your behalf without your explicit approval.Отправлять сообщения от вашего имени без явного approval.
- Bypass Telegram Stars or TON Connect approval flows — every payment is gated on your in-app confirmation.Обходить flow approval Telegram Stars или TON Connect — каждый платёж гейтится на вашей in-app конфирмации.
- Forge your Telegram identity — the HMAC-SHA256 signature ties the init_data to your real Telegram session and to the bot’s token, neither of which a third party can fabricate without breaking SHA-256 or stealing the bot token.Подделать ваш Telegram identity — HMAC-SHA256 подпись связывает init_data с вашей реальной Telegram-сессией и с bot-токеном, ни одно из которых третья сторона не может подделать без взлома SHA-256 или кражи bot-токена.
Where Wall sits in the Mini App ecosystemГде Wall находится в Mini App-экосистеме
Telegram has thousands of Mini Apps — games, productivity tools, shopping, finance, social. Wall is one of them, in the social category. Distinct from: У Telegram тысячи Mini Apps — игры, productivity-инструменты, шопинг, финансы, social. Wall — один из них, в social-категории. Отличается от:
- Telegram Wallet (wallet.tg) — the TON crypto wallet built into Telegram itself. NOT Wall.Telegram Wallet (wallet.tg) — TON crypto-кошелёк, встроенный в сам Telegram. НЕ Wall.
- Telegram Channels — native Telegram broadcast channels. Wall is a separate social platform on top of Telegram, not channels.Telegram-каналы — нативные broadcast-каналы Telegram. Wall — отдельная social-платформа поверх Telegram, не каналы.
- Hamster Kombat / Notcoin / similar tap-to-earn Mini Apps — Wall is not a tap-to-earn game.Hamster Kombat / Notcoin / подобные tap-to-earn Mini Apps — Wall не tap-to-earn игра.
- The Wall task manager bot (@the_wallbot) — a separate Kanban productivity tool. NOT this Wall.The Wall task manager bot (@the_wallbot) — отдельный Kanban productivity-инструмент. НЕ этот Wall.
Common questionsЧастые вопросы
Is a Telegram Mini App the same as a Telegram bot?Telegram Mini App — это то же самое, что Telegram-бот?
No. A bot sends messages in a chat (text-only or with inline buttons). A Mini App renders a full web UI inside Telegram — buttons, forms, animations, real-time interactivity. Most Mini Apps pair with a bot: the bot handles payments, notifications, and command-based DMs; the Mini App is the embedded interface. Wall has both — the @wall bot for the system layer, the Mini App at wall.tg for the actual product. Нет. Бот отправляет сообщения в чате (text-only или с inline-кнопками). Mini App рендерит полный веб-UI внутри Telegram — кнопки, формы, анимации, real-time interactivity. Большинство Mini Apps парятся с ботом: бот handle’ит payments, notifications, command-based DMs; Mini App — это embedded-интерфейс. У Wall есть оба — @wall-бот для system-слоя, Mini App на wall.tg для самого продукта.
Can I use a Mini App without Telegram?Можно ли использовать Mini App без Telegram?
Not directly — by definition, a Mini App is hosted inside Telegram. Some Mini App publishers also expose their underlying web app at a separate URL (Wall does: wall.tg opens inside Telegram, but the same domain hosts the public landings, blog, glossary, and docs). The interactive product surface stays Telegram-bound until native apps ship (Wall: 2026 Q3-Q4 roadmap). Напрямую — нет, по определению Mini App хостится внутри Telegram. Некоторые паблишеры также экспонируют базовое веб-приложение по отдельному URL (Wall так и делает: wall.tg открывается внутри Telegram, но тот же домен хостит публичные landings, блог, glossary, docs). Интерактивный product surface остаётся Telegram-bound до выпуска native-приложений (Wall: 2026 Q3-Q4 roadmap).
How does auth work?Как работает авторизация?
Telegram passes a signed init_data payload to the Mini App’s JavaScript context when it opens. The payload contains the user’s Telegram ID, a hash, and metadata. The Mini App’s server recomputes the HMAC-SHA256 of the payload using the bot token as the secret key and rejects mismatches. No password, no JWT, no session secret on the Mini App’s side that can leak. Wall’s implementation: lib/telegram-auth.ts in the public source mirror.
Telegram передаёт подписанный init_data payload в JavaScript-контекст Mini App при открытии. Payload содержит Telegram ID юзера, хеш, метаданные. Сервер Mini App пересчитывает HMAC-SHA256 payload’а с использованием bot-токена как secret key и отклоняет несовпадения. Никакого пароля, JWT, session secret на стороне Mini App, который мог бы утечь. Имплементация Wall: lib/telegram-auth.ts в публичном source mirror.
Is it safe to use Mini Apps?Безопасно ли использовать Mini Apps?
Same trust model as any third-party web app inside Telegram. The Mini App can’t access other Telegram features outside its sandbox (your DMs, your contacts, etc.). It can request payments via Telegram Stars, request a TON Connect approval (which you confirm in your wallet), and read the Telegram-supplied identity. It can’t send messages on your behalf or read your other chats. Specific safety review for Wall is at wall.tg/security. Та же trust-модель, что у любого third-party веб-приложения внутри Telegram. Mini App не имеет доступа к другим Telegram-функциям за пределами sandbox (вашим DMs, контактам, и т.д.). Он может запросить платежи через Telegram Stars, запросить TON Connect approval (который вы подтверждаете в кошельке), и прочитать Telegram-supplied identity. Не может отправлять сообщения от вашего имени или читать другие чаты. Специфический safety review для Wall — на wall.tg/security.
What’s the difference between “Mini App” and “Web App”?В чём разница между “Mini App” и “Web App”?
Telegram’s official terminology: “Mini App” is the user-facing brand, “Web App” is the technical / API name. The same thing. Bots launch a Web App; users see a Mini App. Wall is both names. Официальная терминология Telegram: “Mini App” — это user-facing бренд, “Web App” — техническое / API-название. Одно и то же. Боты запускают Web App; юзеры видят Mini App. Wall — это оба имени.