How to Monetize a Telegram Bot (Stars, Ads and Rules)

If your Telegram bot sells anything digital, Telegram's rules say you must charge in Telegram Stars, not through Stripe or PayPal. Stars support one-off invoices, 30-day subscriptions and paid media, and Telegram's developer terms put each Star at 0.013 USD in rewards or 0.02 USD in ad credit. Physical goods are the exception: those go through third-party payment providers. Here is how each route works, what it is worth, and what to charge for.

Editorial title card reading "How to Monetize a Telegram Bot (Stars, Ads and Rules)" beside the orange ZeroRaised mark.

Key takeaways

  • Telegram says payments for digital goods and services must be carried out exclusively in Telegram Stars (currency XTR), and that it cannot show your bot to mobile users if you sell digital goods another way.
  • Physical goods and services use third-party payment providers such as Stripe through the Payments API, and Telegram says it does not charge any commission for using it.
  • Star subscriptions renew every 30 days (subscription_period must be 2592000) and cannot cost more than 10,000 Stars; paid media can be priced from 1 to 25,000 Stars.
  • Telegram's Bot Developer Terms value each Star at 0.013 USD in rewards or 0.02 USD in Telegram Ads credit, with balances possibly held for up to 21 days and rewards processed through Fragment.
  • You handle disputes yourself: your bot must answer /paysupport, refunds come out of your balance via refundStarPayment, and you also need /terms and support commands before going live.
On this page 23
  1. TL;DR
  2. The one rule that decides everything: digital goods use Stars
  3. The ways to make money, side by side
  4. How to charge in Stars
  5. One-off payments
  6. Subscriptions
  7. Paid media and balances
  8. Refunds, disputes and the commands you must ship
  9. Turning Stars into money
  10. Worked example: a 30-day premium tier
  11. Physical goods: when Stripe is allowed
  12. Affiliate programs and ads
  13. What to gate and what to keep free
  14. Pricing tips and common mistakes
  15. Launch checklist
  16. Frequently asked questions
  17. Can I use Stripe to charge for my Telegram bot?
  18. How much is a Telegram Star worth to a bot developer?
  19. How do I withdraw Telegram Stars from my bot?
  20. Can a Telegram bot sell subscriptions?
  21. Do Telegram bots earn ad revenue like channels?
  22. Launch your bot
  23. Sources

Short answer: If your bot sells anything digital (premium features, credits, AI generations, content, access), you charge in Telegram Stars. Telegram's terms forbid third-party payment providers for digital goods, and its docs warn it cannot show your bot to mobile users if you try. Use Stripe or another provider only for physical goods and real-world services. Then keep the core bot free and sell limits, speed and extras.

Every rule and value below comes from Telegram's and Stripe's own pages, checked on 10 Nov 2026. Advice marked "Our read" is ours.

TL;DR#

  • Digital goods = Stars only. "Payments for digital goods and services must be carried out exclusively in Telegram Stars" (Telegram Stars payments).
  • Physical goods = payment providers such as Stripe, with no Telegram commission (Bot Payments API).
  • Three Stars products: one-off invoices, 30-day subscriptions up to 10,000 Stars, and paid media from 1 to 25,000 Stars (Bot API).
  • A Star is worth 0.013 USD in rewards, or 0.02 USD as Telegram Ads credit (Bot Developer Terms).
  • You own support and refunds, and refunds come out of your balance.

Disclosure: ZeroRaised publishes this guide and is a launch site for bootstrapped products. ZeroRaised has no commercial relationship with Telegram, Fragment or Stripe. Facts come from the linked sources as checked on 10 Nov 2026.

The one rule that decides everything: digital goods use Stars#

Telegram's Bot Developer Terms (section 6.2) say "transactions for digital goods and services cannot be processed through third-party payment providers" and that "all transactions pertaining to digital goods and services must be executed exclusively through the exchange of" Telegram Stars.

The reason is app store rules on digital goods. Telegram's Stars payments page spells out the consequence: "Telegram cannot display your bot or mini-app to mobile users if you attempt to sell digital goods and services via other currencies or through third-party payment providers."

