Guides

Plan Limits and Access

What happens when your organisation reaches a plan limit, or its access is restricted.

On a hosted deployment, the platform operator can put your organisation on a plan with limits, and can restrict its access (for example while an invoice is overdue). The dashboard shows both, and the API returns clear errors your code can handle.

Cloud plans

Every organisation on the cloud starts on Free, and can move to Growth at any time from Plan in the dashboard sidebar:

FreeGrowthEnterprise
PriceFree$15 a month, or the same in your currency, for example UGX 55,000, KES 1,900 or NGN 22,000; a year costs ten monthsAgreed with you; ask us
Customers1,000UnlimitedUnlimited
Active subscriptions1,000UnlimitedUnlimited
Invoices a month2,500UnlimitedUnlimited
Team members5UnlimitedUnlimited
Features, including managed paymentsAllAllAll, with a negotiated managed payments fee
SupportCommunityPriorityService level agreement and a named account manager

Growth can be paid in every currency Flutterwave takes: UGX, KES, TZS, RWF, NGN, GHS, ZAR, XAF, XOF, ZMW, MWK, EGP, USD, EUR and GBP. Pick yours on the Plan page. Prices are set for African businesses first. The cloud earns mostly from the managed payments fee, so Free is generous, and Growth costs about as much as a monthly phone bundle. Enterprise has no public price: use Talk to us on the Plan page, and the platform operator moves you onto it and invoices you directly.

The platform operator can also make an organisation a Partner. Partners are Cybroid's own products and its partners: they have no limits and pay nothing. The operator sets this in the control panel, under the organisation's Plan and limits.

Upgrading opens a checkout for your first invoice, payable by card or mobile money; the plan changes as soon as the payment is confirmed. Renewals are invoiced at the start of each period. If a renewal stays unpaid for 7 days after the paid period ends, the organisation returns to Free (nothing is deleted; only creating more than Free allows is refused). Cancel from the same page to return to Free at the end of the period you paid for.

Self-hosted deployments have no plans or limits.

Plan limits

A plan can limit the number of customers, active subscriptions, invoices per month and team members, and can leave out features (usage billing, money movement, wallets, the ledger). When a request would go past a limit, it is refused with 402 Payment Required:

{
  "statusCode": 402,
  "code": "PLAN_LIMIT",
  "message": "Starter allows up to 100 customers.",
  "plan": "Starter",
  "upgradeUrl": "https://example.com/upgrade"
}

Reading is never limited: only creating more of a limited thing is refused. upgradeUrl is where to change plan, when the operator has set one. The dashboard shows your plan and its limits next to your organisation name.

Restricted access

AccessWhat works
FullEverything
Read-onlyEverything that reads; creating or changing anything is refused
SuspendedNothing, except reading your organisation's details

A refused request returns 403 Forbidden with code TENANT_READ_ONLY or TENANT_SUSPENDED, the reason the operator gave as message, and accessUrl where to resolve it, if set. The dashboard shows the same reason in a banner.

Copyright © 2026