Wall Integrations Wall — интеграции и стек

Every external dependency Wall uses, what role each plays, and what would happen if any of them disappeared. Stack transparency — same principle as the /security and /transparency pages. Каждая внешняя зависимость Wall, роль каждой и что произойдёт если любая из них исчезнет. Stack transparency — тот же принцип, что и страницы /security и /transparency.

📱 Telegram platform — primary identity + delivery surfaceTelegram-платформа — основная identity + поверхность доставки

Wall lives inside Telegram as a Mini App. The most entrenched dependency.Wall живёт внутри Telegram как Mini App. Самая укоренённая зависимость.

Telegram Mini App SDK required · docs ↗

Hosts the Wall app inside Telegram. Provides theme, viewport, init_data (signed user identity), MainButton, BackButton, popups.Хостит Wall app внутри Telegram. Даёт тему, viewport, init_data (подписанная identity юзера), MainButton, BackButton, popups.

If gone:Если исчезнет: Wall loses primary surface. Mitigation: web auth via TON Connect (Q2 roadmap), native iOS/Android apps (Q3-Q4). Codebase open-source — runnable independently.Wall теряет основную поверхность. Митигация: web-auth через TON Connect (Q2 roadmap), native iOS/Android приложения (Q3-Q4). Кодбейз open-source — запускаем независимо.

Telegram Bot API required · docs ↗

Powers @wall bot — /start handler with ad-network UTM-tag parsing, inline mode (@wall in any chat), notifications, payment processing, AI agent DMs (/grok, /chatgpt, /deepseek, /claude).Питает бота @wall — /start handler с парсингом ad-network UTM-меток, inline-режим (@wall в любом чате), уведомления, payment processing, DM AI-агентов (/grok, /chatgpt, /deepseek, /claude).

Lib: grammy (Node.js framework). Resilience: long-poll mode + Redis rate-limit fallback to in-memory if Redis is down.long-poll режим + Redis rate-limit fallback на in-memory если Redis недоступен.

Telegram Stars (XTR) primary payment

Native digital currency for Premium / Ultra subscriptions, gifts (8 types, 5–500 ★), paid posts, Pixel Battle bombs. Lives in Telegram's ledger — Wall sees balance changes after Telegram-side payment, never custodies Stars.Нативная цифровая валюта для Premium / Ultra подписок, подарков (8 видов, 5–500 ★), платных постов, Pixel Battle bombs. Живёт в ledger'е Telegram — Wall видит изменения баланса после Telegram-side платежа, не custody'ит Stars.

If gone:Если исчезнет: Pricing in Stars-denominated features needs migration. Crypto-denominated alternatives (TON, CryptoBot, X-Rocket, KassaBot) cover most cases.Pricing Stars-denominated фичей нужна миграция. Crypto-альтернативы (TON, CryptoBot, X-Rocket, KassaBot) покрывают большинство случаев.

⛓️ TON blockchain — non-custodial financial layerTON блокчейн — non-custodial финансовый слой

Wall uses TON for tips, donations, Chain Posts. Non-custodial — wallet-to-wallet only. Full architecture →Wall использует TON для чаевых, донатов, Chain Posts. Non-custodial — wallet-to-wallet только. Полная архитектура →

TON Connect non-custodial bridge · docs ↗

Wallet protocol for connecting Tonkeeper, MyTonWallet, and other TON wallets to Wall. User signs transactions in their own wallet — Wall never sees private keys, never holds funds.Протокол кошелька для подключения Tonkeeper, MyTonWallet и других TON-кошельков к Wall. Юзер подписывает транзакции в своём кошельке — Wall никогда не видит приватные ключи, не держит средства.

Tonkeeper · MyTonWallet primary wallets

Two most-supported TON Connect wallets. Mobile + desktop. Other TON Connect-compatible wallets work too — TON Connect is an open protocol.Два самых поддерживаемых TON Connect кошелька. Mobile + desktop. Другие TON Connect-совместимые кошельки тоже работают — TON Connect это open протокол.

TON API (toncenter.com) read-only

Used for verifying TON transactions, fetching wallet info, querying TON price (for USD-equivalent display). Read-only — Wall doesn't write to the blockchain through this; users sign their own transactions client-side.Используется для верификации TON-транзакций, получения wallet info, запроса TON-цены (для USD-equivalent display). Read-only — Wall не пишет в блокчейн через это; юзеры подписывают свои транзакции client-side.

🤖 AI providers — agents + translation + image genAI-провайдеры — агенты + перевод + image gen

Four AI agents as platform members. Translation chain. Multi-provider for resilience.Четыре AI-агента как участники платформы. Translation chain. Multi-provider для resilience.

xAI (Grok) platform agent · @grok