Our read: a "pay on my website, then paste a code into the bot" flow for digital features is exactly what this rule targets, and most of your users are on phones. If you came from Discord, our guide to monetizing a Discord bot covers a platform where external checkouts are still allowed in many regions. Telegram is stricter.

Physical goods and services (merch, food orders, in-person tickets, a booked real-world service) go through the Payments API, which supports "more than 20 providers".

The ways to make money, side by side#

RouteWhat you sellPaid inTelegram's cut or valueBest for
One-off Stars invoiceCredits, unlocks, single generationsStars (XTR)Stars worth 0.013 USD each in rewardsUtility and AI bots with usage costs
Star subscriptionMonthly premium tierStars, 30-day period, max 10,000Same Star valueBots people use every week
Paid mediaPhotos or videos behind a paywallStars, 1 to 25,000 per itemSame Star valueContent and creator bots
Affiliate programCommission to people who refer buyersStarsYou pay a commission you setBots with a mini app and a growth problem
Payments API (Stripe etc.)Physical goods, real-world servicesFiat via providerTelegram: no commission; provider fees applyShops, bookings, delivery
Channel ads (not the bot)Your audience's attentionTelegram Ads share50% to channel ownersBots that grow a companion channel

How to charge in Stars#

One-off payments#

Send an invoice with sendInvoice (or build a shareable link with createInvoiceLink). Three fields matter for Stars, per the Bot API reference, which is at Bot API 10.4 as of 9 Nov 2026 according to the changelog:

  • currency: "Pass “XTR” for payments in Telegram Stars."
  • provider_token: "Pass an empty string for payments in Telegram Stars."
  • prices: "Must contain exactly one item for payments in Telegram Stars."

A minimal call looks like this:

{
  "chat_id": 123456789,
  "title": "100 image credits",
  "description": "100 more image generations",
  "payload": "credits_100_user_123456789",
  "provider_token": "",
  "currency": "XTR",
  "prices": [{ "label": "100 credits", "amount": 150 }]
}

Use payload to tie the payment to a user and product, grant credits only after the successful payment update, and store the charge ID for refunds.

Subscriptions#

For recurring revenue, createInvoiceLink takes a subscription_period. The docs say the currency "must be set to “XTR” (Telegram Stars) if the parameter is used" and that the period "Currently, it must always be 2592000 (30 days) if specified." The price cap is stated as "Subscription price must no exceed 10000 Telegram Stars" (sic, Bot API).

Your bot can manage renewals with editUserStarSubscription, which "Allows the bot to cancel or re-enable extension of a subscription paid in Telegram Stars." If you run a private group or channel, createChatSubscriptionInviteLink sells paid access to it with the same 30-day period and a price of "1-10000" Stars.

Our read: with a 30-day-only period there is no annual plan, so sell a large credit bundle if you want a bigger upfront payment.

sendPaidMedia puts photos or videos behind a Stars price: star_count is "The number of Telegram Stars that must be paid to buy access to the media; 1-25000" (Bot API). To reconcile earnings, getMyStarBalance returns "the current Telegram Stars balance of the bot" and getStarTransactions lists transactions in chronological order.

Refunds, disputes and the commands you must ship#

Telegram does not run support for you. The Stars page says: "You are solely responsible for processing and rectifying legitimate user disputes for digital goods and services sold by your bots or mini apps", and "Your bots and mini apps must be able to respond to the command /paysupport" (Telegram Stars payments).

Refunds go through refundStarPayment, which "Refunds a successful payment in Telegram Stars." The terms add that "you, the purveyor, will be responsible for the funds returned to the purchaser, which will be deducted from your TPA's balance" (Bot Developer Terms, 6.2.1). Telegram's Stars terms say "Telegram does not issue refunds for unwanted or unintentional purchases of Stars", so users come to you.

Both payment pages' live checklists also say "make sure your bot can respond to a /terms command" and "Your bot must provide support for its customers", for example via /support.

Our read: put a two-line refund policy in /terms (for example, refunds within 7 days for unused credits) and make /paysupport reach a human. Word travels fast through group chats.

