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.

  1. User taps Earn

    In your Mini App, or after /earn or a ?start= link from your channel opens a private chat with your bot.

  2. 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.

  3. 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.

  4. User completes an offer

    Installs an app, signs up, or reaches a level in a game. The advertiser confirms each completed step.

  5. 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.

  1. Channel postA button to t.me/yourbot?start=earn
  2. Your botReceives /start earn in a private chat
  3. Your serverSigns the offerwall link for that user
  4. Mini App or browserThe user completes offers and earns coins
init-data.js
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 initData with the bot token and never trust initDataUnsafe.

  • Reject old data

    Also compare auth_date with 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 initData on your server with the bot token, check auth_date, and never trust initDataUnsafe or 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.

  1. 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.

  2. 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.

  3. Sign links on your server

    After validating initData, build the link from your own account ID. Open it with openLink on tap, or send it as a URL button in the bot’s private chat.

  4. 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.

Open the full calculator

Estimate your earnings

Slide to your monthly audience

10,000
5001M
  • 8% open the wall
  • 10% finish an offer
  • $1.20 per completion
Estimated monthly earnings $93.12
Per year $1,117.44Per 1,000 users $9.31

Example rates, not a promise. Placement, countries, and devices change every result.

Adjust the assumptions

Guides for Telegram.

Step-by-step guides from the Moonetix Academy.

Add an Offerwall to a Telegram Mini App An offerwall for Telegram Mini App monetization: validate initData on your server, build the signed offerwall link there, open it with Telegram.WebApp.openLink, credit users from postbacks, and check Telegram's developer terms before launch. 10 min read How to Build a Telegram Tap-to-Earn Game (2026) Build a tap-to-earn clicker as a Telegram Mini App with tested Node.js server logic: initData validation, batched taps, server-side energy, anti-autoclicker checks, upgrades, referrals, and monetization with virtual points instead of token promises. 12 min read How to Monetize a Telegram Bot in 2026 Every verified way a Telegram bot can earn: Stars payments and subscriptions, physical goods through payment providers, Telegram ad revenue, affiliate programs, an offerwall, freemium and sponsors, with the rules that shape each one. 10 min read Telegram Stars vs Offerwall: Earn From a Telegram Channel Telegram Stars earn from readers who pay you; an offerwall earns from advertisers and lets readers earn too. How each works, what Telegram's current terms say about Stars, a side-by-side comparison, and how to run both safely. 7 min read How to Monetize a Telegram Channel (Free and Paid) Telegram's own monetization tools, from the 50% ad revenue share to paid posts, Star subscriptions and suggested posts, plus sponsorships, affiliate links, and a rewards program on your own site. 7 min read Best Offerwall for Telegram Mini Apps: What to Check How offerwalls work inside Telegram Mini Apps and bots, the eight things to check before you pick one, the Telegram rules that affect rewards, and a worked example of what a Mini App can earn. 7 min read

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.

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.

Worldwide targeting