Skip to main content
Learn how to verify customer identities using Zentra’s KYC (Know Your Customer) APIs. Support BVN, NIN, and document verification.
Identity is a reviewed but tenant-gated namespace in the current route manifest. Use these flows only when your environment explicitly enables the identity routes and verify the exact shape against your approved tenant contract.

What You’ll Learn

  • Verify BVN (Bank Verification Number)
  • Verify NIN (National Identification Number)
  • Perform liveness checks
  • Handle verification results
  • Build a complete onboarding flow

Prerequisites

  • Zentra API account with KYC enabled
  • Customer information to verify
  • Webhook endpoint for async results

KYC Flow Overview

Step 1: Verify BVN

BVN verification is the primary KYC method in Nigeria:

BVN Verification Response

BVN data is returned in uppercase. Normalize before comparing with your records.

Step 2: Verify NIN

Verify National Identification Number:
NIN verification returns the person’s photo. Only store and display with proper consent.

Step 3: Liveness Check

Verify the person is real and matches their documents:

Liveness Response

Step 4: Complete Onboarding Flow

Build a full KYC onboarding:

Step 5: Handle Async Results

Some verifications complete asynchronously:

KYC Levels

Implement tiered verification for different access levels:

Error Handling

Handle common KYC errors:

Testing in Sandbox

Use test data in sandbox mode:
Test all failure scenarios to ensure your app handles them gracefully.

Best Practices

  1. Normalize Data: Convert names to uppercase before verification
  2. Handle Partial Matches: Accept 80%+ match scores with manual review
  3. Rate Limit: Prevent brute-force attempts
  4. Audit Trail: Log all verification attempts
  5. Data Security: Encrypt and minimize storage of PII

Next Steps

Identity API

Full API reference

Virtual Accounts

Create accounts after KYC

Webhooks

Handle KYC events

Going Live

Production checklist