EST. 2026
LAGOS, NG

Verify Nigerian student status in real time.

Institutions maintain the record. Platforms verify through one API. Students control who sees their data, and can see every check made against them.

Institutions live
63
4 onboarding
Enrolments held
1.42M
+1.4%
Median response
84ms
p95 112ms
Regulator coverage
NUC · NBTE · NCCE
Figures as at 1 August 2026. Institutions live counts those whose registry has committed at least one upload; onboarding counts those with a signed agreement and no commit yet.
01 — THE PROBLEM

Studentship is confirmed on paper, and paper is slow and forgeable.

The ID card proves nothing

A student ID is printed plastic. It costs less to forge than the account it opens, and nobody at the counter has any way to check it against the institution that issued it.

The letter takes two weeks

A bona fide letter means a queue at the registry, a signature from someone who is travelling, and a wait — for a fact the institution already holds in a database.

Verification goes stale silently

Nobody tells a bank when a student graduates. The student account, the concessionary loan, the discounted data bundle — all of it keeps running on a fact that expired two years ago.

02 — HOW IT WORKS

Three parties. One record.

01Registry
Institutions maintain

Registries upload their student list and process graduations, progressions and withdrawals. The record stays theirs — Bona never becomes its owner, and an institution can take its data out on the day it decides to.

spreadsheet · SIS push · portal
02Consumer
Platforms verify

Banks, NELFUND, telcos and scholarship boards ask one REST endpoint instead of phoning a registry. The answer comes back scoped to the tier they were approved for, and to what the student agreed to share.

GET /v1/verify/:nsid
03Student
Students consent

Nothing leaves the record without the student agreeing to it, field by field, with the real values shown before they decide. Every check made against them appears in their app, and any grant can be revoked.

consent · revoke · audit

No party can act alone: the institution cannot share a field the student has not consented to, the platform cannot read outside its tier, and Bona never becomes the owner of the record. That is the whole design — three parties who each hold one piece of the permission.

03 — THE STATUS ENGINE

Status expires on its own.

Nobody declares a status in Bona. Every enrolment carries a completion date computed from entry date plus programme duration, adjusted by direct-entry credit and by every strike and closure the institution has declared. A student still enrolled past that date files a re-validation, and a named person at their institution reviews it. The arithmetic is visible to everyone it affects.

Chinelo Umeh · University of Lagos
In grace
READ 9 AUG 2026
Programme duration
B.Eng Electrical & Electronic Engineering · 5 sessions
+60 mo
31 Jul 2026
Expected completion
31 Jul 2026

Past her expected completion date and inside the three-month grace period. Her institution has until 31 October 2026 to confirm she is still enrolled.

Every date shown anywhere in Bona is explainable by a trace like this one, down to the circular number behind the adjustment. It is what a student contesting a status, a registrar reviewing a re-validation and a bank auditing a lending decision are all actually asking for.

04 — FOR ENGINEERS
One endpoint. No approval gate.
REQUEST
curl https://api.bona.ng/c/NS-TEST-0001-AAAM

# The same record behind a key, with consent-scoped fields:
curl https://api.bona.ng/v1/verify/NS-TEST-0001-AAAM \
  -H "Authorization: Bearer bona_test_…"
RESPONSE
{
  "status":      "…",
  "institution": "…",
  "programme":   "…",
  "level":       …
}
Public attestation endpoint · no key, no account

Attestation — enrolled or not, and where — needs no consent and no key. Everything past that does: a student grants fields, not scopes, and the grant is checked live on every call, so a revocation takes effect immediately rather than at the end of a cache window.