Telegram
An offerwall for your Telegram Mini App and bot.
Your users earn your coins by completing offers, and you earn per completed offer. A Mini App is a web page, so there is no SDK: your server signs each user's link and credits coins from signed postbacks.
- No SDKA Mini App is a web page
- 3,000+ offersMatched by country, device
- SignedPostback for every credit
How do you add an offerwall to a Telegram Mini App or bot?
Send the Mini App’s initData to your backend and validate it with your bot token. Map the Telegram user to an account ID of your own, and build the signed offerwall link on your server. The Mini App opens that link with Telegram.WebApp.openLink when the user taps Earn, or a bot sends it as a button in the private chat. Your backend credits coins only when a signed postback arrives, and removes them on a reversal.
How it works for Telegram.
From the first click to the reward in your currency, in five steps.
User taps Earn
In your Mini App, or after /earn or a ?start= link from your channel opens a private chat with your bot.
Your server checks the user
It validates initData with your bot token, finds the user’s account, and signs an offerwall link for that account ID.
The wall opens
openLink opens it in the user’s browser while the Mini App stays open. Offers match the user’s country and device.
User completes an offer
Installs an app, signs up, or reaches a level in a game. The advertiser confirms each completed step.
Coins land in the balance
A signed postback reaches your server, which credits your coins once per transaction ID. The Mini App reloads the balance.
Why Telegram owners add Moonetix.
One pay-per-result affiliate network, built around your currency and your users.
No SDK for Mini Apps
A Mini App is your own web page, so the signed offerwall link is the whole integration. It works the same in a plain bot.
Your coin, your rate
Set the currency name and icon, units per $1, user split and rounding for each app, so offers pay in the same coins your tap game or bot already uses.
Built for server-side balances
Every credit and every reversal reaches your server as a signed postback. Coins never pass through the Mini App, so edited clients cannot add them.
Fits next to Stars
Users who pay can buy coins with Stars, and users who never pay can earn the same coins through offers. See Stars vs an offerwall.
See which post earned
Put a source in your
?start=payload, pass it on as a sub ID, and see clicks, conversions and reversals by sub ID, country and offer.Fraud filters on the wall
Users on VPNs, proxies, Tor or data center networks are blocked from the wall, and a traffic quality report shows how your users convert.
From a channel post to a private link.
Signed links belong to one user, so they never go in a public post. The post opens your bot, and the bot sends each user their own link.
- Channel postA button to t.me/yourbot?start=earn
- Your botReceives /start earn in a private chat
- Your serverSigns the offerwall link for that user
- Mini App or browserThe user completes offers and earns coins
import crypto from 'node:crypto';
export function isValidInitData(initData, botToken) {
const params = new URLSearchParams(initData);
const hash = params.get('hash');
if (!hash) return false;
params.delete('hash');
const dataCheck = [...params.entries()]
.sort(([a], [b]) => (a < b ? -1 : 1))
.map(([k, v]) => `${k}=${v}`)
.join('\n');
const secret = crypto.createHmac('sha256', 'WebAppData')
.update(botToken).digest();
const expected = crypto.createHmac('sha256', secret)
.update(dataCheck).digest('hex');
return expected.length === hash.length &&
crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(hash));
}Check initData on your server
Telegram’s Mini Apps docs say to validate
initDatawith the bot token and never trustinitDataUnsafe.Reject old data
Also compare
auth_datewith the current time, so an old copy of the data cannot be replayed.Then sign the wall link
Use your own account ID for that Telegram user in the signed offerwall link, and credit coins only from postbacks.
Source: Telegram Mini Apps documentation, checked on November 5, 2026. Full guide: offerwall in a Telegram Mini App.
Play by Telegram's rules.
We found no Telegram rule that names offerwalls either way, so read this as rules that apply, not as approval. Telegram can change its terms and remove a bot or Mini App.
Do
- Validate
initDataon your server with the bot token, checkauth_date, and never trustinitDataUnsafeor a user ID the client sends. - Link channel posts to your bot with a
?start=parameter, and let the bot reply in the private chat with that user’s own signed link. - Publish a privacy policy in @BotFather that says IP address, device and offer activity reach the offerwall provider, as the developer terms ask.
- Sell coins or boosts inside the bot or Mini App only for Telegram Stars. Earning coins through offers is not a sale, but selling them is.
Do not
- Never post a signed offerwall link in a channel or group. It credits whoever it was built for, so each user must get their own link in private.
- Do not broadcast offers to everyone who ever pressed Start. Telegram’s developer terms forbid spamming users with unsolicited messages.
- Do not promise a token airdrop or income users cannot reach. Section 5.2 forbids misleading users into actions for an unachievable outcome.
- Do not link Mini App users to non-TON crypto. Section 7.4 forbids promoting cryptoassets not based on TON, so hide such offers on your Offers page.
Sources, checked on November 5, 2026: Telegram Bot Platform Developer Terms, Telegram Mini Apps documentation, Telegram bot deep linking. Platform rules change, so check them before you launch.
Set it up in four steps.
Apply as a publisher
Apply and tell us about your Mini App, bot or channel. Every application is reviewed by hand, and once you are approved, apps you add are live right away.
Add your Mini App or bot
Set your coin name and icon, conversion rate, user split and wall design in the live preview. Copy the App ID and link hash salt into your server config, never into the Mini App.
Sign links on your server
After validating
initData, build the link from your own account ID. Open it withopenLinkon tap, or send it as a URL button in the bot’s private chat.Credit from postbacks, then test
Save your postback URL, credit on status 1 once per transaction ID, reverse on status 2. Then test end to end from a normal connection.
What could it earn?
Slide to your audience and adjust the assumptions. The rates are an example, not a promise: placement, countries, and devices change every result.
Guides for Telegram.
Step-by-step guides from the Moonetix Academy.
Telegram questions
What telegram owners ask before they add Moonetix.
Still have a question? Contact us
Does Telegram allow offerwalls in Mini Apps?
We found no rule in Telegram’s developer or Mini App terms that names offerwalls either way. Rules on privacy, spam, misleading users, Stars payments and TON-only crypto do apply, so read the current Bot Platform Developer Terms before launch.
Do I need an SDK for a Telegram Mini App offerwall?
No. A Mini App is a web page, so your server signs the offerwall link and the Mini App opens it. Moonetix’s SDKs are for native Android, iOS, Unity, Flutter and React Native apps.
Can a Telegram bot without a Mini App use an offerwall?
Yes. An /earn command can reply in the private chat with a URL button that carries the user’s signed link, and the wall opens in the browser. Your bot backend stores the balance and credits it from postbacks.
How do I monetize a Telegram channel with an offerwall?
A channel cannot host the wall. Link your posts to your bot with a ?start= parameter, and the bot sends each reader their own signed link. Monetize a Telegram channel covers Telegram’s own programs too.
How does a tap-to-earn game use an offerwall?
Offers pay in the same points players tap for, credited by your server from signed postbacks. Keep points virtual with clear terms rather than promising a token, as the tap-to-earn guide explains.
Should I use openLink or an iframe?
openLink opens the wall in the user’s browser and keeps the Mini App open. An iframe only loads on the website registered for your app, and Telegram web clients frame Mini Apps, so it can fail there.
Can I sell coins for Stars and also offer an offerwall?
Yes, many bots do both. Digital goods sold in a bot or Mini App must be paid in Telegram Stars, while coins earned through offers are credited from the postback into the same balance.
Why do some users see no offers?
Offers depend on the user’s country and device, and users on VPNs, proxies, Tor or data center networks are blocked from the wall. End users must be at least 16, with parental permission under 18.
Other industries
- AppsFitness, AI, quiz and utility apps
- GamesMobile, Unity and HTML5 games
- Game serversMinecraft, Rust, Hytale and more
- DiscordServers, economy bots and /earn commands
- CommunitiesForums, member sites and fan communities
- Rewards sitesGPT, cashback, faucet and reward apps
- Web apps & AISaaS, AI tools and freemium web apps
- ExtensionsChrome, Edge, Firefox and Electron apps
Turn your traffic into earnings.
Create a free publisher account and earn from every offer your users complete on your website, app, game, or community.





