Blogidentity verification
Article 18 of 23

August 3, 202612 min read

Identity Verification in Nigeria: The Complete Developer Guide

How to verify a person's identity in a Nigerian mobile app: live face capture, ID reading, face matching, compliance and cost, with the build order that works.

Veris TeamVeris
Identity Verification in Nigeria: The Complete Developer Guide

Introduction

Nigerian founders and engineers: you can have identity verification running in your app this week, without storing a single face and without a bill that grows with every signup. This guide shows the whole flow, what each step costs you in time and money, and the build order that gets you live fastest.

Want to skip the reading? Create a free account and run the entire flow in the sandbox today. No card, no business verification, all three products. Start free

It is the hub for the rest of the Veris blog. Each section links to a deeper article when you want the detail.

01What "identity verification" actually means

People use the phrase for three different checks. Keep them apart, because each needs different technology and fails in a different way.

  1. Is a real, live person in front of the camera? This is liveness. A photo of a photo, a video on another screen or a printed mask should fail.
  2. What does the identity document say? This is document reading, usually OCR. You want the name, date of birth, document number and the photo on the card, as clean fields.
  3. Is the person holding the phone the person on the document? This is face matching. You compare the live face with the photo on the ID and get a similarity score.

A complete flow is those three checks in a row, plus a backend that decides what to do with the result. Veris has one product for each: Capture for live face capture and liveness, Scan for reading Nigerian IDs and utility bills, and Compare for the face match, all on one key.

02What identity verification is not

Two limits are worth stating plainly, because they decide what else you need.

  • It is not a database lookup. Reading a NIN slip tells you what is printed on the slip. It does not tell you that the NIN exists in the national database. If your regulator or partner bank requires a database check, that is a separate service that you run alongside this flow. Veris does not query NIN or BVN records.
  • Reading a document is not authenticating it. OCR extracts text and checks that each field looks like what it should (an NIN has 11 digits, a date is a real date). It does not judge whether the card is genuine or forged.

Knowing this early saves you from promising your compliance team something the flow cannot deliver.

03The flow, step by step

1. Capture a live face

The user opens the camera inside your app. A good capture step does the unglamorous work before the photo is taken: it checks lighting, blur, face position and whether anything is covering the face, and it only captures when the frame is good. It then runs liveness checks.

Passive liveness looks at a single moment of the face for signs of a printed photo or a screen. Active liveness asks the user to do something, such as turn their head, so a static image cannot pass. We explain the difference, and when each is worth the extra friction, in Face Liveness Detection Explained.

Where this runs matters. Veris Capture runs on the phone, so the image never travels to Veris. Your app receives a result that is signed on the device, and your backend verifies the signature. See the Capture integration guide for the code.

2. Read the ID document

Next, the user photographs their document. Nigerian IDs are harder for generic OCR than people expect: laminated surfaces cause glare, security patterns sit behind the text, and layouts differ between the NIN slip, the national ID card, the driver's licence, the international passport and the voter's card. The details are in our Nigerian ID OCR guide. For a tour of the documents themselves, read Nigerian ID Verification: NIN, Driver's Licence, Passport, PVC and Utility Bills.

Good document reading returns named fields in one consistent shape, validates each field, returns an empty value instead of a wrong one, and gives you the face photo printed on the ID. Veris Scan reads five identity documents and four proof-of-address documents on the device, so nothing is uploaded while the user scans.

3. Match the faces

Now you have two images: the live capture and the photo from the ID. Your backend sends both to a face matching API and gets a similarity score and a recommendation. The skill here is choosing the threshold, because a threshold that suits a 10-year-old ID photo is wrong for a step-up check on a fresh selfie. We cover that in Face Matching API Explained.

4. Decide on your backend

The phone is not a trusted place to make the decision. Your backend should verify the signed capture result, check that its one-time number (nonce) has not been used before, run the face match, and only then mark the user as verified. The architecture is in Document Verification API Design.

04Compliance in Nigeria

Compliance is where teams lose the most time, so decide your position before you write code.

Data protection. The Nigeria Data Protection Act 2023 governs how you handle personal data, and biometric data used to identify a person is sensitive personal data. The simplest way to reduce your exposure is to store less. If face images never reach your servers, or are deleted straight after a comparison, there is much less to protect, disclose and eventually lose. Read NDPR Compliance for Identity Verification: A Developer's Guide for the practical checklist, and note that the NDPR it discusses has since been succeeded by the NDPA. The regulator is the Nigeria Data Protection Commission.

Financial regulation. If you operate under the Central Bank of Nigeria, your onboarding has to fit its customer due diligence rules. Its December 2023 circular, as published on the CBN's BVN page, requires BVN and NIN for individual Tier 2 and Tier 3 accounts and wallets, and BVN or NIN for Tier 1. In March 2026 the CBN also issued baseline standards for automated anti-money-laundering systems. We unpack what that means for developers in CBN AML Baseline Standards for Fintech Developers. Always read the current circular yourself or ask your compliance adviser. This guide is not legal advice.

The point to take away is that identity verification gives you evidence that the right person was present with the right document. Your compliance programme decides what you do with it.

05Designing the flow so users finish it

Most onboarding losses are not fraud. They are honest people who give up. Three habits help.

  • Explain before you ask. One screen that says what you will ask for, why, and that the image stays on the phone, converts better than a sudden camera prompt.
  • Tell people what to fix. "Too much glare, tilt the card" beats "Capture failed". Every failure state should say what to do next and offer a retry.
  • Respect the device. A large share of Nigerian users are on low-end Android phones with weak cameras and patchy data. Processing on the device avoids uploading big images over a bad connection. Our notes are in Mobile Identity Verification on Low-End Android Devices and Designing a Frictionless KYC Onboarding Flow.

