1. Partner Flow
BPN OpenAPI
  • Get started
    • Introduction to BPN
    • Introduction to API
    • Architecture Overview
    • Authentication
    • Environments
    • Response envelope
    • Idempotency
  • Guides
    • Virtual Account
      • Virtual Account Overview
      • VA · Payin
      • VA · Statuses
      • VA · Payout
      • VA · RFI
      • VA · Currencies & limits
      • VA Opening
        • VND VA Opening
        • BRL VA Opening
    • Wallet
      • Wallet · Transfer
      • Wallet · Assets & limits
      • Wallet · Deposit whitelist
      • Wallet · PaymentLink
      • Wallet Overview
      • Wallet · Deposit
      • Wallet · Statuses
      • Wallet · Withdraw
    • Convert
      • Convert Overview
      • Convert · Quote & submit
      • Convert · Business types
      • Convert · Pairs & limits
      • Convert · Statuses
  • API Reference
    • Virtual Account
      • Virtual Account field notes
      • Inquiry Master VA Balance
      • List Primary Virtual Accounts
      • Create Virtual Account
      • Get Virtual Account Detail
      • List Virtual Account
      • List Virtual Account Orders
      • Get Virtual Account Order Detail
      • Refund Virtual Account Order
      • List RFI Sub Virtual Account
      • Get Sub Virtual Account RFI Template Info
      • Sub Virtual Account Submit RFI
      • Add Bank Account
      • List Bank Account
      • List Banks
      • Payout via Virtual Account
      • Send Email Verify Code
    • Wallet
      • Wallet field notes
      • Deposit Whitelist
        • Get Deposit Whitelist Options
        • Register Deposit Source Address
        • List Deposit Source Addresses
        • Get Deposit Source Address
        • Disable Deposit Source Address
        • Submit Payer Details for a Received Deposit
        • Save Sub-wallet Payer Profile
        • Update Sub-wallet Payer Profile
        • Get Sub-wallet Payer Profile
        • Get Deposit Whitelist Case
      • Get Asset Balance
      • Get Deposit Address
      • Add Deposit Sender
      • Add Withdraw Whitelist
      • Delete Withdraw Whiltelist
      • Request Withdraw
      • Query Wallet Internal Transfer Detail
      • List Wallet Internal Transfer order
      • Wallet Internal Transfer
      • Create Sub Account
      • Query Transaction History
      • List Wallets
      • List Sub Account
      • Get Transaction Detail
      • List Wallet Transactions
      • Get Wallet Transaction Detail
    • Payment Link
      • Abnormal fund
        • Abnormal funds
        • Matchable Payment links
        • Link Order(Abnormal fund)
        • Submit to platform
      • Create Payment Link
      • List Payment links
      • Get Curreny Network Config
    • Convert
      • Convert field notes
      • Inquery FX Rate
      • Get Stablecoin Quote
      • Create Stable Order
      • Get Order (Single) Detail
      • List Orders(Batch)
    • KYB
      • Share KYB/KYC Info For Sub User
      • Get KYB Sub User Status
    • Reconciliation
      • Get Reconciliation Order List By Page
    • External Provider
      • FE: Create stablecoin collection sub-account link
      • FE: Deposit Travel Rule
      • External Provider · Deposit whitelist
      • Create stablecoin collection sub-account link
      • Get sub wallet account
      • List sub wallet accounts
      • Change sub wallet status
      • Query stablecoin collection order list
      • Query stablecoin collection order status
      • Get quote
      • Accept stablecoin collection order
      • Reject stablecoin collection order
      • Query USD balance
      • USD Payout (withdrawal)
      • Query USD Payout order status
      • Query USD Payout order list
      • Create deposit Travel Rule link
      • Create deposit Travel Rule detail link
    • Mock
      • Mock Virtual account Payin Order
      • Mock wallet deposit transaction
      • Mock Payment Link deposit
      • Mock Payin Order Refund
      • Mock Payout Order Update Status
    • Pay Session
      • Request Pay Session
    • Files
      • Request File Upload URL
  • Webhooks
    • Webhooks Overview
    • KYB notifications
    • Event catalogue
    • Resend Fail Webhook
    • Open Virtual Account Status
    • Virtual Account Payment Status
    • Virtual Account Invoice update
    • Transaction Status Notification
    • KYB Status Notification
    • Deposit Sender Detail Required
    • Abnormal Fund Notification
    • WALLET_TRANSFER_ORDER_UPDATED
    • Sub Virtual Account RFI Required
    • Sub Wallet Update
    • wallet address whitelist Update
    • Crypto Deposit Order Notification
    • Collect Order Updated
    • Usd Payout Order Updated
    • onboard result
    • partner order status
    • PaymentLink Notification
    • Deposit Whitelist Notification
  • Partner Flow
    • Share KYB/KYC and open account directly
      POST
    • Get KYB/KYC submit + open account status
      GET
    • List Banks
      GET
    • Check Account
      POST
    • Add Account
      POST
    • Get Stablecoin Quote
      POST
    • Create Stable Order
      POST
    • Get Order (Single) Detail
      GET
    • List Orders(Batch)
      GET
    • Submit hash
      POST
    • Order Status Notification (STABLE_ORDER_UPDATED)
  • Appendix
    • Enums quick reference
    • Enum
    • Virtual Account(VA) Support List & KYB requirement
  • Release Notes & Changelog
  • Errors
    • Error codes catalogue
  • Change Log
    • 2026-09-21 Virtual Account independent refund orders
    • Wallet deposit source-address whitelist
  1. Partner Flow

