Key takeaways
- Set up a Main Mini App in @BotFather with media previews first: it adds the Launch app button, puts you in the Apps tab of search for past users, and is a condition for being featured in Telegram's Mini App Store.
- Give every link you share its own startapp tag, read it from validated initData on your server, and compare sources by day 7 and day 30 retention, not by opens.
- Reward referrals only when the invited user does something real, cap them, and never message users who did not ask, because Telegram's developer terms forbid unsolicited bot messages and social growth manipulation.
How do you grow a Telegram Mini App?
To grow a Telegram Mini App, first make it easy to find inside Telegram: set it as your bot’s Main Mini App in @BotFather, upload media previews, and accept Telegram Stars so it can be considered for the Mini App Store. Then build sharing into the app with shareMessage and direct links that carry a startapp source tag, add a Stars affiliate program or a capped referral reward, buy Telegram Ads or channel posts once the app keeps users, and bring people back with daily reasons to open it. Measure every source by how many users are still active after 7 and 30 days.
If you are still building the app, start with How to make a Telegram Mini App. The Telegram rules and features below were checked on October 22, 2026, against Telegram’s Mini Apps documentation and its Bot Platform Developer Terms.
Growth channels for Mini Apps compared
Most Mini Apps that grow use several of these at once.
| Channel | Cost | Best for | Main risk |
|---|---|---|---|
| Main Mini App and media previews | Free | Turning profile visits into opens, Apps tab visibility | Weak previews that do not show the app |
| Mini App Store featuring | Free, not guaranteed | Large bursts of new users | Planning around a feature you may never get |
In-app sharing (shareMessage, inline mode, stories) | Free | Viral loops between friends and groups | Share prompts that feel forced |
| Stars affiliate program | A share of Stars revenue | Channels and users promoting you for commission | Only Stars purchases of digital products count |
| Your own referral reward | In-app currency or perks | Users inviting friends | Fake accounts farming the reward |
| Telegram Ads | Paid | Reaching readers of specific public channels | Ads rejected for policy reasons |
| Paid posts and cross-promotion | Paid or swap | Channels in your niche | Channels whose subscribers do not read |
Telegram’s own discovery: Main Mini App, Apps tab, and Mini App Store
Telegram’s documentation describes no store submission form. Discovery comes from a few built-in surfaces, and almost all of them depend on one setting.
Set up your Main Mini App
In @BotFather, set your Mini App as the bot’s Main Mini App. According to the Mini Apps documentation, this does three things:
- A Launch app button appears on the bot’s profile, so anyone who taps your bot’s name can open the app in one tap.
- You can upload media previews (demo videos and screenshots) to the profile, in several languages, shown by each user’s app language.
- The bot shows in the Apps tab of search for users who have launched it, so returning users find you without digging through chats.
Treat the previews like store screenshots: show the core loop in the first seconds, use real screens, and translate them for your largest language groups.
The Telegram Mini App Store
The documentation says successful bots that enable a main Mini App and accept payments in Telegram Stars may be featured in the Telegram Mini App Store, and that high-quality media on the bot’s profile and following Telegram’s design guidelines improve the chances. Telegram’s developer terms add that it chooses which apps to feature at its sole discretion. So: Main Mini App on, previews uploaded, at least one real Stars product, and the design guidelines followed.
Telegram Apps Center is a different thing
Many guides mention the Telegram Apps Center (@tapps_bot). Its own bot page describes it as a community-driven catalog of third-party apps, not affiliated with Telegram Messenger, and when we checked on October 22, 2026, its website said a new version was being built. A listing there can help, but it is not Telegram’s Mini App Store.
Build sharing into the app
A Mini App is shared most when sharing is part of using it: sending a score, a result, or an invite to a game.
shareMessage and prepared messages
Since Bot API 8.0, Telegram.WebApp.shareMessage opens a dialog that lets the user send a message your bot prepared to any chat. Your server first calls the Bot API method savePreparedInlineMessage for that user, which returns a prepared message with an ID and an expiration date. The Mini App passes the ID to shareMessage, and the shareMessageSent and shareMessageFailed events tell you what happened. Put a direct link button with a source tag in the prepared message, so you know where the friend came from.
Inline mode and switchInlineQuery
If your bot supports inline mode, switchInlineQuery inserts your bot’s username and a query into a chat’s input field, optionally after the user picks a chat of a given type (users, bots, groups, or channels). It suits apps where users create something, such as a poll or a challenge, to post in a group.
Stories and the home screen
shareToStory opens the story editor with media you supply. addToHomeScreen asks the user to add a home screen shortcut. Ask after a good moment, such as a first win, not on first launch.
Make the shared message worth tapping
“Join me” is easy to ignore. “I finished the daily puzzle in 41 seconds, beat that” with one button gives the friend a reason to tap. Test two or three versions, each with its own source tag, and keep the one that brings users who stay.
Tag every link with startapp
A Mini App can be opened by direct link in the format https://t.me/botusername?startapp=value for the Main Mini App, or https://t.me/botusername/appname?startapp=value for a named app. The documentation says a non-empty startapp value reaches the app as start_param and in the tgWebAppStartParam parameter. Direct link launches also include chat_type (private chat, group, supergroup, or channel).
Because start_param is part of the signed initData, your server can trust it after it validates initData with your bot token, the same check described in Add an offerwall to a Telegram Mini App. Store the first value per user and never overwrite it.
A source tag plan
| Source | Example tag | What it tells you |
|---|---|---|
| Your own channel post | ch_main_p120 | Which post brought users |
| Partner channel | xp_gamenews_oct | Which swap or paid post worked |
| Telegram Ads | ads_quiz_v2 | Which ad text or channel set |
| User referral | ref_k7f2q | Who invited whom, with a code, not a Telegram user ID |
| Shared result message | share_score | How many users each share format brings |
The documentation we read does not state a length or character limit for startapp. To be safe, we keep tags short and use only letters, digits, and underscores, within the 64 characters Telegram documents for bot start links. Never put usernames or phone numbers in a tag. Click IDs and sub IDs explains the same idea for offer tracking.
Referral loops and affiliate programs, with limits
Telegram’s Stars affiliate programs
If your Mini App sells digital products for Stars, you can start an affiliate program from the app’s profile. Telegram’s affiliate programs page explains the rules: only the owner account can create or change the program; you set a commission rate and period; users and channels find programs under Settings, My Stars; and a referral counts only when someone starts your app for the first time through the affiliate’s link. The rate and period can only be raised later, so start modestly.
Channel owners in your niche promote you because they earn from it, and you pay only when referred users spend Stars. Affiliate marketing on Telegram covers the program from the affiliate’s side.
Your own invite rewards
Many Mini Apps also reward users in their own currency for inviting friends. A reward paid per join is the easiest thing in your app to farm with fake accounts, so design it so they earn nothing:
- Pay the inviter only when the invited user does something real, such as playing on three different days or finishing a first level, not when they open the app.
- Cap rewards per inviter per day and in total, and hold them for a few days before they can be spent.
- Watch for clusters: many invitees on one device, or invitees who never return after the reward.
- Keep the reward inside your app. Rewards that turn into cash or crypto attract organized farms.
How to prevent referral fraud goes deeper on detection, and Referral program design covers reward sizes and two-sided rewards.
Referral setups that break Telegram’s rules
Telegram’s developer terms forbid bots from spamming users with unsolicited messages (section 5.2(b)) and from misleading users into actions in pursuit of an unachievable outcome, naming MLM or ponzi schemes and social growth manipulation as examples (section 5.2(d)). Multi-level referral payouts, “invite 50 friends to unlock your airdrop” with no real token, and rewards for joining channels fall into that territory. Mini Apps that work with crypto must use TON, and section 7.4 forbids promoting cryptoassets that are not based on TON.
Telegram Ads, paid posts, and cross-promotion
Telegram Ads
Telegram’s ad platform places short sponsored messages (up to 160 characters, with a Telegram link) in public broadcast channels you choose. Its Ad Policies and Guidelines require promoted bots to have a profile image and a complete description, to respond to commands properly on mobile and desktop, and to offer a user experience consistent with the Bot Platform. Empty or abandoned bots are not allowed as destinations.
Read the prohibited content list before you write the ad. It bans real-money gambling and, in its list of prohibited practices, “incentivized or automated clicks, including requests to perform actions on websites or services, complete online surveys”. If your Mini App is mainly about earning rewards for tasks, lead with the game or tool itself in the ad, and expect closer review.
If your bot earns Stars, Telegram’s Stars payments documentation says you can use them to place Telegram Ads for that bot.
Paid posts and swaps in channels
A post in a channel your users already read is often the cheapest start. Judge the channel by views per post, not subscribers, and give each one its own startapp tag. If you run your own channel, How to get Telegram channel subscribers covers growing it, and a pinned post with your direct link turns readers into users.
Retention: give people a reason to come back
Growth that leaks is expensive. Every user you pay for or win through a share is worth more if they come back next week, so every growth channel on this page works better once retention is in place.
Daily reasons to open the app
Daily check-in rewards, streaks that forgive one missed day, a daily challenge, and events with an end date give users a reason to return. Rewards app retention covers how to size bonuses and streaks so they do not wreck your economy. If you are building a clicker, How to build a Telegram tap-to-earn game shows a design that holds up after the first week.
Bot messages within Telegram’s rules
Remind only users who expect it. Mini Apps can call requestWriteAccess to ask permission for the bot to message the user, and the launch data includes allows_write_to_pm when the user has allowed it. Ask at a natural moment (“Tell me when my reward is ready”).
The Bots FAQ sets the limits: about one message per second in a single chat, 20 messages per minute in a group, and about 30 messages per second for bulk notifications. Paid broadcasts raise that to 1,000 per second at 0.1 Stars per message above the free amount, and need at least 100,000 Stars on the bot’s balance and 100,000 monthly active users. The developer terms forbid using increased limits to spam users. One useful, personal message (your friend beat your score) beats a daily broadcast nobody asked for.
Measure growth by cohort, not by opens
Group users by the week they first opened the app and by their first startapp source, then track the share still active on day 1, day 7, and day 30. What is retention rate? explains the calculation, and What is churn rate? covers the other side.
Illustrative example: two sources, one winner
A paid post in a large channel (xp_bigchannel) brings 2,000 new users; 6% are active on day 7, so 120 users. A shared score message (share_score) brings 400 new users; 25% are active on day 7, so 100 users. By opens the paid post looks five times better; by retained users it is barely ahead, and shares cost nothing. Sample figures only, to show the method, not benchmarks.
Also track share rate, invites that pass your activation rule, and revenue per retained user. The LTV calculator shows what a retained user is worth, and so what you can pay per new user.
What not to do
Growth tactics that break Telegram’s rules or get accounts limited
Mass DMs or bot broadcasts to people who never opened your app, dropping links in other people’s public groups, adding users to channels without consent, bought members or fake accounts to look popular, rewards for joining or boosting channels, airdrops or token promises you cannot deliver, crypto that is not TON-based, and trying to get around Telegram’s rate limits. Telegram’s spam FAQ says unsolicited ads, links, and invite links draw reports, and reported accounts get limited.
Two quieter mistakes: asking for permissions or shortcuts before the user has seen any value, and spending on ads before day 7 retention is steady.
When the app has users, How to monetize a Telegram bot compares Stars, ads, and affiliate income, and Adsgram alternatives covers ad networks for Mini Apps.
Letting users earn your Mini App currency with Sharklio
Sharklio is a pay-per-result affiliate network for publishers, including Telegram Mini Apps and bots. Your server signs an offerwall link for each user, the wall shows your currency name and icon with your own rate and split, and every credit and reversal reaches your server as a signed postback. You can pass the user’s first startapp source as a sub ID and see in reports which growth channel brings users who complete offers. Offers depend on each user’s country and device, users on VPNs, proxies, Tor, or data center networks are blocked, and end users must be at least 16. Every publisher application is reviewed by hand. See how the wall works, or get in touch with questions about your Mini App.
Frequently asked questions
How do I get my Mini App into the Telegram Mini App Store?
There is no documented application form. Successful bots that enable a main Mini App and accept Telegram Stars may be featured, and good profile media and following the design guidelines help. Telegram decides at its sole discretion.
Is the Telegram Apps Center official?
No. Its bot page describes it as a community-driven catalog of third-party apps, not affiliated with Telegram Messenger. Telegram’s own featured catalog is the Mini App Store.
How do I track where Mini App users come from?
Add a startapp value to every link you share, such as ?startapp=ads_quiz_v2. It reaches your app as start_param inside the signed initData, so your server can validate it and store it as the user’s first source.
How do Telegram Mini App referral links work?
Put a referral code in the startapp parameter, or use Telegram’s Stars affiliate programs, where affiliates earn a commission on Stars that referred users spend during the period you set. In Telegram’s programs, a referral counts only when the person opens the app for the first time through the affiliate’s link.
Can I promote my Mini App with Telegram Ads?
Yes, ads can link to bots. The bot needs a profile image and a complete description, must work on mobile and desktop, and the ad must follow Telegram’s Ad Policies, which ban gambling and incentivized actions.
Can my bot send daily reminders to Mini App users?
Yes, to users who allowed it, for example through requestWriteAccess. Telegram’s developer terms forbid unsolicited messages, and the Bots FAQ limits bulk sending to about 30 messages per second unless you enable paid broadcasts.