NUBAN Verification
curl --request POST \
--url https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/ \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"account_number": "0123456789",
"bank_code": "044"
}
'import requests
url = "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/"
payload = {
"account_number": "0123456789",
"bank_code": "044"
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({account_number: '0123456789', bank_code: '044'})
};
fetch('https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_number' => '0123456789',
'bank_code' => '044'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/"
payload := strings.NewReader("{\n \"account_number\": \"0123456789\",\n \"bank_code\": \"044\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_number\": \"0123456789\",\n \"bank_code\": \"044\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_number\": \"0123456789\",\n \"bank_code\": \"044\"\n}"
response = http.request(request)
puts response.read_body{
"status": "failed",
"data": [
"<unknown>"
],
"message": "<string>"
}{
"status": "failed",
"message": "Authentication credentials were not provided."
}Nigeria
NUBAN Verification
Resolve a Nigerian bank account number to its registered account name and bank.
POST
/
api
/
onboarding
/
nigeria_kyc
/
nuban
/
NUBAN Verification
curl --request POST \
--url https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/ \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"account_number": "0123456789",
"bank_code": "044"
}
'import requests
url = "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/"
payload = {
"account_number": "0123456789",
"bank_code": "044"
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({account_number: '0123456789', bank_code: '044'})
};
fetch('https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'account_number' => '0123456789',
'bank_code' => '044'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/"
payload := strings.NewReader("{\n \"account_number\": \"0123456789\",\n \"bank_code\": \"044\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"account_number\": \"0123456789\",\n \"bank_code\": \"044\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account_number\": \"0123456789\",\n \"bank_code\": \"044\"\n}"
response = http.request(request)
puts response.read_body{
"status": "failed",
"data": [
"<unknown>"
],
"message": "<string>"
}{
"status": "failed",
"message": "Authentication credentials were not provided."
}The NUBAN endpoint verifies a Nigerian Uniform Bank Account Number (NUBAN) and returns the account name and bank associated with it. Use this for bank account ownership verification during onboarding or payment flows.
Endpoint
POST /api/onboarding/nigeria_kyc/nuban/
Request
Headers
| Header | Value | Required |
|---|---|---|
x-access-token | Your API secret key | Yes |
Content-Type | application/json | Yes |
Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
account_number | string | Yes | The 10-digit NUBAN account number |
bank_code | string | Yes | The 3–6 digit bank code (see list below) |
Example
curl -X POST "https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/" \
-H "x-access-token: YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"account_number": "0768540312", "bank_code": "035"}'
import requests
response = requests.post(
"https://adhere-api.smartcomply.com/api/onboarding/nigeria_kyc/nuban/",
headers={"x-access-token": "YOUR_SECRET_KEY", "Content-Type": "application/json"},
json={"account_number": "0768540312", "bank_code": "035"},
)
Bank Codes Reference
View all supported bank codes
View all supported bank codes
| Bank | Code |
|---|---|
| Access Bank | 044 |
| Citibank Nigeria | 023 |
| ECOBANK | 050 |
| FCMB | 214 |
| Fidelity Bank | 070 |
| First Bank of Nigeria | 011 |
| GTBank | 058 |
| Heritage Bank | 030 |
| JAIZ Bank | 301 |
| Kuda Microfinance Bank | 50211 |
| Lotus Bank | 303 |
| Moniepoint Microfinance Bank | 50563 |
| Opay | 999992 |
| Palmpay | 999111 |
| Polaris Bank | 076 |
| Providus Bank | 101 |
| Stanbic IBTC Bank | 221 |
| Standard Chartered Bank | 068 |
| Sterling Bank | 232 |
| TAJBank | 302 |
| Union Bank of Nigeria | 032 |
| United Bank For Africa | 033 |
| Unity Bank | 215 |
| Wema Bank | 035 |
| Zenith Bank | 057 |
Response
200 OK
| Field | Type | Description |
|---|---|---|
data.bank_id | integer | Internal bank identifier |
data.account_name | string | Registered account holder name |
data.account_number | string | Account number that was queried |
{
"status": "success",
"data": {
"bank_id": 11,
"account_name": "STEPHEN BADMUS",
"account_number": "0768540312"
},
"message": "Nuban details retrieved successfully"
}
400 Bad Request
{
"status": "failed",
"data": [],
"message": "Sorry, your check cannot be processed at the moment. Please try again in a few minutes"
}
401 Unauthorized
{
"status": "failed",
"message": "Authentication credentials were not provided."
}
⌘I

