Rates and Banks
Payout countries, exchange rate quotes and the list of supported banks.
Get Countries
Get the countries you can pay out to, with the current USD rate for each.
Request Body
{} if there are none.Request Body Example
{
"jsonrpc": "2.0",
"method": "getCountries@getCountries",
"params": {},
"id": "1"
}JSON-RPC response
Response Fields
Example Response
{
"jsonrpc": "2.0",
"result": {
"countries": [
{
"conversionRate": 129.5,
"countryName": "Kenya",
"currencyCode": "KES"
}
]
},
"id": "1"
}The bearer token is missing, invalid or expired. The response is plain JSON with HTTP
401, not a JSON-RPC envelope. Log in again and retry once.
Response Fields
401.Example Response
{
"status": 401,
"message": "Failed, Not authorized"
}Get Conversion Rate Fee and Amount
Get the rate, your fee and the payout amount for a given send amount.
Request Body
{} if there are none.KES, USD.KES, USD.Request Body Example
{
"jsonrpc": "2.0",
"method": "rates@getConversionRateFeeAndAmount",
"params": {
"currencyCode": "KES",
"senderAmount": 100,
"senderCurrency": "USD"
},
"id": "1"
}| Error code | Message |
|---|---|
| 400 | Can only send KES or USD |
| 400 | Recipient currency not available for inbound transactions |
| 400 | Error getting currency details (no active rate configured) |
Response Fields
1 if both currencies are the same)localFeeExample Response — Quote
{
"jsonrpc": "2.0",
"result": {
"amount": 12980,
"currencyCode": "KES",
"localFee": 30,
"rate": 129.5
},
"id": "1"
}Example Response — Unsupported Currency
{
"jsonrpc": "2.0",
"error": {
"code": 400,
"message": "Can only send KES or USD"
},
"id": "1"
}The bearer token is missing, invalid or expired. The response is plain JSON with HTTP
401, not a JSON-RPC envelope. Log in again and retry once.
Response Fields
401.Example Response
{
"status": 401,
"message": "Failed, Not authorized"
}Get All Banks
Get the Kenyan banks you can send to. Use code as destination_bank_code in bank
lookups and transfers. The list rarely changes. Cache it and refresh it daily.
Request Body
{} if there are none.Request Body Example
{
"jsonrpc": "2.0",
"method": "banks@getAllBanks",
"params": {},
"id": "1"
}JSON-RPC response
Response Fields
Example Response
{
"jsonrpc": "2.0",
"result": [
{
"id": 1,
"name": "Kenya Commercial Bank Limited",
"code": "40401000"
},
{
"id": 2,
"name": "Standard Chartered Bank Kenya Limited",
"code": "40402000"
},
{
"id": 3,
"name": "Absa Bank Kenya PLC",
"code": "40403000"
}
],
"id": "1"
}The bearer token is missing, invalid or expired. The response is plain JSON with HTTP
401, not a JSON-RPC envelope. Log in again and retry once.
Response Fields
401.Example Response
{
"status": 401,
"message": "Failed, Not authorized"
}