The Real Time Gross Settlement (RTGS) web-service enables an application to send money intra-country to other bank accounts.


In line with various banking regulations your send money transaction will be subjected to various verifications and you may be required to provide additional information

Transaction Time

RTGS is available on weekdays between 9am and 3pm. If you send after these hours, your transaction will be queued and sent at the next available transaction window.


Parameter Data Type Description Required
source object sender account details Y
source.customer_code string sender business code assigned by Pokea Pay Y
source.account_no string sender account number Y
destination object destination account details Y
destination.country_code string the recipient's ISO country code. Y
destination.name string recipient's full name. Y
destination.account_no string the recipient's account number Y
destination.bank_code string the recipient's bank code Y
transfer object the transfer details Y
transfer.reference string the sender's reference number. unique minimum:6 digit string for each transaction Y
transfer.currency string transfer currency type (USD or KES). Y
transfer.amount string the amount. Max per transaction is USD 10,000 or currency equivalent Y
transfer.date string the transfer date ISO 8601 date format 'YYYY-MM-DD' Y
transfer.description string any additional payment details the sender may have. Y
transfer.channel numeric channel unique code. use 059980 for pesalink account Y
result_url string this parameter holds the URL to your server to which callback response will be sent. Y


Parameter Data Type Description Required
Authorization string bearer token used to access the API Y
signature string A SHA-256 signature to proof that this request is coming from the merchant. Build a String of concatenated values of the request fields with the following order: source.account_no transfer.amount transfer.date transfer.reference destination.account_no The resulting text is then signed with Private Key and Base64 encoded. Y

200 Success Response Schema

Parameter Data Type Description
code numeric Response code
message string Response message.

Example Request

curl --location --request POST 'https://here-prod-api-url.com/remittance/pesalink/rtgs'
--header 'Accept: application/json'
--header 'Content-Type: application/json'
--header 'signature: +/sk8X9sxiqJujTyUF09ISpD+O4VzrbP7DU8WM3cXJqsX+zqKhA=='
--header 'Authorization: Bearer OEdjeGYQGl7kuvZ8TSD_iXDFy-imh6Myg-cHPCuHhGg'
--data-raw '{
    "source": {
        "name":"John Doe",
        "description":"Dividend remitting",

Example Response

    "code": 0,
    "success": true,
    "message": "The service request is submitted successfully."

Example Success Transaction on the Return Url Response

  "channel": "059980",
  "reference": "12232",
  "transaction_id": "S93920",
  "currency": "KES",
  "amount": "100",
  "fees": "2",
  "result_code": 0,
  "result_description": "The service request is processed successfully.",
  "hash": "d6e15ccdf590e58ac5ad4f52943fe16c4db8a605034a4565d21a86a886a7c1c4"

Example Failed Transaction on the Return Url Response

  "channel": "059980",
  "result_code": 1032,
  "reference" : "12232"
  "result_description": "Bad Request - Invalid Account number",
  "hash": "b80c6893e1f38cc054d2b33fb6c3f7b65f635f45eed7a9c6747da038f2b52d30"