Eversend
PlatformGuides
// guide · platform

How to integrate mobile money payouts

6 min read · code-first · updated July 2026
The short answer

Mobile money payouts across Africa come down to one pattern: a phone number as the account, a rail string per network, and webhooks for settlement. Eversend's /v1/payouts covers M-Pesa, MTN MoMo, Airtel Money and more through one endpoint, with measured delivery medians per market.

The account is a phone number

Mobile money wallets are addressed by MSISDN, the recipient's phone number in international format. There is no account-number validation dance: the number is the account, and on rails that support it the wallet holder's name comes back before you commit.

One endpoint, every network

The rail is a string. M-Pesa in Kenya, MTN MoMo in Uganda or Ghana, Airtel Money where it dominates: the call is identical, only rail and currency change.

payout · mobile money200 OK
POST /v1/payouts
"rail": "mtn_momo", // or mpesa, airtel_money
"amount": 800000, "currency": "UGX",
"recipient": { "phone": "+2567..." }

Design for the webhook, not the response

The API response confirms acceptance; the delivered webhook confirms money in the wallet. Medians run from under a minute to a couple of minutes depending on the market, so build your UI around the event, and show your user the measured expectation rather than a spinner.

Fees are flat and on the quote

Mobile money payout fees are flat or percentage per market and returned on every quote before you commit. No spread games: the FX rate you see on the quote is the rate that settles.

See the rails, measured.

Per-market medians from 90 days of production transfers, on the rail pages.

MTN Mobile Money API