Bank Account Verification in Nigeria

Verify a Nigerian bank account using a 10-digit NUBAN account number and the bank's routing code.

Prerequisites

You'll need an API key. See Quickstart or Authentication if you don't have one yet.

Note: Verification endpoints use an API key in the X-API-Key header โ€” not a Bearer token. Verification POST requests also require an Idempotency-Key header.


Make the verification request

curl -X POST https://api.lira.com/api/v1/verify/account \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_IDEMPOTENCY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "accountNumber": "0123456789",
    "country": "NG",
    "bankCode": "044"
  }'

Request body fields

Field Type Required Description
accountNumber string Yes 10-digit NUBAN account number.
country string Yes Always NG.
bankCode string Yes The bank's routing or sort code (e.g. 044 for Access Bank).
mode string No sync (default) or async. Use async to receive the result via webhook.

Sandbox: Use account number 0000000000 with bank code 044 and country NG for a predictable successful result. See Environments for the full list of sandbox test data.


Read the result

Successful verification

{
  "id": "a1b2c3d4-...-...-...-...",
  "status": "success",
  "verificationType": "ACCOUNT_NUMBER",
  "identifier": "0123456789",
  "country": "NG",
  "verifiedAt": "2026-03-09T10:05:00.000Z",
  "verified": true,
  "accountNumber": "0123456789",
  "accountName": "Jane Doe",
  "bankCode": "044",
  "bankName": "Access Bank",
  "address": {
    "state": "Lagos",
    "lga": "Ikeja"
  }
}

Note: Nigerian bank account verifications may return address.state and address.lga (local government area). These fields may be absent depending on the bank.

Failed verification

{
  "id": "a1b2c3d4-...-...-...-...",
  "status": "failed",
  "verificationType": "ACCOUNT_NUMBER",
  "identifier": "0123456789",
  "country": "NG",
  "verifiedAt": "2026-03-09T10:05:00.000Z",
  "verified": false,
  "error": {
    "code": "ACCOUNT_NOT_FOUND",
    "message": "No account found for the provided details"
  }
}

Note: A 200 OK HTTP response does not mean the verification succeeded. Always check the status field.


Nigeria-specific notes

  • Nigerian bank accounts use the 10-digit NUBAN (Nigeria Uniform Bank Account Number) format. Validate the account number length before submitting.
  • The bankCode is the bank's CBN-assigned routing code.

Error handling

error.code Cause Action
ACCOUNT_NOT_FOUND Account number not found at the specified bank Ask the user to check their account number and bank code
INVALID_BANK_CODE Bank code not recognised Validate against the supported banks
INVALID_ACCOUNT_NUMBER Account number format is invalid Ensure the account number is exactly 10 digits
PROVIDER_ERROR Upstream system returned an error Retry with exponential backoff
PROVIDER_TIMEOUT Upstream system timed out Retry โ€” transient error

For the full error code reference, see Errors.


Next steps