Sign-up and sign-in
Email verification, password sign-in and optional passkeys. Use our hosted pages with OpenID Connect, or call plain REST endpoints from your own backend and keep your own screens.
Identity, tenants and permissions as a service
Give every customer of your product their own isolated workspace, their own roles and their own permissions. You define what a permission means; we handle who the user is, which tenant they belong to and what they are allowed to do.
Create a free accountSign inRead the developer guide
Start with 10 requests a day before you add a card. No contract, no sales call.
Email verification, password sign-in and optional passkeys. Use our hosted pages with OpenID Connect, or call plain REST endpoints from your own backend and keep your own screens.
Every customer account is its own tenant. Roles, permissions and members belong to exactly one tenant and can never be read or assigned from another.
Register your own permission keys, bundle them into roles and assign roles to members. We never interpret a permission key. Each tenant starts with a protected administrator role and nothing else.
Exchange your client ID and API key for a short-lived signed token. Rotate keys with a grace period, revoke them instantly and delete them when they are done. Secrets are stored only as hashes.
Validate national identity and bank verification numbers for your users and optionally require a check before sign-in. Only a keyed hash is stored, never the number.
Set an allowance and a period and get an email as usage approaches it. Every request is metered per application, and you see your plan and remaining allowance at all times.
Register and verify your email in the developer portal.
You get an application ID and a client/tenant ID, and you become its administrator. Run several applications from one login.
Shown once. Add a card to lift the starter limit, then go to production when you are ready.
Exchange clientId:apiKey for a token, then send it with X-Application-Id to register and sign in your users.
curl -X POST https://<this-host>/application/auth \
-H "Authorization: Basic $(printf '%s:%s' "$CLIENT_ID" "$API_KEY" | base64 -w0)"
curl -X POST https://<this-host>/tenant/user/login \
-H "Authorization: Bearer $TOKEN" -H "X-Application-Id: $APPLICATION_ID" \
-H "content-type: application/json" -d '{"email":"user@example.com","password":"…"}'
The quickest start. Your backend posts credentials to /tenant/user/register and /tenant/user/login and gets tenant-scoped tokens back. You build your own screens.
Users sign up and sign in on our pages with the authorization-code flow and PKCE, so your backend never sees a password. Applications are registered by the platform operators.
Billed in US dollars. Cards can be charged in USD or NGN. Every call made on behalf of your application counts as one request.
Loading current prices…
Identity checks such as NIN and BVN are priced per call and shown in your dashboard. Adding a card places a small refundable charge to prove it works.
API keys are stored as hashes and shown once. Rotate, revoke or delete them yourself at any time.
The platform owners see aggregate statistics only. There is no screen or API that lists your users, their emails or their identity records.
Pages run under a strict content security policy, privileged operators confirm with passkeys, and every sensitive change is written to an audit log.