Turning Stars into money#

  • Value per Star: "Developers can receive an equivalent of 0.013 USD worth of rewards for each Telegram Star" (Bot Developer Terms, 6.2.4).
  • Ad credit instead: "When used for Telegram Ads, each Star in your balance is worth 0.02 USD in advertising credit", a value the terms say may fluctuate (6.2.3).
  • Hold period: "Stars in your balance may not become available for advertising credits or rewards for up to 21 days after their receipt" (6.2.4).
  • Who pays out: "Telegram currently outsources the processing of rewards to Fragment, a platform owned and operated by Fragment Corp." (6.2.4.1). The Stars API docs describe a Fragment page where the owner submits "the address of the TON wallet", above a minimum balance set in Telegram's config; the docs do not print the number.
  • Expiry: "Stars earned by your TPA are valid for 3 years from the date they were received" (6.2.7).
  • Taxes: "You are solely responsible for all taxes and fees" (6.4).

Our read: rewards arrive in a TON wallet, so what you bank depends on the TON price and off-ramp fees when you convert. Treat 0.013 USD as Telegram's stated value, not cash.

Worked example: a 30-day premium tier#

This is an illustrative example with our numbers, using Telegram's stated reward value.

Say you run an AI summariser bot with a free tier of 10 summaries per day and a Premium subscription at 300 Stars per 30 days.

LineExample figure
Premium subscribers200
Stars per month (200 x 300)60,000 Stars
Refunds, 3% of Stars1,800 Stars
Net Stars58,200 Stars
Reward value at 0.013 USD per Starabout $757
Same Stars as Ads credit at 0.02 USDabout $1,164 of Telegram Ads

The ad-credit value is about 54% higher than the reward value, so if you already buy Telegram Ads, spending Stars there beats cashing out. Meanwhile your LLM and hosting bills are paid in dollars from day one while Stars can sit for up to 21 days, so keep a buffer. If you are still choosing a host, our VPS comparison for indie hackers covers cheap servers that run a bot comfortably.

To set a price in Stars, work backwards: pick the dollar amount you want per user, divide by 0.013, and round to a tidy number. $4 per month at 0.013 is about 308 Stars, so 300 Stars is a reasonable tier. Our guide to pricing a SaaS product covers value-based pricing in more depth, and most of it applies to bots.

Physical goods: when Stripe is allowed#

For goods that exist outside Telegram, connect a provider through BotFather and pass its token as provider_token. Telegram does "not charge any commission for using the Payments API" and says "it is impossible for Telegram to handle complaints or cashbacks" (Bot Payments API), so disputes sit with you and your provider. Stripe lists "2.9% + 30¢ per successful transaction for domestic cards" in the US (Stripe pricing). Example: on a $25 order, that is $0.73 + $0.30 = $1.03 in fees.

Affiliate programs and ads#

Affiliate programs. Developers can open affiliate programs for their mini app, setting a commission with commission_permille and an optional duration_months (Affiliate programs). "Both the duration and the commission may only be raised after creation of the program", so start low.

Ad revenue share. Telegram Ads says "50% of the revenue from Telegram Ads goes to the owners of channels where they are displayed" (Telegram Ads). We found no official page offering the same share to bots. Our read: a companion channel is the official route to ad income, and it doubles as your announcement list.

What to gate and what to keep free#

Our editorial advice:

Keep freeCharge for
The core command that makes the bot worth sharingHigher limits (more requests per day, larger files)
Use in group chats, so the bot spreadsSpeed and priority queues
A small allowance of expensive actions each dayCredit packs for heavy one-off use
Basic settings and language choiceExtra features: history, exports, custom personas
/help, /terms, /paysupportPaid media and premium content drops

Bots grow through forwards and group adds, so put the paywall where a happy user hits a limit, never before the first useful reply.

Pricing tips and common mistakes#

  • Price in Stars, think in dollars. Recheck the Star values in the terms each quarter; Telegram says the ad-credit value can change.
  • Tie costs to usage. If each action costs you API money, sell credits rather than unlimited plans.
  • Do not route digital payments to your website. It breaks the terms and can hide your bot from mobile users.
  • Do not forget refunds come out of your balance. Cashing out every Star the day it clears leaves nothing for disputes.
  • Do not spam users with upgrade DMs. Show upgrade prompts inside replies when a limit is reached.

