KYC tiers
| Tier | Requirements | What it unlocks |
|---|---|---|
TIER_1 | Basic registration (BVN or NIN at wallet creation) | Entry-level limits for everyday transactions |
TIER_2 | BVN linked and verified | Higher daily transaction limits and balance cap |
TIER_3 | BVN + NIN verified | Maximum limits — suitable for salary and high-value use cases |
Customers start at
TIER_1 when their wallet is created. You upgrade them by supplying verified identity data and calling the tier upgrade endpoint.BVN verification
Look up a BVN
UseGET /bvn/lookup to retrieve the information associated with a BVN from the NIBSS database.
cURL
Response
Match a BVN against customer data
UseGET /bvn/match to verify that a supplied BVN corresponds to a specific customer. This is useful for confirming identity before processing high-value operations.
cURL
Response
Linking a BVN to a customer
Once you’ve verified a customer’s BVN, associate it with their account usingPATCH /customer/bvn.
cURL
Response
Linking a NIN to a customer
Associate a National Identification Number (NIN) with a customer account usingPATCH /customer/nin.
cURL
Upgrading a customer’s KYC tier
After linking the required identity documents, upgrade a customer to a higher tier usingPATCH /customer/tier.
Verify identity documents
Confirm the customer’s BVN and/or NIN are linked to their account. Tier upgrades require the documents to be present and verified.
| Field | Type | Required | Description |
|---|---|---|---|
customerId | string | Yes | The customer to upgrade |
tier | string | Yes | Target tier: TIER_1, TIER_2, or TIER_3 |
Phone number verification
Phone number verification adds an extra layer of identity assurance, particularly useful before upgrading toTIER_2 or TIER_3. The flow is two-step: start the verification to trigger an OTP, then complete it with the code the customer receives.
Start phone verification
cURL
Response
The
/customer/verification/phone/start and /customer/verification/phone/complete endpoints use a customer token, not a merchant token. The customer must be authenticated on your platform before initiating phone verification.Complete phone verification
Once the customer receives and enters their OTP, submit it to complete the verification:cURL
Response
Recommended KYC flow
The following flow shows how to take a customer from initial registration toTIER_2:
Look up and verify BVN
Call
GET /bvn/lookup to retrieve the BVN data, then GET /bvn/match to confirm it matches the customer’s declared identity.Verify phone number
Trigger
POST /customer/verification/phone/start, then complete with POST /customer/verification/phone/complete using the OTP.TIER_3, repeat steps 2–4 for the customer’s NIN, link it using PATCH /customer/nin, then call PATCH /customer/tier with "tier": "TIER_3".