PFlux DOCS
GitHub Integration enquiries Start integrating
PAYMENTS/TELEGRAM CHANNELS

Telegram channels

A bot that lets paying subscribers into your private channel or group and removes them when they stop paying. The money goes straight to your wallet.

BOT@p2flux_gate_bot
WORKS WITHPrivate channels · supergroups
PRICEA subscription payment link
FEE2% per payment
MEMBER’S WALLET → P2FLUX → YOUR WALLET · THE BOT OPENS THE DOOR

P2Flux Gate is a Telegram bot for paid private channels and groups. Members subscribe on the P2Flux payment page with their own wallet, the bot sends them a personal invite, and removes them when a renewal is not paid. The money goes straight to your wallet; the bot never takes a payment and never shows a price in Telegram.

Overview

The bot connects a Telegram chat to a subscription payment link. Everything about the money - the price, how often, collecting each renewal - is that payment link. The bot only learns from P2Flux whether a member’s subscription is paid, and lets them in or out.

WHODOESWHERE
You (channel owner)Add the bot as an admin, send /setup, connect a subscription link, share one linkTelegram + the P2Flux page
MemberOpens your link, subscribes from their wallet, taps JoinTelegram + the P2Flux page
P2FluxCollects each renewal from the member’s wallet straight to yoursOn chain
The botSends personal invites, removes members whose subscription stoppedTelegram

What you need

  • A private Telegram channel, or a supergroup, where you are the creator or an admin. Public chats (with an @username) cannot be gated - anyone could join without the bot. Basic groups cannot approve join requests; Telegram turns a group into a supergroup when you switch on "Approve new members" once.
  • In a group: members must not be allowed to add members (Permissions → Add members: off).
  • A wallet address on Base that receives the money. It needs no funds.
  • No P2Flux account, no website and no code.

Set it up

STEPWHAT YOU DOWHAT THE BOT DOES
1In your chat: Administrators → Add Admin → @p2flux_gate_bot, with the rights Invite users via link and Ban users.Messages you: “Added to … Send /setup to connect it.”
2In a private chat with the bot, send /setup and tap your chat.Checks that the chat is private, that members cannot add members and that it has both rights; tells you what to change if not. Then sends a “Create the plan” button.
3On the P2Flux page choose Subscription, your wallet, the price (at least 1 USDC) and how often. Create it.-
4Paste the link to share (…#/link/p2l1…) into the bot chat.Shows the wallet and the period: “Connect … to this plan? Wallet 0x…, every 30 days.”
5Check the wallet and tap Connect.Answers with your channel link, t.me/p2flux_gate_bot?start=c_…. Post it wherever you sell.
KEEP THE OVERVIEW LINK PRIVATE

Creating the plan also gives you a private overview link (…#/links/p2lm1…). It shows your subscribers and can collect or stop their subscriptions. Never send it to anyone, the bot included - if you paste it into the bot chat, the bot deletes the message and asks for the link to share.

Only the admin who added the bot, or the chat’s creator, can connect a chat. Once connected, only that owner or the creator can connect it to another plan.

What a member does

STEPMEMBERWHAT HAPPENS
1Opens your channel link and taps Start.The bot shows the channel name and a Continue button (no price in Telegram).
2Taps Continue: the P2Flux payment page opens. Connects a wallet and confirms the subscription.The first period is paid at once. No ETH is needed: the network fee can be paid in USDC.
3Taps Back to Telegram.Within about a minute the bot sends “You are in” with a Join button and Manage subscription.
4Taps Join.They are in the chat at once - no request to approve.
  • Members pay in USDC on Base. Someone who has none can buy USDC in a wallet app or an exchange and send it to their wallet on the Base network - USDC sent on another network does not arrive.
  • The Join button works once, for 7 days, and only for that member. Whoever else uses it is removed at once and told where to subscribe; the member gets a new button. Opening the channel link again also gives a new one.
  • Members cancel with Manage subscription, or by revoking the authorization in their wallet. They keep access until the end of the period they paid for.

Renewals and removals

Each renewal is collected by P2Flux from the member’s wallet, the same way as every payment-link subscription. If the wallet cannot pay, P2Flux tries again - after an hour, after six hours, then daily - within a retry window of a quarter of the period, at most three days. Nobody is removed while it is still trying.

PAIDThe member stays. Nothing happens in Telegram.
WALLET SHORTRetried within the window; the member stays in meanwhile.
NOT PAIDAfter the paid period and the retry window the bot removes the member and sends a Try again button. Tapping it collects the open period; once paid, they get a new Join button.
CANCELLEDAccess until the end of the period already paid, then removed with a link to subscribe again.
STOPPED BY YOURemoved when the period they paid for ends; told that you paused their subscription.

A short outage on P2Flux’s side never removes anyone: a renewal P2Flux itself could not collect does not count against the member. If renewals stay uncollected for two periods in a row, or collection is paused after an uncollected period, the member is removed until a renewal is collected again.

Removing is a ban followed straight away by an unban, so a removed member can always subscribe again. Admins of the chat, and people the chat’s admins banned themselves, are never touched.

Managing members

YOU WANT TODO THIS
See how many have accessSend /members to the bot: “Your channel: 12 with access, 2 ended”.
See each subscriber, payments, next collectionOpen your private overview link.
Collect a renewal nowOverview → Collect now for that subscriber.
Stop charging someoneOverview → Stop collecting. The bot removes them when the period they paid for ends.
Remove someone immediatelyRemove them in Telegram yourself, and use Stop collecting so they are not charged again.

Changing the plan

  • To change the price or the period, create a new subscription link and send /setup again. New members join the new plan.
  • Existing members keep the plan they signed until they cancel; their renewals keep counting.
  • A payment link takes new subscribers for up to a year. Two weeks before it expires the bot reminds you to connect a new one; existing members are not affected.

Good to know

  • The bot manages only people who join through it. Anyone you add another way is not checked.
  • If you remove the bot (or its rights), nobody new can join and nobody is removed. Add it back: whoever paid in the meantime automatically gets a Join button.
  • Telegram can limit or remove a bot at any time; then the same applies, and subscriptions continue.
  • Members need a wallet with USDC on Base. Payments are blockchain transactions and cannot be reversed; refunds are between you and the member.
  • The bot speaks English.

What is stored

The bot keeps the Telegram ids of channel owners and of members who subscribed through it, the connected chat’s id and title, and for each member the subscription id, its state and how far it is paid - no names, phone numbers, messages, wallet addresses or amounts. A member’s record is deleted 30 days after the subscription ended, or 90 days after access lapsed while it was only paused, once they are no longer in the chat. Details are in the privacy policy, section 10.

Troubleshooting

MESSAGE / SYMPTOMWHAT TO DO
“… is public (@…)”Make the chat private, then /setup again.
“… is a basic group …”Switch on “Approve new members” once (Telegram makes it a supergroup), add the bot again, /setup.
“members can add other members”Group Permissions → Add members: off. Then /setup.
“I need the admin rights to invite users and to ban users”Edit the bot’s admin rights: both on.
“That is not an open subscription link on this network”Send the link to share of a Subscription (not an invoice or fixed price), created on pay.p2flux.com.
“Only the admin who added me, or the creator of the chat, can connect it”Ask that admin or the creator to run /setup.
A member paid but got no Join buttonAsk them to open the channel link again: once the payment has arrived, the bot sends the Join button again.
“This signup was started from another Telegram account”The member opened someone else’s signup link. Access goes to the account that started it; they should cancel and open the channel link themselves.
Something more than a standard integration?
Marketplace flows, platform billing and custom settlement logic.
Discuss an integration