phpBB Crypto Payments: Sell Paid Group Membership for USDT

phpBB has no built-in way to sell access. Here is how to add phpBB crypto payments, grant a paid group automatically after payment and remove it when the period ends.

17.10.202610 Min. Lesezeit
A phpBB Supporters group list next to a paid 5 USDT invoice for 30 days and a +30 days renewal card

phpBB crypto payments work through an extension that adds a payment page to your board, creates a crypto invoice for the logged-in member, and adds them to a group of your choice once the payment confirms. phpBB 3.3 has no paid subscriptions of its own, so the extension does two jobs: it takes the money and it manages the group membership, including removing it when the paid period ends.

That setup covers the two things most boards want to charge for. One is a paid group: VIP or supporter status, access to private forums, no ads, bigger attachment limits, or anything else you control through group permissions. The other is donations toward hosting costs, with no group attached.

This guide walks through how it works, what to set up on phpBB 3.3, how renewals and expiry behave without card subscriptions, and the mistakes that cause most problems on live boards.

Why phpBB boards add crypto payments

Most phpBB boards that charge for anything use PayPal, often through an old group-subscription extension. That works until it doesn't. Small communities get flagged, members abroad can't use the method you offer, and some members simply won't give a card to a site they know only by a nickname.

Crypto removes most of that friction:

  • Members pay from any country with the coin they already hold, most often USDT.

  • There are no chargebacks. A confirmed on-chain payment can't be pulled back months later, which matters for digital access that can't be "returned".

  • Fees are predictable. You pay one percentage on paid invoices and the network fee on withdrawal, with no monthly minimum.

What crypto doesn't give you is automatic monthly charging. Nobody can pull money from a member's wallet. Renewals are a new payment each period, and the extension handles that cleanly, as described below.

How phpBB crypto payments work, step by step

A sound integration on phpBB follows the same flow every time:

  1. The member opens the payment page. The extension adds a "Pay with crypto" link to the header. The page lives at /app.php/zypher/pay, or /zypher/pay with pretty URLs. Guests are asked to log in first, because the payment has to be tied to an account.

  2. The board creates an invoice. The price is set in fiat, for example 5 USD, and the extension asks the gateway for an invoice for that amount. If the same member opened the page in the last 30 minutes and that invoice is still open, it is reused instead of creating a duplicate.

  3. The member pays on the hosted page. They pick a coin and network, for example USDT on TRC20, scan the QR code and send the payment to the invoice's own deposit address.

  4. The gateway sends a signed webhook. Once the payment has its confirmations, the gateway calls your board's webhook URL. The extension checks the HMAC signature, then reads the invoice back from the API before trusting it.

  5. The extension grants the group. It checks that the invoice is paid, that the currency matches and that the amount covers the price, then adds the member to the group. Duplicate webhook deliveries are ignored, so a member is never processed twice.

The member doesn't wait for you to approve anything. On fast networks the whole loop takes a minute or two.

Setting up the extension on phpBB 3.3

You need phpBB 3.3.x and PHP 7.4 or newer with cURL, which nearly every host has. The Zypher extension for phpBB is listed on the phpBB plugin page. The setup is short:

  1. Create the group you will sell. In the ACP, go to Users and Groups and create a group such as "Supporters". Give it only the permissions that come with paid access: a private forum, a higher upload quota, a rank, or hidden ads.

  2. Upload and enable the extension. Upload the ext/ folder to the board root so it lands in ext/zypher/payments/, then enable it under Customise → Manage extensions.

  3. Create a store at the gateway and copy its API key and API secret.

  4. Fill in the settings. Enter the key and secret, the price, the currency code (USD, EUR or RUB, for example), the group to grant and the duration in days. Pick "None" as the group if you only want donations. Set the duration to 0 for lifetime access.

  5. Paste the webhook URL from the settings page into your store's webhook field in the gateway dashboard.

  6. Test with a real small payment. There is no test mode, so set a low price on a test group, pay it from your own wallet on a cheap network and check that your account lands in the group.

Choosing a price and currency

Price the membership in the fiat currency your members think in, not in a coin. A 5 USD supporter group costs 5 USD whether the member pays in USDT, BTC or TON. The gateway converts at the current rate when the member picks a coin.

Keep the price meaningfully above typical network fees. Most members will pay in USDT on TRON or another low-fee network, but someone sending a small amount on Ethereum can pay more in gas than the membership costs. See how to accept USDT on your website for how the networks compare from the merchant's side.

Renewals and expiry without card subscriptions

This is where phpBB setups usually go wrong, so it's worth understanding exactly what happens.

Expiry. When you set a duration, say 30 days, the extension stores an expiry date with each payment. A phpBB cron task runs about once an hour and removes members whose period has ended. It keeps the membership if the member has another paid period for the same group still running.

