How to Monetize a Telegram Bot in 2026

Key takeaways

  • Anything digital a bot sells inside Telegram must be paid in Telegram Stars, which Telegram values at 0.013 USD per Star in rewards, holds for up to 21 days, and pays out through Fragment.
  • Physical goods and real-world services are the exception: they go through third-party payment providers, Telegram takes no commission, and disputes are yours to settle.
  • Users who will never pay can still fund your bot through Telegram ad revenue or an offerwall that pays them in your bot currency, as long as you never reward them for interacting with Telegram ads.

How to monetize a Telegram bot

You can monetize a Telegram bot by selling digital goods, services, and subscriptions for Telegram Stars, selling physical goods through a payment provider, earning a share of Telegram ad revenue, running or joining a Stars affiliate program, and letting users earn your bot currency on an offerwall that advertisers pay for. Telegram requires Stars for every digital sale inside its apps, so Stars are the core of most bot business models. The bots that earn steadily usually combine one way to get paid by users with one way to get paid by advertisers.

This guide is about bots. For channels, see How to make money with a Telegram channel, and for a head-to-head of the two main bot models, see Telegram Stars vs offerwall. Telegram’s terms change often; every rule below was checked on October 20, 2026.

Telegram bot monetization methods compared

MethodWho paysPaid inSetup effortBest for
Stars payments for digital goodsUsersStars, rewarded through FragmentLow: invoices in the Bot APIAI tools, games, premium features, content
Stars subscriptionsUsers, every 30 daysStarsLow to mediumBots with ongoing value, such as daily limits or premium tiers
Paid mediaUsers, per itemStarsLowBots that deliver photos or videos
Physical goods and servicesUsersMoney, through your payment providerMedium: provider account and fulfilmentShops, bookings, deliveries
Telegram ad revenueTelegram, from its ad salesSet by TelegramNone in your codeBots with many active users
Affiliate programsOther developers, as commissionStarsLowBots that refer users to mini apps, or mini apps that want promoters
OfferwallAdvertisers, per completed offerDepends on the networkMedium: user accounts, signed links, postbacksBots with a currency users want to earn
SponsorshipsBrandsYour choiceLow, but needs sales workNiche bots with a clear audience

Selling digital goods and services for Telegram Stars

Section 6.2 of Telegram’s Bot Platform Developer Terms says digital goods and services sold in a bot or mini app must be sold exclusively for Telegram Stars, with no third-party payment providers. Telegram’s guide to payments for digital goods explains why: it cites Google’s payment policies and Apple’s App Review Guidelines 3.1.1, 3.1.1(a), and 3.1.3(b), and says the rule applies even if you also sell through your own website. Users buy Stars through Apple or Google in-app purchases or @PremiumBot, which is how Telegram stays inside the app store rules. The guide also says Telegram cannot show your bot to mobile users if you sell digital goods another way, and that crypto is not accepted for them.

How a Stars checkout works

  1. Send an invoice with sendInvoice or create a link with createInvoiceLink, passing XTR as the currency and an empty provider_token.
  2. Answer the pre_checkout_query with answerPreCheckoutQuery within 10 seconds.
  3. Deliver the item only after the successful_payment update arrives, and store its telegram_payment_charge_id, because refunds need it.
  4. Refund with refundStarPayment when a purchase fails or a user has a valid complaint.

Support is part of the deal. The developer terms require every bot that takes payments to answer the /paysupport command, and the payments guide asks for a /terms command (or an equally easy way to read your terms) that users accept before buying. Telegram does not mediate disputes, and refunds come out of your Star balance.

What a Star is worth to you

Under section 6.2.4 of the developer terms, developers receive the equivalent of 0.013 USD in rewards for each Star, Stars may not become available for up to 21 days after you receive them, and rewards are processed by Fragment, which may be unable to pay some users or countries. You can also spend Stars on Telegram Ads for the same bot at 0.02 USD of ad credit each (section 6.2.3). Stars your bot earns expire after 3 years if you neither withdraw them nor spend them on ads (section 6.2.7). Telegram sets all these values and can change them.

Price with that 0.013 USD in mind, not the price users pay for Stars, which is higher and varies by store and region. A 100-Star item earns you about $1.30 in rewards.

Stars subscriptions and paid media in bots

A bot can sell a recurring plan. The Bot API reference lets you pass subscription_period to createInvoiceLink: the currency must be XTR, the period must currently be 2592000 seconds (30 days), and the price may not exceed 10,000 Stars. A user can hold several subscriptions to the same bot at once, so you can sell separate tiers or add-ons. editUserStarSubscription cancels or re-enables renewal for a user, which you need for your /paysupport flow.

