Overview
Request a priced quote before you create a remittance. Quotes expire after 60 seconds by default. Pass the returned quote_id to create.
Endpoint Reference
HTTP Method POST
Endpoint URL /api/v2/remit/quotes
Base URL https://base-url-here.com
Description Price a send or receive amount on a supported corridor.
Request Body
Field Type Description Required
wallet_no string Funding wallet slug. Currency must match source_currency. Yes
source_currency string KES or USD.Yes
destination_country string ISO country from destinations , e.g. UG. Yes
destination_currency string Must match that country, e.g. UGX for UG. Yes
rail string mobile_money or bank.Yes
amount numeric Amount to price. No thousand separators. Yes
amount_side string send prices from the debit amount. receive prices from the payout amount.Yes
Success Response
Field Type Description
data.quote_id uuid Pass this to create.
data.expires_at string ISO-8601 expiry.
data.currency_pair string e.g. KES - UGX.
data.provider_rate string Wholesale FX rate.
data.customer_rate string Rate after merchant markup.
data.markup_percentage string Applied markup.
data.send_amount string Source amount before tariff.
data.send_currency string Wallet currency.
data.receive_amount string Amount the recipient gets.
data.receive_currency string Destination currency.
data.debit_amount string Amount withdrawn from the wallet on execute.
data.tariff string Provider tariff included in pricing.
data.rail string Quoted rail.
Example: send KES, receive UGX
Copy
curl --location --request POST 'https://base-url-here.com/api/v2/remit/quotes' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--header 'X-Business-Id: 9' \
--data-raw '{
"wallet_no": "WALLET1",
"source_currency": "KES",
"destination_country": "UG",
"destination_currency": "UGX",
"rail": "mobile_money",
"amount": "1000",
"amount_side": "send"
}'
Copy
{
"success": true,
"message": "Success",
"data": {
"quote_id": "11111111-1111-1111-1111-111111111111",
"expires_at": "2026-10-22T09:01:00+00:00",
"currency_pair": "KES - UGX",
"provider_rate": "28.450000000000",
"customer_rate": "28.023250000000",
"markup_percentage": "1.50",
"send_amount": "1000.00",
"send_currency": "KES",
"receive_amount": "28023.25",
"receive_currency": "UGX",
"debit_amount": "1000.00",
"tariff": "0.00",
"rail": "mobile_money"
}
}
Country and currency must be a supported pair (UG with UGX, KE with KES, and so on). A mismatch returns HTTP 422. If the FX provider is unavailable, the API returns HTTP 502.
Terms of Use & Legal
By using this API, you agree to our Terms of Service and Privacy Policy . Do not share sensitive data or credentials.