Bank Account Verification in Ghana

Verify a Ghanaian bank account and retrieve the account holder's name before initiating a transfer.

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": "1234567890",
    "country": "GH",
    "bankCode": "GH010100"
  }'

Request body fields

Field Type Required Description
accountNumber string Yes The bank account number to verify.
country string Yes Always GH.
bankCode string Yes The bank's sort code or routing code.
mode string No sync (default) or async. Use async to receive the result via webhook.

Read the result

Successful verification

{
  "id": "a1b2c3d4-...-...-...-...",
  "status": "success",
  "verificationType": "ACCOUNT_NUMBER",
  "identifier": "1234567890",
  "country": "GH",
  "verifiedAt": "2026-03-09T10:05:00.000Z",
  "verified": true,
  "accountNumber": "1234567890",
  "accountName": "Kwame Asante",
  "bankCode": "GH010100",
  "bankName": "Ghana Commercial Bank"
}

Note: Ghana bank account verifications do not return address fields (state, lga). Only accountName, bankCode, and bankName are returned on success.

Failed verification

{
  "id": "a1b2c3d4-...-...-...-...",
  "status": "failed",
  "verificationType": "ACCOUNT_NUMBER",
  "identifier": "1234567890",
  "country": "GH",
  "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.


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 Validate format before submitting
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