Powers @grok agent — sharp, funny, irreverent voice. Tag in comments to invoke. Image generation supported.Питает @grok агента — sharp, funny, irreverent voice. Тегайте в комментариях. Поддерживается image generation.

OpenAI (ChatGPT) platform agent · @chatgpt

Powers @chatgpt agent — friendly, helpful, balanced. Image generation via DALL-E 3. Underlying model: GPT-4o.Питает @chatgpt агента — friendly, helpful, balanced. Image generation через DALL-E 3. Underlying модель: GPT-4o.

DeepSeek platform agent + translate · @deepseek

Powers @deepseek agent (technical, analytical voice) + first-tier in translate fallback chain.Питает @deepseek агента (technical, analytical voice) + first-tier в translate fallback chain.

Anthropic (Claude) platform agent · @claude

Powers @claude agent (thoughtful, considered voice). No image generation today; possibly added when Anthropic ships native image gen.Питает @claude агента (thoughtful, considered voice). Без image generation сегодня; возможно добавим когда Anthropic зашипит native image gen.

Translate fallback chain resilience · lib/translate-llm.ts

Auto-translate uses a 4-stage fallback: DeepSeek → Grok → OpenAI → MyMemory (free public API). If one provider fails or returns garbage, the next tries. Result is Redis-cached — repeat translations of the same phrase are free.Auto-translate использует 4-stage fallback: DeepSeek → Grok → OpenAI → MyMemory (бесплатный публичный API). Если один провайдер падает или возвращает мусор, следующий пробует. Результат Redis-кэшируется — повторные переводы той же фразы бесплатны.

Privacy:Приватность: only the specific phrase you tap to translate goes through the chain. Wall doesn't ship full posts/profiles to LLMs.только конкретная фраза, которую тапнул для перевода, идёт через chain. Wall не шипает full посты/профили в LLM.

Leonardo.ai image gen

Used for some image-generation flows beyond DALL-E. Webhook callback verifies submitted-marker for security.Используется для некоторых image-generation потоков вне DALL-E. Webhook callback верифицирует submitted-marker для безопасности.

💳 Payment gateways — beyond Telegram StarsPayment gateways — кроме Telegram Stars

For users who prefer crypto or fiat over Stars. Full comparison →Для юзеров, предпочитающих crypto или fiat вместо Stars. Полное сравнение →

CryptoBot crypto via TG

Telegram-native crypto wallet for sending/receiving TON, BTC, ETH, USDT and others. Used as alternative payment rail for Premium / Ultra subscriptions.Telegram-native crypto-кошелёк для отправки/приёма TON, BTC, ETH, USDT и других. Альтернативный payment rail для Premium / Ultra подписок.

X-Rocket crypto via TG

Second crypto-payment alternative within Telegram. Same role as CryptoBot — competition for fees and reliability.Вторая crypto-payment альтернатива в Telegram. Та же роль что и CryptoBot — конкуренция по комиссиям и надёжности.

KassaBot RUB fiat

For Russian-ruble fiat payments. Important for the RU + UZ + KZ user segments where Stars can be inconvenient to top up.Для рублёвых fiat-платежей. Важно для RU + UZ + KZ сегментов, где Stars может быть неудобно пополнять.

☁️ Infrastructure — storage, CDN, CIИнфраструктура — storage, CDN, CI

Boring but essential. Most replaceable category.Скучно, но essential. Самая replaceable категория.

AWS S3 media storage

Stores user media (images, audio, video). Content-addressed via SHA-256 — same bytes upload twice → one stored copy. Postgres bytea fallback for legacy content.Хранит user media (изображения, аудио, видео). Content-addressed через SHA-256 — те же байты загрузил дважды → одна хранимая копия. Postgres bytea fallback для legacy контента.

Replaceable:Заменяемо: because storage is content-addressed, swap to Backblaze B2 / Cloudflare R2 / DigitalOcean Spaces with one config change.потому что storage content-addressed, swap на Backblaze B2 / Cloudflare R2 / DigitalOcean Spaces одной config-сменой.

Upstash Redis cache + rate limit

Atomic INCR + EXPIRE for rate limiting (per-user/per-route). Click-to-/start bridge for ad-network attribution. Translate-result cache.Атомарный INCR + EXPIRE для rate-limiting'а (per-user/per-route). Click-to-/start bridge для ad-network атрибуции. Translate-result cache.

Resilience:Resilience: if Upstash is unreachable, rate-limit falls back to in-memory per-PM2-worker (with stats tracker so we know fallback fired). Not perfect but doesn't crash.если Upstash недоступен, rate-limit fallback на in-memory per-PM2-worker (со stats tracker — знаем что fallback fired). Не perfect, но не падает.

Cloudflare CDN + DDoS

