Skip to main content
🛡️

BVN Verification

Verify a customer's Bank Verification Number via the NIBSS iGree Consent Layer. This is a three-step flow — OTP generation and delivery are handled entirely by NIBSS. On completion, you receive the full BVN profile including a face image.

🔐 NIBSS-managed OTP👤 Full profile + face image🪪 NIN linkage included

Verification Flow

The BVN flow runs through the NIBSS iGree Consent Layer — three calls must be made in sequence. Pass the requestId returned in step 1 to steps 2 and 3.

1
Get Auth Methods

Submit the customer's BVN. NIBSS returns the masked phone number and/or email address registered against it. Save the meta.requestId from the response — it is required in every subsequent step.

masked contacts + requestId
2
Verify Auth Method

Using the requestId from step 1, select the contact channel (phone or email) the OTP should be sent to. NIBSS dispatches a one-time passcode directly to the customer — your server is not involved in delivery.

OTP dispatched to customer
3
Fetch BVN Details

Submit the requestId and the OTP provided by the customer to complete verification. On success, the response contains the customer's personal details, address, linked NIN, and a base64-encoded face image that can be passed directly to Face Compare.

full BVN profile + base64 face image
Bearer token required

All endpoints require a valid Bearer token. Obtain one from the Access Token endpoint and pass it as Authorization: Bearer <token>.

Using the face image downstream

The data.face_image field returned by Fetch BVN Details is a base64 string. You can pass it directly as the referenceImage in Face Compare to check a live capture against the BVN record.

Endpoints