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. The FX rate on the quote, our margin included, 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