> For the complete documentation index, see [llms.txt](https://docs.lumiid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lumiid.com/api-integration/government-verification/nuban-account-verification-api-or-nigerian-bank-account-lookup.md).

# NUBAN Account Verification API | Nigerian Bank Account Lookup

Verify Nigerian bank accounts before transfers, payouts, direct debits, or customer onboarding. Submit a 10-digit NUBAN account number and CBN bank code to confirm the account name and bank details.

The LumiID **NUBAN Account Verification API** supports payment validation, KYC, fraud prevention, payroll, and loan disbursement workflows. It helps reduce failed transactions and routing errors.

***

## NUBAN account verification overview

|                       |                             |
| --------------------- | --------------------------- |
| **Country**           | 🇳🇬 Nigeria                |
| **Verification Type** | Bank Account Verification   |
| **Data Source**       | NIBSS & Participating Banks |
| **Account Format**    | 10-digit NUBAN              |
| **Typical Latency**   | < 2 second                  |
| **Sandbox**           | Supported                   |

***

### Common account-verification use cases

* Confirm payee details before bank transfers and payouts.
* Verify customer accounts during KYC and merchant onboarding.
* Validate accounts for payroll, loan disbursements, and wallet funding.

***

## NUBAN verification endpoint

**POST**

```http
{{baseUrl}}/v1/ng/nuban/
```

***

## Authentication

Include your API credentials with every request.

| Header          | Type   | Description              |
| --------------- | ------ | ------------------------ |
| `Authorization` | string | `Bearer YOUR_SECRET_KEY` |
| `Content-Type`  | string | `application/json`       |

***

## Request Body

| Field            | Type   | Required | Description                                                                                 |
| ---------------- | ------ | -------- | ------------------------------------------------------------------------------------------- |
| `account_number` | string | ✅        | A valid **10-digit** Nigerian bank account number.                                          |
| `bank_code`      | string | ✅        | The **3-digit CBN bank code** for the customer's bank (for example, `044` for Access Bank). |

#### Example Request

```json
{
  "account_number": "1234567890",
  "bank_code": "044"
}
```

***

## Example Request (Python)

```python
import requests

url = "https://api.lumiid.com/v1/ng/nuban/"

headers = {
    "Authorization": "Bearer YOUR_SECRET_KEY",
    "Content-Type": "application/json"
}

payload = {
    "account_number": "1234567890",
    "bank_code": "044"
}

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

print(response.json())
```

***

## Successful Response

```json
{
  "success": true,
  "code": "NUBAN_VERIFIED",
  "message": "Account verification successful",
  "verification_type": "NUBAN",
  "summary": {
    "verified": true,
    "verification_type": "NUBAN",
    "provider": "LumiID",
    "confidence_score": 1.0
  },
  "data": {
    "account_number": "1234567890",
    "account_name": "JOHN ADAMS DOE",
    "bank_code": "044",
    "bank_name": "Access Bank"
  },
  "meta": {
    "request_id": "req_a3f9c21d9b4e",
    "timestamp": "2026-07-28T11:05:42Z"
  }
}
```

***

## Response Fields

#### Top-Level Response

| Field               | Type    | Description                                           |
| ------------------- | ------- | ----------------------------------------------------- |
| `success`           | boolean | Indicates whether the request completed successfully. |
| `code`              | string  | Machine-readable response code.                       |
| `message`           | string  | Human-readable response message.                      |
| `verification_type` | string  | Always `NUBAN`.                                       |
| `summary`           | object  | Verification summary.                                 |
| `data`              | object  | Verified bank account information.                    |
| `meta`              | object  | Request metadata.                                     |

***

#### `data`

| Field            | Type   | Description                              |
| ---------------- | ------ | ---------------------------------------- |
| `account_number` | string | Verified bank account number.            |
| `account_name`   | string | Official account holder's name.          |
| `bank_code`      | string | CBN bank code.                           |
| `bank_name`      | string | Bank associated with the account number. |

***

## Error Codes

| HTTP    | Code                     | Description                                                    |
| ------- | ------------------------ | -------------------------------------------------------------- |
| **400** | `INVALID_ACCOUNT_NUMBER` | The account number is invalid or not 10 digits.                |
| **400** | `INVALID_BANK_CODE`      | The supplied bank code is invalid or unsupported.              |
| **404** | `ACCOUNT_NOT_FOUND`      | No account matches the supplied account number and bank code.  |
| **401** | `INVALID_API_KEY`        | Authentication failed. Verify your API credentials.            |
| **402** | `INSUFFICIENT_FUNDS`     | Your LumiID wallet balance is insufficient.                    |
| **500** | `SERVER_ERROR`           | An unexpected error occurred. Retry the request.               |
| **503** | `SERVICE_UNAVAILABLE`    | The banking verification service is temporarily unavailable.   |
| **504** | `TIMEOUT`                | The verification request timed out. Retry after a short delay. |

***

## More NUBAN verification use cases

Use the API across Nigerian payment and financial-services workflows:

* Bank account verification
* Payment validation
* Bank transfers
* Payout verification
* Merchant onboarding
* Customer onboarding (KYC)
* Payroll processing
* Loan disbursement
* Wallet funding
* Fraud prevention

***

## Nigerian bank codes

LumiID provides a helper endpoint for retrieving the latest list of Nigerian banks and official CBN bank codes.

This endpoint returns:

* Bank name
* CBN bank code
* Bank logo (where available)

Using the helper endpoint ensures your application always uses the latest supported banking information instead of maintaining a static bank list.

**Related Endpoint**

```http
GET {{baseUrl}}/v1/ng/banks/
```

***

## Test NUBAN verification in the sandbox

Use your Sandbox API keys to test NUBAN verification without consuming wallet credits or querying live banking systems.

Sandbox responses return deterministic test data designed for development and integration testing.

***

## Why use LumiID for NUBAN verification?

* ⚡ Real-time bank account verification
* 🏦 Powered by trusted Nigerian banking infrastructure
* 🔒 Secure API authentication
* 🚀 Fast response times
* 📋 Audit-ready request tracking
* 🧪 Sandbox environment for testing
* 🇳🇬 Built specifically for Nigerian financial services

***

### NUBAN verification FAQ

#### What is a NUBAN account number?

NUBAN is Nigeria's 10-digit bank account number format. Provide it with the customer's CBN bank code.

#### What does the API return?

The API returns the verified account number, account name, bank code, and bank name.

#### How do I find a Nigerian bank's CBN code?

Call the [bank codes endpoint](#nigerian-bank-codes) to retrieve the latest supported Nigerian banks and codes.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.lumiid.com/api-integration/government-verification/nuban-account-verification-api-or-nigerian-bank-account-lookup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
