Lookup

Resolve account holder names before sending money.

Lookup API

The Lookup API lets you resolve the account holder name behind a mobile money number or bank account before initiating a payout, disbursement, or transfer. Use it to show recipients in your checkout or back-office flow before the user confirms the transfer.

Lookups are read-only — no money moves and no OTP is issued.

Verify a mobile money wallet

POST /v1/lookup/wallet

Returns the account holder name registered against a Ghana mobile money number.

Request

ParameterTypeRequiredDescription
phone_numberstringYes10-digit Ghana phone number (e.g. 0241234567)
providerstringNomtn, telecel, or airteltigo. Auto-detected from the phone prefix if omitted.
curl -X POST https://api.shikacreators.com/v1/lookup/wallet \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "phone_number": "0241234567"
  }'
const res = await fetch('https://api.shikacreators.com/v1/lookup/wallet', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.SHIKA_SECRET_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    phone_number: '0241234567',
  }),
});
const wallet = await res.json();
import requests

response = requests.post(
    'https://api.shikacreators.com/v1/lookup/wallet',
    headers={'Authorization': f'Bearer {SECRET_KEY}'},
    json={'phone_number': '0241234567'},
)
wallet = response.json()

Response

{
  "object": "wallet_verification",
  "verified": true,
  "account_name": "JOHN DOE",
  "phone_number": "0241234567",
  "provider": "mtn"
}

Verify a bank account

POST /v1/lookup/bank-account

Returns the account holder name registered against a Ghana bank account. Use GET /v1/lookup/banks to find the right bank_code.

Request

ParameterTypeRequiredDescription
account_numberstringYesBank account number
bank_codestringYesBank code from /v1/lookup/banks
curl -X POST https://api.shikacreators.com/v1/lookup/bank-account \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "account_number": "1234567890",
    "bank_code": "030100"
  }'
const res = await fetch('https://api.shikacreators.com/v1/lookup/bank-account', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.SHIKA_SECRET_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    account_number: '1234567890',
    bank_code: '030100',
  }),
});
const account = await res.json();

Response

{
  "object": "bank_account_verification",
  "verified": true,
  "account_name": "JOHN DOE",
  "account_number": "1234567890",
  "bank_code": "030100"
}

List supported banks

GET /v1/lookup/banks

Returns the list of banks supported for bank transfers and bank-account verification.

curl https://api.shikacreators.com/v1/lookup/banks \
  -H "Authorization: Bearer sk_live_..."
const res = await fetch('https://api.shikacreators.com/v1/lookup/banks', {
  headers: { 'Authorization': `Bearer ${process.env.SHIKA_SECRET_KEY}` },
});
const { data: banks } = await res.json();

Response

{
  "object": "list",
  "data": [
    {
      "bank_name": "Access Bank",
      "short_name": "ACCESS",
      "bank_code": "030100",
      "sort_code": "030100"
    }
  ],
  "total": 1
}

Errors

CodeDescription
invalid_phone_numberPhone number is not a valid Ghana mobile number, or doesn't match the provider you supplied.
wallet_verification_failedOrange Pay could not resolve the wallet (number not registered, network unreachable, etc.).
bank_verification_failedThe bank could not resolve the account number (wrong bank code, account doesn't exist, etc.).
validation_errorRequest body failed schema validation.