Developers
Telegram Stars for bot and mini app developers
What you actually net per Star, how to price digital goods, and the API fields that hold the live withdrawal rate.
Updated 20 July 2026 · starsconverter research
If you sell anything inside Telegram — a mini app subscription, a generation credit, a premium bot command — you are selling in Stars whether you wanted a currency or not. The question is what to charge. That depends on a number most pricing pages skip: what a Star is worth to you, not to the person spending it.
The developer’s rate is the payout rate
Users see purchase prices. You only ever see the withdraw rate, which Telegram publishes as stars_usd_withdraw_rate_x1000 = 1300 — $0.013 per Star, or $13.00 per 1,000, paid in TON. Everything below is built on that figure.
Pricing backwards from revenue
Decide what you want to net, then convert. At the current rate:
- $1 net ≈ 77 Stars
- $5 net ≈ 385 Stars
- $10 net ≈ 770 Stars
- $50 net ≈ 3,847 Stars
Round those to friendly numbers — 100, 250, 500, 1,000 — because Star prices are read like prices, not like exchange rates. A 75-Star command reads cheap; a 77-Star command reads like a conversion error.
Remember what your user paid
A user who bought Stars on their phone paid about $0.02 each. When you charge 500 Stars, that purchase cost them roughly $10.07 and nets you about $6.50. The difference is not yours and it is not Telegram’s — it went to Apple or Google at the moment of purchase, long before your bot was involved.
Two practical consequences. First, your effective price to a mobile buyer is higher than your revenue suggests, so treat Star prices as premium pricing rather than bargain pricing. Second, it is worth telling heavy users they can top up on desktop — they save, and their higher balance is spent in your product.
The payout mechanics you have to design around
- The refund hold. Earned Stars are frozen against refunds for a window creators consistently report as around three weeks. Plan for your first payout landing well after your first sale, not the same week.
- 1,000-Star minimum. About $13.00. A bot doing a handful of small sales a month will accumulate for a while before anything can move.
- Refunds are yours to honour. The Bot API’s
refundStarPaymentreturns Stars to the user, and it works after the money has notionally been earned. Keep a buffer rather than withdrawing to zero. - Payouts arrive in TON. Your revenue is dollar-denominated until the moment it is paid, then it is a volatile asset until you sell. If you are running on a budget, sell promptly.
Subscriptions change the arithmetic
Star subscriptions bill on a recurring 30-day cycle and each cycle carries its own refund hold. The upside is predictability: with steady renewals you clear the withdrawal minimum every month rather than waiting for a spike. Price a subscription against the net rate, not against what a one-off unlock feels like it should cost — a 250-Star monthly plan is about $3.25 of revenue per subscriber per month.
A checklist before you ship a price
- Read
stars_usd_withdraw_rate_x1000from the API instead of hardcoding $0.013. - Price backwards from net revenue, then round to a readable Star number.
- Assume mobile buyers paid roughly 44% more than the web price for their Stars.
- Keep a refund buffer above the withdrawal minimum.
- Check the board in the currency you actually spend, since your costs are local and your revenue is not.