What Telegram Stars are
Telegram introduced Stars in 2024 as the currency for digital purchases inside the messenger. The reason is app store policy: Apple and Google require in-app purchases for digital goods, and Stars let Telegram comply once for every bot and Mini App. Users top up Stars through the app stores or directly from Telegram; developers receive Stars in their bot’s balance.
When you must use Stars
| What you sell | Required rail |
|---|---|
| Premium features, content, in-game items, subscriptions inside the app | Telegram Stars |
| Paid media (photos/videos unlocked in a channel) | Telegram Stars |
| Physical goods (merchandise, food, electronics) | Cards via invoice API or external checkout |
| Services delivered outside Telegram (consulting, bookings) | Cards or invoices |
| Crypto-native purchases | TON / USDT via TON Connect (allowed alongside Stars) |
Selling digital goods with cards inside a Mini App on mobile violates Telegram’s terms and risks the bot being restricted.
How the money flows
- The user buys Stars (bundles start at a few dollars).
- Your bot sends an invoice with
currency: "XTR"and a price in Stars; the Mini App opens it withopenInvoice. - Telegram sends your bot a
pre_checkout_query; you confirm within 10 seconds. - On
successful_paymentyou grant the product and store thetelegram_payment_charge_id. - Stars accumulate in the bot’s balance. You withdraw them as TON through Fragment after the holding period, or spend them on Telegram Ads.
Subscriptions
Recurring Stars payments let you sell monthly plans. Your invoice specifies a subscription period; Telegram charges the user each cycle and sends your bot a payment update. Build the entitlement check into every session, handle cancellations and failed renewals, and offer an in-app way to manage the plan that links to Telegram’s subscription settings.
Refunds and disputes
Refunds are developer-initiated through the Bot API. There are no chargebacks in the card sense, which simplifies risk, but a clear refund policy keeps users and Telegram’s support happy. We build refund tooling into the admin panel and automatically revoke entitlements.
Pricing in Stars
Stars have a dollar-equivalent value that varies with purchase bundles and conversion rates. Price your products in Stars, not in a currency converted at runtime, and round to numbers users recognize. Model your net revenue using current Fragment conversion rates before launch; the effective take rate differs from a flat 30% and changes with TON’s price.
Reporting and accounting
Your backend should reconcile every successful_payment with the product granted, store charge IDs, and export monthly summaries: gross Stars, refunds, net Stars, TON withdrawn and the fiat value at withdrawal. Finance teams in the US, UK and EU usually treat Stars revenue as sales denominated in a foreign unit converted at withdrawal; confirm with your accountant.
Integration checklist
- Invoice creation with
XTR, product metadata and payload. pre_checkout_queryhandler with stock and eligibility checks.- Idempotent
successful_paymenthandling (Telegram may resend updates). - Entitlement storage and session checks.
- Subscriptions: renewal, cancellation, grace periods.
- Refund tooling and policy.
- Reporting and withdrawal process via Fragment.
- Test mode with Telegram’s test environment before launch.
We implement all of this as part of payments integration; the broader revenue picture is in Mini App monetization.
* All prices and ranges on this page are indicative. The final cost is calculated for each project individually and depends on the complexity of the task, the number of developers and specialists required, and the delivery timeline you set. Use the ranges to understand the typical bracket, not as a fixed offer; the fixed price is confirmed in writing after scoping. Read our pricing terms.