Telegram Mini App development for crypto products: a 2026 guide
How to build a crypto Telegram Mini App: the TON-only rule, TON Connect, Stars vs on-chain payments, distribution that lasts, and the platform limits to plan around.

Telegram Mini App development means building a web app (HTML, CSS and JavaScript) that opens inside Telegram through a bot, with access to the user's Telegram identity, payments and native UI controls. For crypto products the rules are strict: Telegram's developer terms require any blockchain features in a Mini App to run exclusively on TON, with wallets connected through TON Connect, and digital goods must be sold for Telegram Stars. If your product lives on Ethereum or Solana, read the policy section below before you plan anything.
Why teams build on Telegram
Distribution. Pavel Durov said in March 2025 that Telegram had more than 1 billion monthly active users. A Mini App opens from a link in a chat or channel, with no install and no account creation, and users arrive already identified. Tether also launched USDT on TON in April 2024, which gave Mini Apps a dollar stablecoin native to the chain Telegram later made mandatory.
The catch is that reach and retention are different things. Hamster Kombat is the case everyone cites: its monthly players fell from about 300 million to roughly 41 million within weeks of its token airdrop in late 2024. Telegram makes it cheap to acquire users. Keeping them is still your job.
How a Mini App works
A Mini App is a website loaded in Telegram's in-app web view, launched from a bot. The Mini Apps documentation lists the launch points: a main Mini App on the bot's profile, direct links like t.me/yourbot/appname, inline and keyboard buttons, the menu button and more. The attachment menu is limited to major Telegram Ad Platform advertisers in production.
The pieces you build:
- Frontend. Any web stack. We default to React with Vite, plus Telegram's JavaScript bridge for theme colors, back button, main button, haptics, fullscreen and home screen shortcuts.
- Bot. Registered with @BotFather, sends invoices and notifications, and holds the token you use to verify users.
- Backend. Verifies the user, stores state, talks to TON and to payment webhooks.
- Contracts (optional). TON smart contracts if you issue tokens, NFTs or hold funds.
Authenticate users properly
Telegram passes initData to your app. Your backend must check its hash with HMAC-SHA-256 using a key derived from your bot token, check auth_date to reject stale data, and never trust initDataUnsafe on its own. Skip this and anyone can impersonate any user by editing a request.
Storage and platform limits
Plan around these from the official docs:
- CloudStorage holds up to 1,024 keys per user per bot, with values up to 4,096 characters. Good for preferences, not for game state.
- DeviceStorage gives up to 5 MB per user locally, and SecureStorage holds up to 10 items in the iOS Keychain or Android Keystore.
sendDatapayloads are capped at 4,096 bytes and only work for apps opened from a keyboard button.- You run inside a web view. Heavy 3D, long background tasks and big bundles hurt on low-end Android phones, which is a large share of Telegram's audience. Keep the first load small.
The TON rule, in detail
Since January 2025, Telegram's Bot Platform Developer Terms say in section 7 that Mini Apps with crypto functionality must be based exclusively on TON. In practice:
| Rule (section 7) | What it means for your build |
|---|---|
| Tokens and assets must be created and distributed on TON | Your Mini App cannot airdrop or sell an ERC-20 or SPL token |
| Wallet features must use TON Connect | No WalletConnect, MetaMask or Phantom flows inside the Mini App |
| Multichain wallets may manage other chains' assets only inside their own interface | A wallet app can show ETH balances; a game cannot route players to Ethereum |
| No promoting non-TON crypto-assets or linking to platforms that do | Your Mini App cannot be a funnel to your EVM dApp |
| Exception: linking to a licensed exchange for your own TON-based token | You can point users to where your TON token trades |
Telegram set a migration deadline of 21 February 2025 for existing apps. The terms say the grace period does not apply to new blockchain initiatives.
Our view: if your product is an EVM or Solana protocol, a Telegram Mini App is not a front door for it. You can still use Telegram for a bot that sends alerts, or a non-crypto Mini App, but anything that moves tokens has to be TON. If Telegram distribution is the core of your strategy, build the product on TON from the start.
Wallets: TON Connect
TON Connect links your app to a user's TON wallet over an encrypted session, and your app never touches keys. The React setup is short: install @tonconnect/ui-react, host a tonconnect-manifest.json with your app's name, URL and icon, wrap the app in TonConnectUIProvider, and drop in TonConnectButton. Set the return URL so users come back to the Mini App after approving in their wallet app.
Things that trip teams up:
- Wallet app switching. On mobile, approving a transaction often opens a separate wallet app. Test the round trip on both iOS and Android, and design for users who never come back.
- Asynchronous transactions. TON contracts communicate through asynchronous messages, so a single user action can span several transactions and blocks, so "sent" and "done" are different states. Show progress and confirm through your backend or an indexer.
- Jettons, not ERC-20. TON tokens follow the Jetton standard (TEP-74), where each holder has their own jetton wallet contract. Transfers, balances and indexing work differently from EVM, so do not assume your Solidity team can port their mental model in a week.
For wallet design choices beyond TON, see our crypto wallet development guide.
Payments: Stars, TON and stablecoins
There are three payment paths, and the product type decides which one you must use.
| What you sell | Required rail | Notes |
|---|---|---|
| Digital goods and services (premium features, in-game items, subscriptions) | Telegram Stars | Currency XTR in sendInvoice; refunds through refundStarPayment |
| Physical goods | Telegram's supported payment providers | Separate flow from Stars |
| On-chain activity (token swaps, NFT mints, deposits, transfers) | TON and TON-based tokens such as USDT on TON | Through TON Connect |
The Stars payments docs are blunt: if you sell digital goods with other currencies or providers, Telegram cannot show your bot or Mini App to mobile users. The developer terms set the economics. Developers can receive 0.013 USD per Star as a reward, or 0.02 USD per Star in advertising credit, Stars in your balance are not your property, and Telegram can withhold them for refunds or abuse. Model your pricing with those numbers, not the price users pay for Stars.
The grey zone is a product where the "digital good" is also on-chain, such as an NFT item sold for TON. Get the classification reviewed before launch, because the penalty is removal from mobile.
If you want stablecoin flows outside Telegram as well, our guide to accepting stablecoin payments covers processors and direct integrations.
Distribution that lasts
Mechanics that help:
- Deep links with parameters.
t.me/yourbot?startapp=ref123passesstart_paramto your app, which gives you referral tracking without extra infrastructure. - Home screen shortcuts and fullscreen. Bot API 8.0 added
addToHomeScreen()andrequestFullscreen(), which make a Mini App feel closer to a native app. - Channels and groups. Your own channel is the cheapest retention tool you have. Send fewer, better notifications through the bot; users block spammy bots fast.
Mechanics that hurt long term: tap-to-earn loops with a promised airdrop. They produce huge user counts, extractive users and a cliff on token day. If you use points, tie them to actions that have value for you (a trade, a referral who trades, a completed quest with a deposit) and say plainly what they are worth.
Our UX guide for Web3 founders has more on onboarding flows that convert.
Build plan and planning estimates
These ranges are our planning estimates for a small senior team.
| Scope | What it includes | Timeline |
|---|---|---|
| Non-crypto Mini App with Stars | Frontend, bot, backend with initData auth, Stars invoices | 4 to 8 weeks |
| Crypto Mini App on existing TON contracts | Above plus TON Connect, transaction flows, indexer integration | 8 to 12 weeks |
| Mini App with custom TON contracts | Above plus Jetton or NFT contracts, tests, external review | 12 to 20 weeks |
| Game or social app with live economy | Above plus economy design, anti-bot work, live ops | 4 to 9 months |
Steps we follow:
- Confirm the product fits the TON rule and the Stars rule. Write down which rail each paid feature uses.
- Build the shell: bot, Mini App frontend, backend with initData verification, theme and safe-area handling.
- Add TON Connect and the smallest on-chain flow, end to end on testnet.
- Add Stars payments for digital features and test refunds.
- Write and test any contracts, then get them reviewed. Our smart contract audit checklist applies to TON too, with TON-specific issues like bounced messages and gas handling added.
- Load test with bots that behave like farmers, not like your best users.
- Launch to your own channel first, then open referrals.
If the Mini App is a game, read our blockchain game development guide for economy pitfalls before you design rewards.
FAQ
How much does it cost to build a Telegram Mini App?
In our planning estimates, a simple Mini App with Stars payments takes 4 to 8 weeks of a small team. A crypto Mini App with custom TON contracts and a review takes 12 to 20 weeks.
Can a Telegram Mini App use Ethereum or Solana?
Not for crypto features. Telegram's developer terms require Mini Apps with crypto functionality to use TON exclusively and to connect wallets through TON Connect. Multichain wallets may show other chains' assets only inside their own interface.
Do I have to use Telegram Stars for payments?
Yes for digital goods and services. Physical goods use Telegram's payment providers, and on-chain activity uses TON. Selling digital goods through other rails can get your app hidden from mobile users.
What is TON Connect?
TON Connect is the protocol that links a dApp to a TON wallet over an encrypted session so users can sign transactions. In Telegram Mini Apps it is the required way to connect wallets.
What language are Telegram Mini Apps written in?
The Mini App is a normal web app, so JavaScript or TypeScript with any framework. TON smart contracts are written in TON-specific languages such as Tact, FunC or Tolk.
How do I verify users in a Telegram Mini App?
Send initData to your backend and validate its hash with HMAC-SHA-256 using a key derived from your bot token, then check auth_date. Never trust the unsigned initDataUnsafe object.
Planning a Mini App?
We build Telegram Mini Apps, TON contracts and the backends behind them, and we have built blockchain actions inside social feeds before with Snappy. Get in touch and we will check your idea against Telegram's rules before you spend money on it.