Subscriptions suit bots whose value repeats: a higher daily limit on an AI bot, ad-free use, extra game lives every day, or premium alerts. Keep a useful free tier, because that is where new subscribers come from.

For one-off content, sendPaidMedia sends photos or videos that users pay 1 to 25,000 Stars to see. When the bot sends paid media in a private chat or group, the Stars go to the bot’s balance; in a channel, they go to the channel’s.

Physical goods and real-world services

Telegram’s Bot Payments API for physical goods covers things like merchandise, food delivery, and bookings. Here the money does not touch Telegram: you connect a third-party payment provider in @BotFather, and the page says payments work in over 200 countries through more than 20 providers. Telegram charges no commission, but your provider does; the page gives Stripe in the US, at 2.9% plus 30 cents per card charge, as an example.

Section 6.1 of the developer terms says Telegram does not process, verify, or guarantee these payments, and section 6.1.2 makes you responsible for settling disputes under the provider’s terms. Check your provider’s list of prohibited businesses before you launch. The line between physical and digital matters: a printed poster can go through a provider, but a downloadable wallpaper, extra bot credits, or an in-game item must be sold for Stars.

Telegram ad revenue sharing for bots

Telegram shows its own sponsored messages in bots as well as channels. Its developer page on channel and bot ad revenue says channel and bot owners can receive 50% of the revenue from ads displayed in their channels and bots, and Telegram’s sponsored messages documentation says bot ads appear above the chat, like an action bar. There is no code to write; the ads come from Telegram.

Two cautions. First, Telegram publishes eligibility rules for channels, but we did not find published eligibility rules for bots, so check your bot’s revenue statistics in Telegram rather than assuming it qualifies. Second, the Terms of Service for Content Creators treat activity solicited through monetary purchase or explicit requests to interact with sponsored messages as invalid, and Telegram can deduct rewards for it. Never give users coins, Stars, or perks for viewing or clicking Telegram ads.

Telegram affiliate programs for bots and mini apps

Telegram’s affiliate programs page describes two sides, and a bot can use both:

  • Run a program for your mini app. From your mini app’s profile you set a commission rate and a commission period. Affiliates earn that share of the Stars their referred users spend in your mini app. The rate and period can only be raised later; to lower them you end the program and start a new one.
  • Join other programs. Any user, channel, or mini app can browse active programs under Settings, My Stars, join as many as they like, and get a referral link. Commissions arrive as Stars on the balance you chose when creating the link, and that cannot be changed afterwards.

The page also says programs are meant for mini apps selling digital products for Stars, physical products sold through payment providers earn affiliates nothing, and sending referral links to strangers or posting them in public groups can get your account limited. A recommendation bot or a directory bot can earn this way by suggesting mini apps its users would actually want. If you are also growing a channel around the bot, How to get Telegram channel subscribers covers the promotion side.

Let users earn your bot currency with an offerwall

Most bot users will never buy Stars. An offerwall gives them another option: they complete offers such as installing an app and reaching a level, the advertiser pays you per completed offer, and you credit part of it to the user in your bot’s own currency. What is an offerwall? covers the model. In a bot with coins, the two paths sit side by side: buy coins with Stars, or earn them through offers.

A plain bot does not need a mini app for this. Add an /earn command or menu button that replies with a URL button carrying a link your server signs for that user. The wall opens in the browser, and your server credits coins when the offerwall sends a postback.

$secret = $_SERVER['HTTP_X_TELEGRAM_BOT_API_SECRET_TOKEN'] ?? '';
if (!hash_equals(TELEGRAM_WEBHOOK_SECRET, $secret)) {
    http_response_code(403);
    exit;
}
$update = json_decode(file_get_contents('php://input'), true);
$msg = $update['message'] ?? null;
if ($msg && ($msg['chat']['type'] ?? '') === 'private' && trim($msg['text'] ?? '') === '/earn') {
    $account = find_or_create_account_for_telegram((int) $msg['from']['id']);
    $userId = (string) $account->id;
    $hash = hash_hmac('sha256', $userId, SHARKLIO_LINK_SALT);
    $url = 'https://wall.sharklio.com/' . SHARKLIO_APP_ID . '?user_id=' . rawurlencode($userId) . '&hash=' . $hash;
    telegram_api('sendMessage', [
        'chat_id' => $msg['chat']['id'],
        'text' => 'Complete offers to earn coins. Credits can take a while to arrive.',
        'reply_markup' => json_encode(['inline_keyboard' => [[['text' => 'Open the offerwall', 'url' => $url]]]]),
    ]);
}
  • Trust the update, not the user. Set a secret_token when you call setWebhook; the Bot API reference says Telegram then sends it in the X-Telegram-Bot-Api-Secret-Token header so you know the request came from your webhook. Only then use from.id.
  • Answer in private chats only. A signed link credits whoever it was built for, so never post it in a group where others could use it.
  • Use your own account ID, mapped to the Telegram user, so the same balance can follow the user to a website or mini app later.
  • Credit only from postbacks. Add coins once per transaction ID and remove them on a reversal. Postback security explains the checks.

