Bank Listing API

GET /api/banks: list all supported Ethiopian banks and wallets.

Read full API docs

Endpoint specification

GET /api/banks: Returns a list of all supported banks and wallets. No parameters, no authentication. The response is a JSON array of bank objects with full metadata including endpoint URLs, response types, and verification requirements.

Bank object fields

Each bank in the response array contains:

  • code: short identifier (cbe, telebirr, boa, mpesa, etc.)
  • name: full bank name
  • shortName: abbreviated name for UI display
  • type: 'bank', 'wallet', or 'mobile'
  • requiresAccount: whether account number is needed for verification
  • accountDigits: how many digits of the account are required
  • endpoint: the bank's receipt endpoint domain
  • responseType: 'pdf', 'json', or 'html'
  • status: 'live' or 'soon'

Auto-detection use case

The bank listing includes reference number prefixes for each bank. For example, CBE references start with 'FT', Telebirr references have a different format. Developers can use this metadata to auto-detect which bank a reference number belongs to, then route the verification request accordingly without asking the user to select a bank.

Frequently asked questions

What does GET /api/banks return?

A JSON array of all supported banks and wallets. Each bank object includes: code, name, shortName, type (bank/wallet/mobile), requiresAccount, accountDigits, endpoint, responseType, and status (live/soon).

How many banks are supported?

cheki currently supports 10 live banks and wallets: CBE, Telebirr, Bank of Abyssinia, M-Pesa, Dashen Bank, Awash Bank, Zemen Bank, CBE Birr, Siinqee Bank, and eBirr. New banks are added as their public endpoints are discovered.

Can I use this to auto-detect which bank a reference belongs to?

Yes. The response includes refPrefixes for each bank (e.g. CBE references start with 'FT'). You can use this to automatically route verification requests to the correct bank.

Read full API docs

Open cheki

Related guides