Generate Access Codes
Create redeemable access codes for free memberships, offline sales, giveaways, team access, or influencer campaigns.
By the end of this page, you'll know how to generate access codes in bulk, set expiry rules, export them, and understand the quota system.
An access code is a unique alphanumeric key that a user can redeem instead of paying through a payment gateway. Each code is tied to a specific subscription plan and grants one subscription when redeemed. Perfect for:
- Offline sales — you took a bank transfer, cash, or invoice-based payment, and now you issue a code.
- Giveaways — free access for community winners, contest participants, or loyal fans.
- Influencer gifting — send 50 codes to an influencer to distribute to their audience.
- Team access — grant employees or collaborators free memberships without going through billing.
- Access-code-only plans — some plans are designed to only be reachable via codes (see Subscription plans → Access codes only).
Navigating to Access Codes. Select a project first, then open Access Codes from the sidebar.
Prerequisites
Before you can generate codes, two things must be in place:
- A connected bot — codes are redeemed via Telegram, so the bot needs to exist. See Connect your bot.
- Access Codes enabled as a payment method — toggle it on from Payment Methods. No configuration fields needed, just enable it.
Generate codes
Open the modal
Click Generate New Access Codes at the top-right of the Access Codes page.
Pick a subscription plan
Every code is tied to one plan. When redeemed, the user gets that plan's subscription. Choose from the dropdown — only active plans are shown.
Quantity
How many unique codes to generate in this batch. Up to 1,000 per batch — generate multiple batches if you need more.
Every code is a freshly-generated string unique to your project — members can't guess or brute-force codes, and two projects never share code space.
Code expiry
This controls when the code itself becomes unredeemable — not the subscription duration. A subscription activated by a code follows the plan's normal billing cycle.
- No expiry — the code stays redeemable indefinitely.
- Presets — 1 day, 1 week, 1 month, 1 year.
- Custom — enter a custom number of days (e.g. "redeemable for 3 days only").
Unredeemed codes that pass their expiry are automatically deleted to free up your quota. Redeemed codes stay in your history for reporting.
Consent & review
Tick the consent checkbox to confirm you're generating codes you intend to distribute. Review the summary — including any fees if you're over your free quota (see below).
Click Generate Codes. The system queues a background job and the bot sends you the codes via Telegram as soon as they're ready.
How the codes arrive
You'll receive the batch directly in your Telegram chat with the bot. For small batches (under 25 codes), each code is sent as an individually forwardable message — convenient for gifting or pasting into Slack/DMs. For larger batches, the bot delivers a CSV file you can download and manage in Excel, Google Sheets, or Airtable.
The CSV export contains these columns per code:
| Column | What it holds |
|---|---|
| Access Code | The actual redeemable string |
| Plan Name | Which plan this code unlocks |
| Join Link | A deep-link to your bot: https://t.me/YourBot?start={code} |
| Expires At | When the code becomes invalid |
| Price | Face value of the plan |
| Currency | Currency of the plan |
| Started On | When the code was generated |
| Ends On | When the resulting subscription would expire (if the plan is not Lifetime) |
Paste the Join Link into email campaigns, landing pages, or influencer packs — tapping it drops the user into your bot with the code already applied, so they just confirm and get their access.
How subscribers redeem
From your subscriber's perspective:
The easiest redemption path — one tap.
- You share the Join Link (from the CSV) with them.
- They tap it. Telegram opens your bot and passes the code as a parameter.
- The bot greets them, confirms the plan, and after consent, activates the subscription.
View, filter, and audit codes
The Access Codes page lists every code you've generated, with filters for plan, redemption status, and expiry window. You can:
- Search by the code string itself (handy when a subscriber emails you a code that "doesn't work" — you can look it up).
- Filter by status — show only unredeemed codes, only redeemed, only expired, etc.
- Export CSV — download the filtered view for external reporting, including the columns shown above.
Quotas and fees
Every creator plan includes a free quota of access codes per billing cycle:
- Free: 5 codes per cycle
- Starter monthly: 25 codes per cycle
- Starter annually: 250 codes per cycle
- Growth monthly: 150 codes per cycle
- Growth annually: 1,500 codes per cycle
A code counts against the quota when a subscriber redeems it, not when you generate it. Generating a batch costs nothing on its own, and codes that expire unredeemed never count at all.
During your free trial the quota stays at 5
A trial gives you every feature of the plan you are trying, but the access-code quota stays at the Free plan's 5 per cycle until your first payment goes through. Each code inside the quota is a sale Subscriby waives its commission on, so that part of the plan starts when the plan does — the same reason your transaction fee stays at the Free rate during a trial.
You can still generate as many codes as you like while trialling. Redemptions beyond the five are simply charged at your usual rate, and the full quota opens up the moment the first payment lands. See Transaction fees.
Going over quota
Once redemptions pass your quota for the cycle:
- Per-code overage fee applies to each redemption beyond the free limit.
- The fee is included in your monthly Subscriby invoice (metered billing).
- You'll see the expected overage cost in the generation modal before you confirm, based on the codes you are about to create.
Unused quota doesn't roll over. If your cycle gives you 25 codes and only 8 are redeemed, the remaining 17 disappear at cycle-end. Plan bulk campaigns to land within a single cycle if you're on tight quotas.
Deleted codes free up quota
Unredeemed codes that expire are auto-deleted, and the deletion frees up quota for the current cycle. So a code you generated yesterday that expires today doesn't count against your allowance anymore.
Frequently asked
Related
- Payment methods — enable Access Codes as a payment method before generating.
- Subscription plans — the plans your codes unlock.
- Exporting data — CSV export details, including access code columns.
- Redeem an access code — the subscriber-side experience.
How is this guide?
Pass Series
Sell a season ticket — one payment that covers a whole slate of dated passes drawn from your other pass plans.
Coupon Codes
Issue one code any number of subscribers can redeem for money off — percentage or fixed, capped, plan-restricted and scheduled, with a Promotion Impact card that measures what it earned.