List Banks

Developing
GET
/v1/account/list-banks

List Banks / Mobile Money Operators (Partner Flow)#

GET /v1/account/list-banks — returns the banks or mobile money operators that can receive a payout for the given paymentMethod + currency.
This is step 1 of the Partner off-ramp flow:
1.
GET /v1/account/list-banks — pick a bankCode
2.
POST /v1/account/check-account — verify the account (BANK_TRANSFER + KES only; skip for MOBILE_MONEY)
3.
POST /v1/account/add-account — bind the account, get accountId
4.
POST /v1/stable/order/get-quote — targetAccountId = accountId
5.
POST /v1/stable/order/submit-order — submit with quoteId
6.
GET /v1/stable/order/query-detail — track orderStatus

Supported combinations#

paymentMethodKESUGXTZS
MOBILE_MONEY✅✅✅
BANK_TRANSFER✅❌❌

Query parameters#

fieldrequirednotes
paymentMethodyesBANK_TRANSFER or MOBILE_MONEY
currencyyesKES / UGX / TZS, must be supported by paymentMethod (see matrix)

Response data[]#

fieldnotes
bankCodeCode to send as bankCode in check-account / add-account. For MOBILE_MONEY this is the operator code.
bankNameDisplay name of the bank / operator.

Rules#

Always use the bankCode returned by this endpoint; do not hard-code lists or reuse another currency's codes. Examples reflect the list as of 2026-10-20.
The same code can appear under different currencies (e.g. VOD, ATL); always send it together with the matching currency.
The list can change; refresh it before showing bank options to the end user (cache for at most 24 hours).
Unsupported combinations (e.g. BANK_TRANSFER + UGX) are rejected with status != 200.

Request

Query Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/v1/account/list-banks?paymentMethod=BANK_TRANSFER&currency=KES'

Responses

🟢200OK
application/json
Bodyapplication/json

