Using the console
Billing and usage
Plans, how monthly active users are counted, what happens at a limit, and how invoices work.
Billing & usage shows your plan, this period’s usage, your limits and your invoices. Owners and admins can see it; only the owner can change the plan or the billing details.
Plans
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Monthly active users included | 10,000 | 50,000 | 250,000 | Agreed |
| Beyond that | New users wait for next month | ₦3 per user | ₦2 per user | Agreed |
| Projects | 2 | 10 | Unlimited | Unlimited |
| Team seats | 3 | 10 | Unlimited | Unlimited |
| Image storage | 500 MB | 10 GB | 100 GB | Unlimited |
| Log retention | 7 days | 30 days | 90 days | Agreed |
| Remove ZevAuth branding | ✓ | ✓ | ✓ | |
| Custom email sender | ✓ | ✓ | ✓ |
Prices are on the Billing page, monthly or yearly. Enterprise is arranged with us directly.
Monthly active users
A monthly active user is a person who signed in to one of your production apps during the calendar month, or whose session was renewed during it. Each person counts once a month, however often they sign in, across all your production environments.
Development environments are never billed. They have their own cap of 100 users each.
People who signed up but did not come back that month are not counted.
Reaching the free allowance
On the free plan, when your production apps reach 10,000 active users in a month:
- People already active this month keep signing in as normal.
- Anyone new cannot sign in to your production apps until the month ends,
or until you upgrade. Their sign-in fails with code
mau_limit_reached(see Errors). - Owners and admins get a notification at 80% and again at 100%, so there is time to act before anyone is turned away.
Paid plans are never stopped: each user beyond the allowance is billed at the plan’s overage rate.
Other limits
| Limit | When you reach it | Error code |
|---|---|---|
| Projects | Creating another project is refused. | plan_limit_projects |
| Team seats | Inviting another person is refused. Pending invitations count. | plan_limit_seats |
| Custom email sender | Setting one up is refused on plans that do not include it. | plan_feature_unavailable |
| Image storage | New uploads are refused. The limit covers the whole workspace. |
After a downgrade nothing is deleted. You keep what you have but cannot add more until you are under the new limits. If your new plan does not include a custom sender, your emails are sent from ZevAuth’s address instead, so they keep arriving.
Changing plan
Only the workspace owner can change the plan. A paid plan needs billing details with a billing email first, so invoices can reach you.
- Upgrades apply immediately.
- Downgrades, switching between monthly and yearly, and cancelling apply at the end of the current period. You keep what you paid for until then.
Invoices
Each period is invoiced when it ends: the plan’s price plus any overage. A yearly plan’s overage is worked out month by month, each month against the monthly allowance.
Invoices are due 14 days after they are issued and can be paid from the link on the invoice.
If an invoice is not paid
- On the due date, the workspace is marked past due and owners are notified. Upgrades are paused until it is paid.
- 14 days after the due date, if it is still unpaid, the workspace moves to the Free plan and owners are notified again. The invoice is still owed.
Your apps keep working throughout. A workspace is never suspended for an unpaid invoice, so your users can always sign in.
Questions about an invoice go to ZevAuth support.
Updated at, Sunday, November 1, 2026