API Referencev1.0
HomeLog inSign up
PAYOUTS

Quote a payout

POSThttps://production.dutchapi.co/v1/payouts/quote

Prices a payout without reserving or charging anything: what the recipient gets, and the fees object.

🔒Send the project API key as a Bearer token and your Business ID with this call.

The quote is indicative. The payout itself is priced again when you create it, using the published rate for the route.

African rails: mobile money in CM, RW, CD, CI, SN, TZ and ZM; mobile money or bank in GH, KE and UG; bank in NG and ZA.

Body Params

amountnumberrequired

Amount to send, in the source currency. Greater than 0.

currencystringrequired

Source wallet currency: USD, XAF, GHS, ZAR, NGN, RWF, UGX or KES.

railstringrequired

mobile_money or bank, where that rail is supported: CM/RW/CD/CI/SN/TZ/ZM mobile money; GH/KE/UG mobile money or bank; NG/ZA bank.

recipient.namestringrequired

Recipient full name (2 to 100 characters).

recipient.accountstringrequired

Mobile number in international format, or bank account number.

recipient.countrystringrequired

ISO 3166 alpha-2 payout destination: CM, GH, UG, KE, NG, RW, ZA, CD, TZ, ZM, SN or CI. Only the rail listed for each country is accepted.

recipient.bankCodestringoptional

Required for bank unless recipient.bank is sent. The public developer API has no bank-list endpoint; obtain the code from your business dashboard or support.

recipient.bankstringoptional

Bank name (required for bank unless recipient.bankCode is sent).

recipient.networkstringoptional

Mobile money network, for example MTN MoMo.

markupPercentnumberoptional

Your own markup as a percentage of the amount (0 to 50). Reported in fees, never debited.

markupFixednumberoptional

Your own fixed markup in the request currency. Reported in fees, never debited.

Responses

{
  "send": {
    "amount": 40000,
    "currency": "XAF"
  },
  "receive": {
    "amount": 88978.6,
    "currency": "NGN",
    "rate": 2.2244
  },
  "fees": {
    "currency": "XAF",
    "rule": "fixed",
    "ruleDetail": "Under 50,000 XAF: 300 XAF fixed",
    "dutchFee": 300,
    "markup": 100,
    "totalFee": 400
  },
  "indicative": true
}
{
  "error": "valid_amount_required",
  "message": "amount must be a positive number."
}

Errors

StatuserrorMeaning
400valid_amount_requiredamount must be a positive number.
400unsupported_currencycurrency must be one of USD, XAF, GHS, ZAR, NGN, RWF, UGX or KES.
400bank_requiredBank payouts need recipient.bank or recipient.bankCode.
422unsupported_payout_railThat bank or mobile-money rail is not supported in the requested country.
422amount_below_minimumThe amount is under the published minimum for that route.
422currency_not_pricedThere is no published sending rate for that currency.
502quote_failedDutch API could not produce a quote for this corridor.
Updated 2026
Did this page help you?