Examples
{
    "status": 200,
    "code": null,
    "msg": "OK",
    "data": [
        {
            "bankCode": "03",
            "bankName": "Absa Bank Kenya Plc"
        },
        {
            "bankCode": "26",
            "bankName": "Access Bank Kenya"
        },
        {
            "bankCode": "35",
            "bankName": "African BankingCorporation Ltd"
        },
        {
            "bankCode": "19",
            "bankName": "Bank of Africa Kenya Ltd"
        },
        {
            "bankCode": "06",
            "bankName": "Bank of Baroda Kenya Limited"
        },
        {
            "bankCode": "05",
            "bankName": "Bank of India"
        },
        {
            "bankCode": "48",
            "bankName": "Caritas Microfinance Bank"
        },
        {
            "bankCode": "82",
            "bankName": "Choice Microfinance Bank"
        },
        {
            "bankCode": "16",
            "bankName": "Citibank NA"
        },
        {
            "bankCode": "11",
            "bankName": "Co-operative Bank of Kenya Ltd"
        },
        {
            "bankCode": "65",
            "bankName": "Commercial International Bank"
        },
        {
            "bankCode": "23",
            "bankName": "Consolidated Bank of Kenya Ltd"
        },
        {
            "bankCode": "25",
            "bankName": "Credit Bank Limited"
        },
        {
            "bankCode": "59",
            "bankName": "Development Bank of Kenya Ltd"
        },
        {
            "bankCode": "63",
            "bankName": "Diamond Trust Bank Kenya Ltd"
        },
        {
            "bankCode": "75",
            "bankName": "Dubai Islamic Bank Ltd"
        },
        {
            "bankCode": "43",
            "bankName": "Ecobank Kenya Limited"
        },
        {
            "bankCode": "68",
            "bankName": "Equity Bank Kenya Ltd"
        },
        {
            "bankCode": "70",
            "bankName": "Family Bank Ltd"
        },
        {
            "bankCode": "79",
            "bankName": "Faulu Microfinance Bank"
        },
        {
            "bankCode": "53",
            "bankName": "Guaranty Trust Bank Kenya"
        },
        {
            "bankCode": "55",
            "bankName": "Guardian Bank Ltd"
        },
        {
            "bankCode": "72",
            "bankName": "Gulf African Bank Ltd"
        },
        {
            "bankCode": "17",
            "bankName": "Habib Bank Limited"
        },
        {
            "bankCode": "61",
            "bankName": "Housing Finance Cooperation Kenya (HFC Bank)"
        },
        {
            "bankCode": "57",
            "bankName": "I & M Bank Kenya Ltd"
        },
        {
            "bankCode": "01",
            "bankName": "Kenya Commercial Bank (Kenya) Ltd"
        },
        {
            "bankCode": "78",
            "bankName": "Kenya Women Microfinance Bank"
        },
        {
            "bankCode": "51",
            "bankName": "Kingdom Bank"
        },
        {
            "bankCode": "14",
            "bankName": "M-Oriental Bank Ltd"
        },
        {
            "bankCode": "18",
            "bankName": "Middle East Bank Kenya Ltd"
        },
        {
            "bankCode": "12",
            "bankName": "National Bank of Kenya Ltd"
        },
        {
            "bankCode": "07",
            "bankName": "NCBA Bank Kenya"
        },
        {
            "bankCode": "138",
            "bankName": "NCBA Loop"
        },
        {
            "bankCode": "50",
            "bankName": "Paramount Universal Bank Ltd"
        },
        {
            "bankCode": "62",
            "bankName": "PostBank Kenya"
        },
        {
            "bankCode": "74",
            "bankName": "Premier Bank Kenya"
        },
        {
            "bankCode": "10",
            "bankName": "Prime Bank Limited"
        },
        {
            "bankCode": "60",
            "bankName": "SBM Bank Kenya"
        },
        {
            "bankCode": "66",
            "bankName": "Sidian Bank Kenya"
        },
        {
            "bankCode": "49",
            "bankName": "Spire Bank Kenya"
        },
        {
            "bankCode": "31",
            "bankName": "Stanbic Bank Kenya Limited"
        },
        {
            "bankCode": "02",
            "bankName": "Standard Chartered Bank Kenya"
        },
        {
            "bankCode": "89",
            "bankName": "Stima Sacco"
        },
        {
            "bankCode": "76",
            "bankName": "UBA Kenya Bank Ltd"
        },
        {
            "bankCode": "67",
            "bankName": "UMBA Microfinance Bank"
        },
        {
            "bankCode": "32",
            "bankName": "Unaitas Sacco"
        },
        {
            "bankCode": "54",
            "bankName": "Victoria Commercial Bank Ltd"
        },
        {
            "bankCode": "93",
            "bankName": "Vooma"
        }
    ],
    "traceId": "Auto:6b0f1c2d3e4f40a1b2c3d4e5f6a7b8c9",
    "success": true
}
Previous
Get KYB/KYC submit + open account status
Next
Check Account
Built with