Renewal. A member renews by paying again from the same page. The new period is added to the end of the current one rather than starting from today. A member who renews early loses no days, and two overlapping payments don't cancel each other out.

Lifetime. With a duration of 0, the group is never removed.

SituationWhat the extension does
First payment, 30 daysAdds the member to the group, sets expiry to 30 days from now
Renewal 5 days before expiryExtends the current period by 30 days
Period ends with no renewalHourly cron removes the member from the group
Duration set to 0Member stays in the group permanently
Group set to "None"Payment is recorded as a donation, nothing is granted

Since nothing charges automatically, remind members before their period ends. A post in the supporters' forum or a private message a few days before expiry brings back most renewals.

What members see when they pay

The payment page is hosted by the gateway, so you don't build or maintain a checkout. Members get a page in their language with:

  • the price in your currency and the amount in the coin they chose

  • a QR code and the deposit address, unique to that invoice

  • a live countdown

  • clear messages if they send too little, too much, or pay after the invoice expires

With Zypher, members can pay in USDT on TRC20, ERC20, BEP20, TON or Solana, USDC, BTC, ETH, LTC, TON, XMR and other coins. A payment of at least 98% of the amount counts as paid. Below that, the invoice is marked underpaid, the member can top up the difference on the same invoice, and the group is only granted once the total covers the price.

Fees and where the money goes

There are three costs to plan for:

  • Gateway commission. At Zypher it is 1% of each paid invoice for most boards, falling to 0.25% at high monthly volume. There are no setup or monthly fees, as of October 2026 (see pricing).

  • Network fee paid by the member. This is the cost of sending the transaction, and it is why low-fee networks matter for small memberships.

  • Network fee on your withdrawal. You pay it once when you move your balance out, not on every payment.

Payments land in your gateway balance. You can keep them in the coins received, swap them in the built-in exchange, or turn on auto-convert so every payment becomes USDT. That keeps your income stable when BTC or TON prices move.

Common mistakes on live boards

Selling an admin or moderator group. The settings warn against it for a reason. Always create a dedicated paid group.

Relying on page-view cron on a quiet board. Expiry runs late or not at all. Use a system cron job.

Forgetting the webhook URL. Without it, payments arrive but nobody is added to the group. Paste the URL from the extension's settings page into the store, and re-check it after you move the board to a new domain or switch to HTTPS.

Testing only with the admin account. Admins already see everything, so you can't tell whether the paid group actually unlocked anything. Test with a normal member account.

Setting a price too close to network fees. A 1 USD membership paid on Ethereum makes no sense for the member. Keep prices above a few dollars, or point members to TRON, TON or Solana.

Promising monthly auto-charge. Crypto memberships renew by a new payment. Say so on the payment page or in the forum rules, so nobody expects to be billed automatically.

phpBB, other forum platforms and when to switch

phpBB's lack of built-in paid features is why the extension carries the full membership logic. XenForo and Invision Community have their own paid upgrades, and a crypto gateway plugs in as a payment method there. MyBB is closest to phpBB and works the same way, through a plugin that sells usergroup access. If you run several communities, the guide for forums and communities covers the differences.

For a single phpBB board that wants to sell one paid group or take donations, the extension is enough. You don't need to migrate platforms to start charging.

If you want to try it, create a Zypher account, open a store, and install the phpBB extension. Opening a store needs no documents, and incoming payments are screened for AML risk.

FAQ

Does phpBB support crypto payments out of the box?

No. phpBB 3.3 has no payment or subscription features of its own. You need an extension that creates crypto invoices, listens for the gateway's webhook and adds paid members to a group. The Zypher extension does all three and also removes members when their paid period ends.

Can members pay with USDT on TRC20?

Yes. On the hosted payment page the member chooses the coin and network, and USDT on TRC20 is one of the options. It's the most common choice for small payments because the network fee is low. USDT on BEP20, TON and Solana are similar low-fee options.

Is there a recurring monthly charge for phpBB memberships?

No, and no crypto gateway can pull money from a member's wallet automatically. A member renews by paying again from the same page. The extension adds the new period to the end of the current one, so renewing early loses no days.

What happens if a member sends less than the price?

The invoice is marked underpaid and the group is not granted yet. The member can top up the missing amount on the same invoice. Once the total covers the price, the webhook arrives and the member is added to the group automatically.

Can I use the extension for donations only?

Yes. Set the group to "None" in the settings and every payment is recorded as a donation without granting anything. You can still set the price, for example 5 USD, as the suggested donation amount.

Do I need a company to accept crypto on my forum?

Opening a Zypher store needs no documents. Whether you have to register income from your board depends on your country, so check local rules or ask an accountant. Incoming payments are screened for AML risk.

phpBB Crypto Payments - Paid Groups for USDT and BTC | Zypher