If you would rather show the wall inside a mini app, follow Add an offerwall to a Telegram Mini App. Best offerwall for Telegram Mini Apps lists what to check before you pick a provider, and Offerwall integration: iframe, link or API? compares the ways to show it.

Illustrative month: a quiz bot with 6,000 monthly users

The bot sells a 150-Star coin pack, and 2% of users buy one: 120 × 150 = 18,000 Stars, about $234 at 0.013 USD per Star. It also has an /earn command. 5% of users open the wall (300 people), a quarter of them complete one or more offers (75 people), at 1.6 offers each: 120 completions. At $0.80 per completion to you, that is $96, from users who were never going to pay. With a rate of 1,000 coins per $1 and a 70% user split, a $0.80 offer credits 560 coins. Sample figures only: every audience number is invented to show the arithmetic.

Set the coin rate so that earning and buying feel fair next to each other. How to set your virtual currency exchange rate explains the trade-off, and the virtual currency calculator lets you try your own numbers.

Rules an earning bot must not break

Selling coins or boosts for anything other than Stars, rewarding users for interacting with Telegram ads, promising earnings users cannot reach (section 5.2(d) bans misleading users into an unachievable outcome, and names MLM and ponzi schemes), broadcasting unsolicited messages (section 5.2(b)), and, in a mini app, paying rewards in or promoting crypto that is not based on TON (section 7). Also publish a privacy policy that names your offerwall provider, since the developer terms require one that matches what your bot really does, and keep users under the offerwall’s minimum age out.

Freemium design and sponsorships

Whichever payment method you use, the product design decides how much it earns. A few patterns that work in bots:

  • Free daily allowance, paid top-ups. AI and utility bots give a fixed number of free requests a day, then sell more for Stars or let users earn credits.
  • Free core, paid extras. Game bots keep the game free and sell cosmetics, extra lives, or faster progress.
  • Trial, then subscription. Alert and data bots show a few days of premium results, then offer the 30-day Stars subscription.

Sponsorships are the other income you arrange yourself. A niche bot with a clear audience can sell a sponsored message in its menu, a “powered by” line, or a featured slot in its results. Label it as sponsored, and do not push it to users as an unsolicited broadcast, because section 5.2(b) of the developer terms forbids spamming users with messages they did not ask for. For more ideas from other platforms, see Hybrid monetization: ads plus in-app purchases and How to monetize a Discord server.

An Earn command for your Telegram bot

Sharklio is a pay-per-result affiliate network, and its offerwall fits a bot as one link your server signs for each user: an /earn command or button returns that user’s own link. Your app sets the currency name, icon, conversion rate, user split, and wall design, and every credit and every reversal reaches your server as a signed postback. Offers depend on each user’s country and device, users on VPNs, proxies, Tor, or data center networks are blocked from the wall, and end users must be at least 16. Every publisher application and every app is reviewed by hand before the wall goes live. See how the wall works, or get in touch with questions about your bot.

Frequently asked questions

Can a Telegram bot accept payments?

Yes. Bots can send invoices for Telegram Stars for digital goods and services, and for physical goods they can take card payments through a third-party payment provider connected in @BotFather.

Do Telegram bots have to use Stars?

For digital goods and services, yes. Telegram’s developer terms require Stars for every digital sale in a bot or mini app, citing Apple and Google rules, even if you also sell on your own website.

How much is a Telegram Star worth to a bot developer?

Telegram’s developer terms say developers receive the equivalent of 0.013 USD in rewards per Star, paid through Fragment, with Stars available up to 21 days after receipt. Telegram can change the value.

Can Telegram bots show ads and earn from them?

Telegram’s developer documentation says channel and bot owners can receive 50% of the revenue from ads displayed in their channels and bots. Telegram serves those ads; you cannot reward users for interacting with them.

Can I sell a subscription in a Telegram bot?

Yes. Create an invoice link with a 30-day subscription period, priced in Stars up to 10,000 Stars, and Telegram renews it each month until the user or your bot cancels it.

Can I add an offerwall to a Telegram bot without a mini app?

Yes. A bot command or button can return a link your server signs for that user, the wall opens in the browser, and your server credits your bot currency from the offerwall’s postbacks.

Can a Telegram bot pay users in crypto?

Telegram’s developer terms require mini apps with crypto features to use only the TON blockchain and forbid them from promoting crypto that is not based on TON. Read section 7 before you build any crypto rewards.