Payouts to Kenya
What are the specific requirements for KES payouts to Kenya?
Review these Kenya-specific requirements before initiating KES payouts. For the general cross-border payment flow, see Sending Cross-Border Payments.
Supported configurations
Kenya payouts support the following participant types:
- C2C (consumer-to-consumer) — individual customer to individual counterparty
- B2C (business-to-consumer) — business customer to individual counterparty
- B2B (business-to-business) — business customer to business counterparty
Two routes are available:
bank_account— KEBANK rail, SWIFT/BIC routingmobile_wallet— MPESA rail, phone number routing
All participant types are supported on both routes.
Trading account requirement
Kenya payouts require a USDC_SOL trading account as the source. Other trading account types
(such as USDC or USDC_NPL) are not supported for KES payouts.
Verify KES payout availability
Confirm your bank supports KES payouts for your participant type and the routes you plan to use.
Bank configuration requiredContact Cybrid support to enable KES payouts and configure Kenya as a supported corridor for your bank.
GET /api/banks/{bank_guid}
Authorization: Bearer YOUR_TOKENLook for entries in supported_payout_symbols where:
symbol:KES-USDorKES-USDC_SOLcountry_code:KEparticipants_type:C2C,B2C, orB2Broute:bank_accountormobile_wallet
You can also query prices for Kenya:
GET /api/prices?payout_country_code=KE
Authorization: Bearer YOUR_TOKENIdentity verification requirements
The platform validates all required KYC fields when you create a plan for KES payouts.
Originator (Customer)
Individual originator (C2C):
name.first,name.lastdate_of_birthphone_numberemail_addressaddress.street,address.country_codeidentification_numbers
Extra fields required for individual originatorsUnlike other C2C corridors, Kenya requires
phone_number,email_address, andidentification_numberson the individual originator.
Business originator (B2C, B2B):
name.fulladdress.street,address.country_codeidentification_numberswith one of:tax_identification_numberemployer_identification_numberbusiness_registration_number
Receiver (Counterparty)
Create the counterparty with the
standard required fields
for the appropriate type (individual or business). The counterparty must be in verified state
before you can create the external bank account and plan.
Individual counterparty (C2C, B2C): This corridor requires no additional counterparty fields beyond the platform defaults.
Business counterparty (B2B): This corridor requires no additional counterparty fields beyond the platform defaults.
Purpose of transaction
For Kenya payouts, purpose_of_transaction is required for all participant types. All
standard purpose values are accepted.
External bank account setup
Send a POST request to /api/external_bank_accounts with one of the following formats.
Bank account
Uses SWIFT/BIC routing with bank_code_type: SWIFT_BIC and payment_rail: KEBANK.
{
"account_kind": "raw_routing_details",
"name": "Kenyan beneficiary account",
"counterparty_bank_account_details": [{
"bank_code_type": "SWIFT_BIC",
"bank_code": "NBKEKENX",
"account_identifier": "1234567890",
"payment_rail": "KEBANK"
}],
"counterparty_guid": "counterparty_guid",
"customer_guid": "customer_guid",
"asset": "KES"
}Mobile wallet
Uses account_identifier_type: PHONE_NUMBER with an E.164 phone number and
payment_rail: MPESA. Omit bank_code and bank_code_type.
{
"account_kind": "raw_routing_details",
"name": "Kenyan beneficiary mobile wallet",
"counterparty_bank_account_details": [{
"account_identifier": "+254712345678",
"account_identifier_type": "PHONE_NUMBER",
"payment_rail": "MPESA"
}],
"counterparty_guid": "counterparty_guid",
"customer_guid": "customer_guid",
"asset": "KES"
}
API versioningCreating external bank accounts with foreign raw routing details requires
Accept-Version: 2025-10-01or later.
For the full account model and field reference, see Create Foreign Fiat External Bank Accounts.
Validation rules
- SWIFT/BIC: Standard 8 or 11 alphanumeric characters
- MPESA phone number: Must be in E.164 format (e.g.,
+254712345678) - Payment rail: Must be
KEBANKfor bank account payouts orMPESAfor mobile wallet payouts
Supported banks and mobile wallets
Bank account
The following 27 banks are available for KES payouts to Kenya across all supported participant types. Use the SWIFT/BIC code when setting up the external bank account.
| Bank Name | SWIFT/BIC | Sandbox |
|---|---|---|
| Absa Bank Kenya Plc | BARCKENX | No |
| African Banking Corporation | ABCLKENA | No |
| Bank of Africa Kenya Ltd | AFRIKENX | No |
| Bank of Baroda | BARBKENA | No |
| Bank of India | BKIDKENA | No |
| Central Bank of Kenya | CBKEKENA | No |
Mobile wallet
The MPESA route is available in both sandbox and production for all participant types.
Common validation errors
| Error Code | Description |
|---|---|
invalid_destination_account_exception | External bank account not completed or missing routing details |
invalid_purpose_of_transaction | Missing or invalid purpose value for Kenya payouts |
invalid_parameter | KYC requirements not met (originator or receiver PII incomplete) |
invalid_asset_exception | Bank does not support KES payouts for the requested participant type |
invalid_payment_rail_for_country | Payment rail not supported for Kenya |
Related resources
Updated 1 day ago
