Developer Portal
IDENTITY VERIFICATION

BVN V2 Verification

High-reliability secondary endpoint powered by Prembly to verify 11-digit Bank Verification Number (BVN) records and retrieve full biometric demographic data.

Service Online / Available
POST /api/v1/bvn/v2 Alias: /api/v1/bvn-v2
Authentication & Headers
HEADER VALUE REQUIRED
Authorization Bearer YOUR_API_TOKEN Yes
Accept application/json Yes
Content-Type application/json Yes

Service Availability & Realtime Pricing

Role: Default
SERVICE / FIELD CODE SERVICE NAME PRICE (₦) STATUS
V600 BVN v2 Verification ₦100.00 Available

Request Parameters

PARAMETER TYPE DESCRIPTION REQUIRED
bvn / number string The 11-digit Bank Verification Number linked to the user's financial accounts. Required
ref string Optional unique client merchant reference string. Optional

Implementation Examples

curl -X POST "https://www.api.arewasmart.com.ng/api/v1/bvn/v2" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"bvn": "12345678910"}'
<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://www.api.arewasmart.com.ng/api/v1/bvn/v2",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode([
        'bvn' => '12345678910'
    ]),
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer YOUR_API_TOKEN',
        'Content-Type: application/json',
        'Accept: application/json'
    ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
const axios = require('axios');

axios.post('https://www.api.arewasmart.com.ng/api/v1/bvn/v2', {
    bvn: '12345678910'
}, {
    headers: {
        'Authorization': 'Bearer YOUR_API_TOKEN',
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
})
.then(response => console.log(response.data))
.catch(error => console.error(error.response ? error.response.data : error));
import requests

url = "https://www.api.arewasmart.com.ng/api/v1/bvn/v2"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json"
}
payload = {
    "bvn": "12345678910"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

Response Payloads

Success Response (200 OK)
Clean & Normalized
{
    "status": "success",
    "code": 200,
    "message": "verification sucessful",
    "data": {
        "bvn": "12345678910",
        "NIN": "12345678910",
        "firstName": "JOHN",
        "middleName": "",
        "lastName": "DOE",
        "gender": "male",
        "dateOfBirth": "1960-01-01",
        "birthday": "1960-01-01",
        "phoneNumber": "08012345678",
        "residentialAddress": "ANGUWAR ROGO POLICE BARRACK SOKOTO",
        "stateOfOrigin": "Plateau State",
        "lgaOfOrigin": "Wase",
        "stateOfResidence": "Sokoto State",
        "lgaOfResidence": "Sokoto North",
        "nationality": "Nigeria",
        "enrollmentBank": "011",
        "enrollmentBranch": "ECO BANK ",
        "levelOfAccount": "LEVEL 1",
        "photo": "/9j/4AAQSkZJRgABAgAAAQABAAD...",
        "reference": "BVN20261021ABCD"
    },
    "transaction_ref": "BVN24913EVA01",
    "charge": 100.00
}
Verification Failed (400 Bad Request)
{
    "status": "failed",
    "code": 400,
    "message": "BVN verification failed or record not found.",
    "transaction_ref": "BVN24913EVA01"
}
Insufficient Balance (403 Forbidden)
{
    "status": "failed",
    "code": 403,
    "message": "Insufficient wallet balance. Service requires 100.00 NGN."
}