Protects all wall.* domains from DDoS at the edge. Caches /api/product (60s TTL) absorbing most traffic. DNS proxy with strict-origin TLS.Защищает все wall.* домены от DDoS на edge. Кэширует /api/product (60s TTL), абсорбируя большую часть трафика. DNS-прокси со strict-origin TLS.

PostgreSQL primary DB · Prisma 6 ORM

22+ models. Self-hosted on prod VPS. Migrations are additive-only by default; DROP requires explicit owner approval (CLAUDE.md hard rule).22+ моделей. Self-hosted на prod VPS. Миграции additive-only по умолчанию; DROP требует explicit owner approval (CLAUDE.md hard rule).

GitHub Actions CI/CD · repo ↗

Two-branch flow: dev → bapp.wall.lu staging auto-deploy, main → app.wall.lu production. Hard CI gates: tsc --noEmit 0 errors + npm run build clean + i18n-strict + notifications-guard.Two-branch flow: dev → bapp.wall.lu staging auto-deploy, main → app.wall.lu production. Hard CI gates: tsc --noEmit 0 errors + npm run build clean + i18n-strict + notifications-guard.

FAQFAQ

What happens if Telegram disables Mini Apps tomorrow?Что если Telegram отключит Mini Apps завтра?

Wall would lose its primary surface but not its data. Open-source codebase at github.com/gmediaorg/wall-public. TON-based assets (Chain Posts, wallet bindings) survive on-chain. Web auth via TON Connect (Q2 roadmap) gives a non-Telegram entry path. Stars-denominated balances would need parallel withdrawal — already planned for beta exit.Wall теряет основную поверхность но не данные. Open-source кодбейз на github.com/gmediaorg/wall-public. TON-assets (Chain Posts, wallet bindings) выживают on-chain. Web-auth через TON Connect (Q2 roadmap) даёт non-Telegram entry path. Stars-balances требуют parallel withdrawal — уже запланировано для beta exit.

Why use multiple AI providers instead of just one?Зачем использовать несколько AI-провайдеров вместо одного?

Resilience and personality. Four AI agents have distinct voices — users tag the agent that fits their question. Translate uses a fallback chain (DeepSeek → Grok → OpenAI → MyMemory) so a single provider outage doesn't break translation. Single-provider dependency would mean an AI vendor outage takes the platform down.Resilience и personality. Четыре AI-агента имеют distinct voices — юзеры тегают того, кто подходит. Translate использует fallback chain (DeepSeek → Grok → OpenAI → MyMemory) — outage одного провайдера не ломает перевод. Single-provider зависимость = AI vendor outage кладёт платформу.

Does Wall send my data to external AI providers?Wall отправляет мои данные внешним AI-провайдерам?

Only when you explicitly invoke an AI agent. Tagging @grok in a comment sends ONLY the parent post + your comment to xAI for response generation. Wall doesn't ship your full feed, profile, or DMs. Translate works similarly — only the specific phrase you tap. Full data-handling stance at /security.Только когда вы явно invoke AI-агента. Tag @grok в комментарии отправляет ТОЛЬКО parent post + ваш comment в xAI. Wall не шипает полный feed, profile или DM. Translate так же — только конкретная фраза, которую вы тапнули. Полная data-handling позиция на /security.

What's the most replaceable integration?Какая интеграция самая заменяемая?

Storage backend (S3) — content-addressed via SHA-256, swap to B2/R2/Spaces with one config change. Most ENTRENCHED is Telegram itself — entire identity layer + payment rail + audience. Web auth via TON Connect (Q2) and native iOS/Android (Q3-Q4) reduce that.Storage backend (S3) — content-addressed через SHA-256, swap на B2/R2/Spaces одной config. Самая УКОРЕНЁННАЯ — сам Telegram — identity layer + payment rail + audience. Web-auth через TON Connect (Q2) и native iOS/Android (Q3-Q4) уменьшают это.

Can third parties integrate WITH Wall?Могут ли third parties интегрироваться С Wall?

Today: read-only via /api/product (live stats), /api/branches (Branch metadata), /r/<slug> (referral redirector). Phase 4 of the Ad Network roadmap brings a public REST API with API-key auth. For specific integration use cases now, contact us with [business] subject — early-access keys case-by-case.Сегодня: read-only через /api/product (live stats), /api/branches (Branch metadata), /r/<slug> (referral redirector). Phase 4 Ad Network roadmap — публичный REST API с API-key auth. Для специфических integration use cases сейчас — контакт с [business] subject — early-access keys case-by-case.

Want to integrate WITH Wall? Хочешь интегрироваться С Wall?

Use [business] subject prefix on /contact with your use case. Early-access API keys issued case-by-case until Phase 4 ships the public REST API. Используй [business] subject-префикс на /contact с use case'ом. Early-access API-ключи выдаются case-by-case до Phase 4 публичного REST API.

Contact us Связаться