← Guides
Comparison In Stars & TON beginner · 9 min read · Updated Apr 21, 2026

Stars vs Stripe vs TON — which payment rail for which product

A decision guide for picking the right payment method on Telegram in 2026. Fees, friction, fit by use case, and the political constraints nobody mentions.

Three rails, three philosophies, one product to monetize. Picking wrong costs you 30% margin or — worse — a policy violation that kills your bot at the worst time.

This guide is a 1,500-word decision tree.

Stars XTR TON Toncoin USDT TON / TRC-20 USD Bank −3% Telegram spread −0.5% DEX swap −1.5% Off-ramp Total realistic loss: ~5–10% when routed well
The four hops between a user paying you in Stars and USD landing in your bank — with realistic spread at each step.

The honest one-liner per rail

  • Stars (XTR) — Telegram’s in-app currency. Mandatory for digital goods. Friction-less checkout. ~30% effective platform fee once you withdraw.
  • Stripe / Smart Glocal / regional providers (fiat)Mandatory for physical goods and services. Card-form friction. ~3-5% effective fee.
  • TON (cryptocurrency) — Not a Telegram-managed rail. You handle the wallet, the user pays in TON or Toncoin-pegged stables. ~0.5% network fee. Settlement in seconds.

That’s the whole picture. The rest is fit.

The fork: digital or not?

The first question Telegram asks of your invoice is “is this digital?” Answer wrong, your bot gets restricted.

What you’re sellingRequired railWhy
App features, in-app coins, Stars-priced contentStarsPlatform policy
AI-generated text, images, audioStarsCounts as digital
Pre-recorded courses, ebooks, templatesStarsDigital
Live coaching, consultations, servicesFiat or TONService exception
Physical goodsFiat or TONPhysical exception
Crypto trading credits, on-chain actionsTON onlyStars policy bans
Donations to a creatorStars (or TON)Both allowed

Effective costs after everything

Fees on the surface vs fees once you have USD in your bank account.

Stars (per $100 of customer payment)

StepTakeCumulative
Telegram nominal fee0%$100
Stars-to-TON withdrawal~3% spread$97
TON-to-USDT swap~0.5%$96.50
USDT-to-USD off-ramp~1.5%$95
Net to bank$95

That’s optimistic — assumes you batch-withdraw weekly via the most efficient route. Most operators see $90-93 net.

Stripe (per $100)

StepTakeCumulative
Stripe processing2.9% + $0.30$96.80
Currency conversion1%$95.80
Bank fees0.5%$95.30
Net to bank$95

Tied with Stars on absolute take, very different on friction.

TON (per $100)

StepTakeCumulative
TON network fee<0.1%$99.90
TON-to-USDT swap~0.5%$99.40
USDT-to-USD off-ramp~1.5%$97.90
Net to bank$97.90

Cheapest if you don’t need to move it to USD.

The conversion gap

Fees aren’t where the real cost is. Conversion is.

Anonymized data from 14 bots that supported multiple rails over Q1 2026:

RailClick-to-pay conversion
Stars38%
TON (with WalletConnect)16%
Stripe-link11%
Stripe inline (Mini App)19%

Stars wins because there’s no leaving the app, no card form, no decision moment. TON wins among crypto-native audiences but tanks for the general public. Stripe is acceptable inside a Mini App, painful as a redirect.

If you can charge in Stars, you’re leaving 2-3× revenue on the table by not using it.

The policy boundary

Telegram’s payments policy has bitten many builders:

  • You must not sell physical goods via Stars.
  • You must not route around Stars for digital goods (e.g., bot that accepts Stripe for “credits” then unlocks digital content).
  • You must disclose what’s being sold before charging — the invoice description is a contract.
  • Stars can be clawed back by Telegram for fraud or policy violations within 21 days. Don’t pre-spend them on infrastructure you can’t refund.
core.telegram.org Bot Payments documentation core.telegram.org Stars payments specifics

The decision tree (condensed)

  1. Is it a physical good or a service? → Fiat (or TON if your buyer is crypto-native).
  2. Is it digital? → Stars. Always.
  3. Is it crypto-native (NFTs, on-chain actions, DeFi)? → TON.
  4. Are you serving a B2B audience that needs invoices and EUR/USD payment? → Fiat (Stripe, with proper invoicing).
  5. Edge case: serving a global audience for a digital good in a region where Stars top-ups are restricted? → Fiat as a fallback only, Stars as primary.

What I’d build today

If I were starting fresh: Stars-first, fiat fallback inside a Mini App, no TON unless the audience asks for it.

Stars handles 80% of monetizable products with the highest conversion of the three. Fiat as a fallback inside a Mini App (using WebApp.openInvoice with a Stripe-backed provider token) catches the geographic edge cases without forcing every user through card friction.

TON is the future, but in 2026 it’s still an early-adopter rail. Build for it when your audience asks; don’t lead with it.

Stay in the loop

One short email when something useful ships. No tracking pixels, no upsell.