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.
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.
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.
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.
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.
All endpoints require a valid Bearer token. Obtain one from the Access Token endpoint and pass it as Authorization: Bearer <token>.
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.