Launch checklist#

  1. Classify each product: digital (Stars) or physical (provider).
  2. Build XTR invoices; grant access only after payment; store charge IDs.
  3. Add a 30-day subscription if users return every week.
  4. Ship /terms, /support and /paysupport with a refund policy.
  5. Test refundStarPayment before launch.
  6. Plan cash flow around the 21-day hold, then choose Fragment rewards or Ads credit.

Frequently asked questions#

Can I use Stripe to charge for my Telegram bot?#

Only for physical goods and services. Telegram's Bot Developer Terms say transactions for digital goods and services cannot be processed through third-party payment providers and must be executed exclusively in Telegram Stars. For physical goods, Telegram's Payments API lets you connect providers such as Stripe, and Telegram says it does not charge a commission for that.

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

Telegram's Bot Developer Terms say developers can receive an equivalent of 0.013 USD worth of rewards for each Telegram Star, or 0.02 USD of advertising credit per Star when spent on Telegram Ads. The terms say the ad-credit value may fluctuate, so check the current terms before you plan around either figure.

How do I withdraw Telegram Stars from my bot?#

Telegram says it currently outsources the processing of rewards to Fragment. Telegram's API docs describe a Fragment page where the owner submits a TON wallet address, and say withdrawal is only possible above a minimum balance set in Telegram's config. Stars may not become available for rewards for up to 21 days after you receive them, and earned Stars are valid for 3 years.

Can a Telegram bot sell subscriptions?#

Yes. Create an invoice link with currency XTR and a subscription_period, which the Bot API docs say must currently be 2592000 seconds (30 days). The subscription price must not exceed 10,000 Telegram Stars. Your bot can cancel or re-enable renewal with editUserStarSubscription.

Do Telegram bots earn ad revenue like channels?#

Telegram Ads says 50% of the revenue from Telegram Ads goes to the owners of channels where they are displayed. We could not find an official Telegram page on 10 Nov 2026 offering the same share to bots, so do not plan a bot business around ad revenue share. Running your own channel alongside the bot is the official route to that income.

Launch your bot#

ZeroRaised is a launch directory for products built without institutional VC. Once your bot takes its first Stars, submit it to ZeroRaised for free. For more guides on making money from small products, join the ZeroRaised newsletter.

Sources#

Frequently asked questions

Can I use Stripe to charge for my Telegram bot?

Only for physical goods and services. Telegram's Bot Developer Terms say transactions for digital goods and services cannot be processed through third-party payment providers and must be executed exclusively in Telegram Stars. For physical goods, Telegram's Payments API lets you connect providers such as Stripe, and Telegram says it does not charge a commission for that.

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

Telegram's Bot Developer Terms say developers can receive an equivalent of 0.013 USD worth of rewards for each Telegram Star, or 0.02 USD of advertising credit per Star when spent on Telegram Ads. The terms say the ad-credit value may fluctuate, so check the current terms before you plan around either figure.

How do I withdraw Telegram Stars from my bot?

Telegram says it currently outsources the processing of rewards to Fragment. Telegram's API docs describe a Fragment page where the owner submits a TON wallet address, and say withdrawal is only possible above a minimum balance set in Telegram's config. Stars may not become available for rewards for up to 21 days after you receive them, and earned Stars are valid for 3 years.

Can a Telegram bot sell subscriptions?

Yes. Create an invoice link with currency XTR and a subscription_period, which the Bot API docs say must currently be 2592000 seconds (30 days). The subscription price must not exceed 10,000 Telegram Stars. Your bot can cancel or re-enable renewal with editUserStarSubscription.

Do Telegram bots earn ad revenue like channels?

Telegram Ads says 50% of the revenue from Telegram Ads goes to the owners of channels where they are displayed. We could not find an official Telegram page on 10 Nov 2026 offering the same share to bots, so do not plan a bot business around ad revenue share. Running your own channel alongside the bot is the official route to that income.