The business case for getting this right is in The Hidden Cost of KYC.

06What it costs

There are two common ways to be billed: per verification, or a flat plan with a ceiling. Per-verification pricing is easy to start and hard to forecast, because your bill rises with every retry, every signup campaign and every bot. We model both in The Real Cost of KYC in Nigeria. Veris plans are flat, priced in dollars and paid in naira at the day's rate, and the only part that grows with use is Compare, which has a fixed ceiling. You can see the numbers on the pricing page.

If you are still choosing a provider, How to Choose an Identity Verification Provider in Nigeria gives you the questions to ask.

07A build order that works

  1. Create a sandbox account. It needs only an email, no card and no business verification.
  2. Build the backend first: a route that issues a nonce, and a route that verifies a signed result.
  3. Add the capture step and test every result state: success, failure, cancelled and subscription inactive.
  4. Add document reading and check the fields against your own form.
  5. Add the face match from your backend and pick the threshold for your use case.
  6. Test on the cheapest phone your users own, in poor light, before you test on your own phone.
  7. Write your privacy notice and consent screen, then go live with a production key.

For a faster path, see From Zero to KYC in a Day.

08What waiting costs you

Every week you onboard without real verification, four things keep happening.

  • Fake and duplicate accounts get in. Each one is a possible loan default, bonus abuse or chargeback.
  • Your team checks selfies and IDs by hand. Manual review does not scale with signups, and it gets slower exactly when you are growing.
  • Honest users quit at the form. Every field they must type is a place to drop off or mistype.
  • Your compliance team asks where face data goes. If your answer is "we are not sure", that is a launch blocker, not a detail.

None of this gets cheaper by waiting. The sandbox is free, so the only thing delay costs you is time you do not get back.

09Your three real options

You have three ways to do this. Here they are, side by side.

  1. Build it yourself. Camera handling, quality checks, liveness, document OCR and face matching are each a project. Expect months of specialist work before your first real user, then upkeep for every new phone model and document layout.
  2. Buy a per-check service. Quick to start. The bill grows with every attempt, including retries and bots, and some services need images uploaded and stored. The cost model shows how fast that adds up.
  3. Use Veris. One dependency and one call per platform. Capture and Scan run on the phone, Compare deletes images after every request, and plans are flat with a ceiling you can read before you pay.

Veris is built for apps that onboard people remotely and want a predictable bill and a clean data story. It is not the right tool if all you need is a government database lookup of a NIN or BVN. Veris does not do that. Use it alongside one if your rules require it.

10Why this is an easy yes

  • Try everything free. The sandbox includes Capture, Scan and Compare with no card and no KYC.
  • Go live free. The Spark plan lets you launch to real users without paying, and moves up when you need more volume.
  • Unlimited captures and scans from $19. Launch is $19 a month, and you pay in naira at the day's rate.
  • A ceiling on the only part that grows. Compare extras stop at a fixed amount, so the most Launch can cost in a month is $49, Scale $89 and Pro $159.
  • Leave any time. Cancel from the dashboard, and if your first paid month is not right, you can get it back within 14 days by emailing [email protected] (once per account, Compare extras excluded).

11The doubts you probably have

"We are not technical enough." One dependency and one call per platform. Compare is a single REST call. The sandbox lets you see the entire flow before you write production code.

"It might crash our app." The SDK never throws an unhandled exception into your app. Every session ends in one of four typed results, and you decide what to show.

"Our compliance team will ask about face data." Capture and Scan run on the phone and nothing is uploaded while they run. Images sent to Compare are processed in memory and deleted after every request. Veris stores no face images or biometric templates.

"What if it does not work for our users?" Test it on the cheapest phone you can find, in poor light, in the sandbox. It costs nothing, and the free Spark plan lets you try it with real users before you spend a naira.

"We already have a vendor." Run Veris next to it in the sandbox. Start with Compare, which is a single API call, and compare the results yourself.

12Make the call

If you onboard people remotely in Nigeria, the question is not whether you need verification. It is how much longer you want to run without it, and whether you want a bill you can forecast when you add it.

Start with the free sandbox. You will know within an afternoon of testing whether it fits.

Create your free Veris account · Free to start · no card · all three products. Prefer to talk first? Talk to the team.

13FAQ

What is identity verification?

Identity verification is the set of checks that confirm a person is who they claim to be. In a mobile app it usually combines a liveness check (a real person is present), a document read (what the ID says) and a face match (the person is the one on the ID).

Does Veris check NIN or BVN records?

No. Veris reads what is printed on the document, confirms a live person is present and compares two faces. It does not query government databases. If you need a database check, run it alongside Veris.

Do I need liveness detection if I already compare faces?

Yes. A face match only tells you two images look alike. Without liveness, someone can hold up a photo of the account owner and match perfectly. Liveness proves the face in front of the camera is a live person.

Where is the face image stored?

With Veris, face capture and document scanning run on the user's phone and are never sent to Veris. Images sent to Compare are processed in memory and deleted after every request, including failed ones.

Can I test everything before paying?

Yes. The sandbox gives you all three products with no card. It has daily limits and a small number of Compare calls so you can test the full flow.

Found this useful? Pass it on.

Building identity checks into your app?

Start free in sandbox. You only verify your business when you go live.

Up next Nigerian ID Verification - Supporting NIN, Driver's Licence, Passport, PVC, and Utility Bills Learn how to build reliable Nigerian identity document verification with OCR, document validation, and secure onboarding workflows. Read the article6 min

Keep reading