OnLink
API reference

Deposit instructions for both legs

The KES rails that top up your KES balance, and your USDT deposit address. A KES deposit is credited to your balance, not to any one order — a buy order debits that balance directly. Every reference is an explicit field — the KES accountReference is the exact value to put in the M-PESA account-number field, or the beneficiary account number on a bank transfer. Your USDT deposit address is permanent. What a deposit does depends on who holds your USDT: if OnLink holds it, USDT sent to the address tops up your USDT balance, which a sell order is paid from; if you hold it in your own wallet, the address is that wallet and the USDT stays there, where your sells and sends draw from it. GET /v1/usdt/holding-wallet says which applies to you.

GET
/v1/funding

Authorization

partner-key
X-OnLink-Key<token>

In: header

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/funding"
{  "kes": [    {      "rail": "mpesa_paybill",      "paybill": "000000",      "accountReference": "00000000123456",      "beneficiaryName": "EXAMPLE PAYMENTS LTD",      "currency": "KES",      "instructions": "M-PESA > Lipa na M-PESA > Pay Bill > Business number 000000 > Account number 00000000123456. This tops up your KES balance — it is not tied to any single order, and there is no reference to quote per order."    }  ],  "usdt": {    "chain": "tron",    "asset": "USDT",    "address": "T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb",    "memo": null,    "instructions": "Send USDT on the Tron (TRC-20) network to this address to top up your USDT balance. It is your permanent deposit address: a deposit is credited to your balance, not to any one order, and a sell order is paid from that balance. No memo or tag is used."  }}