How to Monetize a Telegram Channel
How paid access actually works on Telegram: which chat type to sell, the two admin rights a bot needs, how invite links grant and bans revoke, and what happens when a renewal fails.
Telegram is full of channels and groups that are already worth paying for. Trading desks, research feeds, football tipsters, language classes, alpha groups, private communities around a newsletter. Most of them are still collecting money by hand: a bank transfer or a payment link in a pinned message, an admin who reads the receipt, and an invite link pasted into a private chat. That works for the first twenty members. It falls apart somewhere around the hundredth, usually on a renewal nobody noticed had failed.
The fix is not more discipline. It is letting the billing system hold the door. This guide covers what Telegram actually permits a bot to do, how access is granted and revoked inside those limits, and how to wire a chat to Stripe so the grants, the removals, and the failed-payment chasing happen without you.
Everything below describes how Arcalotl on Telegram works today. The mechanics of Telegram itself apply whichever tool you pick.
Group, supergroup, or channel
Telegram gives you three shapes of chat, and the one you pick decides what your paid product feels like. Arcalotl sells access to any of them, so this is a product decision rather than a technical one.
A channel is a broadcast. Only admins post, and members read. It is the right shape for a paid newsletter, a signals feed, a daily briefing, or a drop calendar. It is also the quietest thing to run, because there is no conversation to moderate. The one wrinkle is that members cannot type commands into a channel, so the path to checkout has to be a message you publish rather than a command they run. Arcalotl handles that with a subscribe message: a post in the channel listing every plan as a link into the bot, which you configure under Connected Platforms in Settings.
A group is a conversation. Everyone can post, and the members are the product. It is the right shape when people are paying to be in a room with each other, not only to read you. Groups need moderation, and they need a reason to stay lively, but they churn less when they work, because leaving means leaving people behind rather than cancelling a feed.
A supergroup is what a group becomes once it grows past the basic-group limit or once an admin uses a feature basic groups do not support. Supergroups add granular admin permissions, a public username, and pinned-message behaviour worth having. The conversion is one way and Telegram issues a new chat id when it happens. Arcalotl follows that new id automatically, including the plan benefits attached to the chat and the subscribe message, which is re-posted. You do not have to reconnect anything.
A common setup runs both: a channel for the paid output and a group for the paid conversation, each connected and each attached to the plans that should grant it.
What Telegram lets a bot do, and what it does not
This is the part that surprises people coming from Discord. On Discord, a bot assigns a role and the member is in. Telegram has no equivalent, and the difference shapes every paid-Telegram product on the market.
A bot cannot add a person to a chat. Telegram does not expose that capability, for good reasons that have to do with spam. Access has to be granted the other way around. The bot creates an invite link for one member, sends it to them in the private chat, and the member taps it to join. Arcalotl issues links that work exactly once and expire after 48 hours, so a link that leaks is a link that is already spent. A member who does not join in time sends /start to the bot and gets a new one.
A bot can remove a person from a chat. Removal is the half Telegram does allow, and it is what makes paid access enforceable rather than honour-system.
A bot can only message someone who pressed Start. Nobody can be cold-messaged by a bot. In practice this costs you nothing, because every subscriber opens the private chat before they can pay, which is exactly the moment they press Start. It does mean the private chat with the bot is the whole funnel: discovery, checkout, receipts, renewal notices, cancellation.
Privacy mode keeps the bot out of your conversation. Leave it enabled. The bot does not read ordinary group messages; it only sees commands addressed to it, such as /subscribe@ArcalotlBot. Members of a paid group tend to care about that.
The two admin rights the bot needs
Everything above reduces to two permissions. Promote the bot to administrator in your chat and enable:
- Invite users via link. Some Telegram clients label this Add users, and channels label it Add subscribers. This is what lets the bot mint the single-use link each new member joins with.
- Ban users. This is what lets the bot remove a member whose subscription has lapsed.
In a channel, add Post messages if you want the bot to publish the subscribe message with your plan links. Nothing else is needed, and nothing else should be granted. The bot has no reason to delete messages, pin things, or promote members, and a paid community is a good place to keep permissions narrow.
Labels move around between the iOS, Android, and desktop clients, so if a toggle is not where this guide says it is, look for the closest wording. The dashboard tells you which chat it sees once the rights are right.
Connecting Stripe
Payments run on your own Stripe account through Stripe Connect direct charges. That word "own" is load-bearing. The charge is created on your account, the money lands in your Stripe balance, and it pays out on your Stripe schedule to your bank. Arcalotl never holds your funds and never becomes the merchant of record for your community. Refunds, disputes, payout timing, and tax settings stay in your Stripe dashboard, where your accountant expects to find them.
If you do not have a Stripe account yet, you create one during setup. If you already run one, connect it and the customers you already have come with it.
Members pay on Arcalotl's checkout page in the browser: card, Apple Pay, or Google Pay. They do not need a Stripe account, and card details go straight to Stripe, never to Telegram or Arcalotl.
Step-by-step setup
From an empty chat to a working paid channel is five steps and about ten minutes, most of which is Stripe asking for your details.
Open the bot and press Start
Open @ArcalotlBot in Telegram and press Start. Do this before you add it anywhere, especially for a channel, so the private chat exists when the bot needs to talk to you.
Add the bot as an administrator
Add the bot to the group or channel you want to sell, then promote it to administrator with Invite users via link and Ban users enabled. Add Post messages in a channel if the bot should publish your plan links.
Run /setup and pick the chat
Send /setup in the private chat and choose the chat from the list. If a colleague added the bot, send /setup in the chat itself and tap the button. Any administrator can connect it, not only whoever added the bot.
Connect payments and claim the dashboard
The bot replies with a Connect payments button and a claim code. Finish Stripe in the browser, then sign in to the dashboard, open Connect a platform, and enter the code to attach your account as the owner. If the code expires while you are in Stripe, send /setup again for a fresh one.
Create plans and publish the subscribe message
Create your plans in the dashboard. In the entitlement picker, Telegram offers one grant: Membership of the connected chat. Attach it to every plan that should let someone in. Then set the Subscribe channel under Connected Platforms and save to publish the plan list.
Members who are already in the chat are left alone. The bot only ever removes someone whose Arcalotl subscription lapses, so turning billing on does not evict your founding members. Grant them a comped plan if you want them tracked, or leave them where they are.
Setting up tiers
Several plans can grant membership of the same chat at different prices and billing periods. The simplest structure that works is two: a monthly price and an annual price for the same access. The annual price is the one that protects you, because an annual subscriber cannot churn in month three and does not have twelve chances a year for a card to fail.
If you run more than one chat, tiers stop being cosmetic. A lower tier grants the channel, a higher tier grants the channel and the group. Each plan carries the membership grants it should and Arcalotl reconciles the difference when someone upgrades: the new chat gets an invite link, the old access stays.
Price above what feels comfortable. A Telegram community with real signal is competing with paid newsletters, not with free channels, and a price that is too low attracts the members most likely to argue about it. Start where you can defend the number, and use the annual option as the discount rather than cutting the monthly price.
If your community also takes one-off support, the donation path gives you /donate, which shows a short ladder of preset amounts, and /donate 15, which goes straight to checkout for that amount. Donations are one-time payments and grant whatever you attach to them.
How a member buys
The private chat with the bot is the store. Nothing is ever sold inside your group, which keeps the paid pitch out of the room people are paying to be in.
In the private chat, /subscribe lists every plan as a button. Tapping one opens Arcalotl's checkout page in the browser. The moment the payment confirms, the bot sends the invite link, the member taps it, and they are in. The whole thing takes under a minute and the member never leaves Telegram except for the checkout page itself.
In a group, /subscribe@ArcalotlBot replies with a button that opens the private chat. In a channel, where members cannot type at all, the subscribe message does the same job: each plan is a link that opens the bot on that plan.
You can also share the deep links yourself, in a pinned post, a bio, a tweet, or a landing page:
https://t.me/YourBot?start=<community id>opens the full plan list.https://t.me/YourBot?start=plan_<plan id>opens checkout for one plan.https://t.me/YourBot?start=tier_<tier id>lists one tier's billing options.
After they have paid, /start tells a member where they stand. Inside the chat it confirms their membership; outside it re-sends the invite link, which handles the most common support message you will ever get. /manage lists their subscriptions and links to the member portal, where they can change a card or switch plan without messaging you.
When a renewal fails
This is where most paid Telegram channels quietly leak money. Cards expire, banks decline, a fraud rule fires on a foreign charge. None of it means the member wanted to leave. It is called involuntary churn, and it is the single largest recoverable loss in any subscription business.
When a renewal fails, the bot messages the member directly with a link to update their payment method, and access stays active through the grace period. Nobody is thrown out of the chat over a card that expired on Tuesday. If the member updates the card, the charge goes through and nothing else about their subscription changes, including the billing date.
The reason this works on Telegram specifically is that the member is already talking to the bot. There is no email that lands in a promotions tab. The message arrives in the same app they were reading your channel in five minutes ago. Read more about the mechanics in what dunning is.
When someone cancels
Cancellation runs through /cancel. The bot asks for a reason first, then offers a save before it confirms anything: a discount, a pause, or a downgrade, depending on why they said they were leaving.
Asking the reason is not a delaying tactic. Somebody cancelling because money is tight this month is a different problem from somebody cancelling because the content stopped being relevant, and only the first one is solved by a discount. The second is solved by a pause, or by nothing at all, in which case they should be allowed to leave cleanly. Over a few hundred cancellations the reasons also become the most useful product feedback you have, because they come from people with no reason left to be polite. The mechanics are covered in cancel saves.
When a subscription lapses
If recovery and the save both fail, the subscription lapses and the bot removes the member. It does this with a ban rather than a plain kick, and the distinction matters more than it sounds.
A kick removes someone who can walk straight back in through any invite link they still have, or any link a friend forwards them. A ban blocks re-entry through every link. This is the mechanism that makes paid Telegram access hold, and it is the thing most hand-run channels get wrong: they remove the member, and the member rejoins that evening with the link from the group chat where they share these things.
The ban is not permanent. A renewed or new subscription lifts it automatically and sends a fresh invite link, so a member who comes back three months later just pays and rejoins. Removed members show up under the chat's Removed users list in Telegram if you ever need to look.
The admin edge case
One limit is worth knowing before it bites you. The bot cannot remove other administrators, and it cannot remove the chat creator. Telegram does not permit it, and no tool can work around it. If an administrator's subscription lapses, their access stays in place and the event is logged rather than enforced.
Two practical consequences. First, do not promote paying members to administrator as a perk, because you have just made their membership unenforceable. If you want to reward them, give them a title in a supergroup or a role that does not carry admin rights. Second, when you test that removal works, test it with a separate account that is an ordinary member. Testing with the chat owner or one of your admins will show you nothing, because the bot is not allowed to remove them, and you will conclude the integration is broken when it is behaving correctly.
Other limits worth knowing
- Invite links are single-use and expire after 48 hours. A member who misses the window sends
/startand gets a new link. - If a member blocks the bot, their invite link is kept and shown the next time they open it, so blocking the bot does not lose them the access they paid for.
- The only chat the bot can post to is the connected chat, and anything posted there reaches every member. Leave the operator notification channel unset for Telegram unless you want your members reading your operational alerts. Administrators are messaged directly instead.
- Telegram Stars subscriptions are not used. Stars are Telegram's in-app currency, bought through Apple and Google in-app purchase or through PremiumBot, and withdrawn in Toncoin through Fragment. Arcalotl runs on Stripe and your own connected account instead, so your revenue arrives as money in a bank account.
One subscription across platforms
Plenty of communities run a Telegram channel and a Discord server at the same time, usually because the audience arrived on one and the conversation moved to the other. Billing them separately means two subscriptions, two cards, two cancellations, and two sets of numbers that never quite agree.
A member who links their Telegram and Discord identities with /link holds one subscription that grants access on both. The same applies to Fluxer. One payment, one renewal, one cancellation, and one figure for monthly recurring revenue.
What it costs
Arcalotl charges $0 a month and 2% of each successful payment. Stripe charges its standard processing fee of 2.9% and $0.30 on top, on your own account, as it would with any other tool.
There is no plan to pick, no member cap, and no monthly minimum. A channel that collects nothing in a given month pays nothing. Recovered payments and saved cancellations are charged the same 2% as any other payment, which means the retention features only cost you anything when they have already made you money. The full breakdown is on the pricing page.
Questions
Read next
Get started
A paid Telegram channel is not a hard thing to build. It is a hard thing to keep running by hand, and that is the part worth handing over. Connect the chat, connect Stripe, publish the plan links, and let the bot hold the door.