Mobile money APIs compared: M-Pesa Daraja, MTN MoMo, Airtel Money and Orange Money

Mobile money APIs are not one interface: M-Pesa's Daraja, MTN MoMo, Airtel Money and Orange Money each expose a different authorization flow, use-case set and settlement rule, which is why merchants selling across markets integrate one aggregated API instead of wiring up every rail by hand.
Boldrails is a licensed principal payments provider. We acquire and settle mobile money directly across African and Asian rails, so this comparison is written from the position of a company that runs these integrations, not a directory that resells them.
This guide maps the major mobile money APIs, explains how M-Pesa's Daraja API works in Kenya, and shows where a single integration replaces four. Every figure is sourced to a standards body or an official rail source.
- There is no single mobile money standard. The GSMA harmonised Mobile Money API (specification v1.0.0, first published in 2016) defines eight core use cases, but rail adoption of the spec is partial, which is why each API still behaves differently.
- Kenya's real demand sits in the M-Pesa Daraja cluster. The term "daraja api" alone draws roughly 2,900 searches a month in Kenya (DataForSEO), far above the plural "mobile money apis" head, which falls below the measurement floor.
- MTN opened its MoMo API for free developer access, and the platform launched in Uganda in November 2018.
- Four African rails means four flows. Daraja leads with STK Push; other stacks expose OTP, STK and redirect authorization; MTN groups its API into Collection, Disbursement and Remittances.
- Rail APIs are generally free to access. You pay per-transaction fees, and who bears the fee (the merchant or the customer) is a per-rail, per-market setting, not an industry standard.
- Boldrails settles mobile money collections in fiat or crypto on one integration, with onboarding in 3 to 14 days, depending on your case.
What is a mobile money API?
The closest thing to a shared standard is the GSMA harmonised Mobile Money API, first published as version 1.0.0 in 2016. It uses REST and JSON, and it defines eight core use cases: merchant payments, disbursements, international transfers, person-to-person transfers, recurring payments, account linking, bill payments and agent services. The intent was to let the industry speak one technical language.
In practice, adoption is partial. Some operators follow the GSMA design closely, others expose their own conventions, and the largest rails predate or extend the spec. That gap is the whole reason a merchant who accepts more than one wallet ends up comparing APIs at all, and it is why our mobile money rails hub treats each rail as its own integration underneath one interface.
Which are the major mobile money APIs, and how do they compare?
| Rail / API | Markets | Core use cases | Auth model | Settlement | Who bears the fee | Access |
|---|---|---|---|---|---|---|
| M-Pesa Daraja API | Kenya (Safaricom) | Collection (C2B), B2C payouts, B2B, status, reversal | STK Push (PIN prompt), plus C2B/B2C calls | M-Pesa business account, then bank; local currency | Configurable per integration | Direct with Safaricom |
| MTN MoMo API | Pan-African, many markets | Collection, Disbursement, Collection Widget (QR), Remittances | Request-to-pay approval on the wallet | Per market and operator agreement; local currency | Configurable | Direct via MTN developer portal |
| Airtel Money | Multiple African markets | Collections and disbursements | Wallet approval prompt | Per market; local currency | Configurable | Direct via Airtel |
| Orange Money | Francophone West and Central Africa | Web Payment and M-Payment | Redirect or wallet approval | Per market; local currency (XOF/XAF) | Configurable | Direct via Orange developer |
| GSMA harmonised spec | Standard, not a rail | The eight canonical use cases | Defines patterns, not a live wallet | Not applicable (specification) | Not applicable | Reference implementation |
| Aggregated one-API (Boldrails) | African and Asian rails, plus cards and bank transfer | Collection, mass payouts, settlement | All rail flows behind one integration | Fiat or crypto, from one reconciled account | Configurable, transparent per case | Aggregated via a licensed principal |
Every cell traces to a public source; coverage, settlement currency and fees vary by operating country, so treat each cell as general rail behavior, not a market-wide guarantee.
Every cell traces to a public source: the GSMA specification for the standard, the MTN MoMo API and Orange Money API docs for those rails, and the Safaricom Developer Portal for Daraja.
Two well-known mobile money aggregators, PawaPay and Kora, publish similar one-API positioning from public pages (reviewed 11 July 2026); we name them for context and do not link them, and we do not mirror their aggregator or partner framing. Boldrails is a licensed principal: we acquire and settle, we do not broker. The differentiator in the last row is real, and it is narrow. The settlement cell that reads fiat or crypto is filled by no rail-owner or mobile-money-only aggregator on this list. You can check which rails, countries and verticals we support on our acceptance index.
What is the M-Pesa Daraja API, and why is it the Kenya standard?
It is the single most-searched mobile money API in the market, which is why "daraja api", "mpesa api", "mpesa daraja api", "daraja api documentation" and "mpesa developer portal" all point back to the same set of endpoints. Access follows a fixed path. You register on the Safaricom Developer Portal, create an app to get an API key (a Consumer Key and Consumer Secret) and a public key, then test in the sandbox before you request production credentials. Going live involves a compliance and onboarding step tied to a registered M-Pesa business shortcode, which you set up through the M-Pesa business portal. STK Push is the collection flow, where the customer receives a PIN prompt on the phone; it is not the whole API, and payouts run through B2C.
This is the section that earns the clicks, so here is the honest version: Daraja is well documented and free to access, but production onboarding, shortcode approval and reconciliation are where teams lose time. Boldrails provides M-Pesa acceptance and settlement directly, so a merchant reaches Daraja through one integration alongside every other rail, and settles to a bank in KES or in crypto from one account. The rail-level detail is on our M-Pesa API page, and merchants accepting in-market can see our Kenya coverage.
How do MTN MoMo, Airtel Money and Orange Money APIs differ?
MTN MoMo is the largest-footprint rail. According to Tech in Africa citing MTN Group figures, MTN operated across roughly 17 markets with about 30 APIs and 69.1 million active users in 2022; we cite those as MTN's own reported numbers, not Boldrails data. The MTN MoMo API groups into Collection (collect bills, fees and taxes), Disbursement (pay many recipients in one request), a Collection Widget (a QR flow for your site), and Remittances (diaspora to local). Its developer portal is free to join, and the platform launched in Uganda in November 2018.
Airtel Money runs across multiple African markets with a developer API for collections and disbursements, approved through a wallet prompt. Orange Money covers francophone West and Central Africa, and its Web Payment and M-Payment API uses a redirect or wallet-approval flow, settling in XOF or XAF depending on the country. Coverage, settlement currency and fee handling for MTN, Airtel and Orange all vary by operating country, so confirm the rules for the specific market you sell into. Because each rail exposes a different flow and settlement rule, a merchant touching all three integrates three times, or once through an aggregated layer. Our Orange Money API page covers the francophone detail.
How does mobile money API integration work with STK Push, OTP and redirect?
- 1Onboard and pass KYB checks to receive API credentials (keys, or a client ID and secret).
- 2Initiate a charge with the amount, currency and the customer's mobile number (the MSISDN).
- 3Authorize the payment with STK Push (a PIN prompt) on M-Pesa, an approval prompt on MTN and Airtel, a redirect on rails that use it, or a one-time password.
- 4Receive a webhook confirming the final status, because mobile money settles asynchronously.
- 5Verify and reconcile against your records, then refund or reverse if needed. Test in the sandbox first.
Most rails also ship an SDK and sandbox test credentials to speed this up. Test every flow in the sandbox before you go live, and design your webhook handler to be idempotent so a repeated callback does not double-count a payment. The GSMA design principles standardize the REST and JSON substrate and OAuth-style authorization, but the authorization step itself is rail-specific. Boldrails abstracts these differing flows behind one integration, so your code initiates a charge the same way whether the customer pays with M-Pesa or MTN MoMo.
Single-rail vs aggregated mobile money API: which should you build?
The maintenance cost is the part teams underestimate. Every rail ships its own breaking changes, sandbox quirks, shortcode rules and reconciliation format. Four rails means four sets of that work, and four on-call surfaces when a webhook stops firing. An aggregated integration moves that burden to the provider. Mobile money aggregators such as PawaPay and Kora built their businesses on exactly this argument, and larger African PSPs such as Flutterwave, Paystack and Onafriq offer their own multi-rail coverage; the argument is a fair one.
Where Boldrails differs is the model, not just the pitch. We are a licensed principal provider that acquires and settles across rails on one integration; we are not a broker, a marketplace or an aggregator of choice that routes you to someone else. That distinction matters when funds and compliance are involved, because the entity you integrate with is the entity that holds the licences and settles the money.
Is the M-Pesa or MoMo API free, and who bears the transaction cost?
Ericsson's case study records that MTN opened its MoMo API for free developer access when the platform launched in Uganda in November 2018, and M-Pesa access is likewise free to register through the Safaricom Developer Portal and the M-Pesa business portal.
Boldrails prices per case, with merchant discount rates from 1.4%, and onboarding in 3 to 14 days, depending on your case. We never quote a per-rail fee we cannot honor.
How do Asia's wallet APIs work, from GCash to QRIS and MoMo?
In Indonesia, QRIS is governed by Bank Indonesia, and merchants accept it through a payment provider rather than a single wallet API. Developers everywhere search the rail's own name, so the useful terms are "gcash api", "qris api" and "momo api", in English, regardless of the local language. The authorization details differ, but a charge is still initiated, authorized on the wallet and confirmed by webhook. Boldrails covers African and Asian rails on one integration, which is the point of an aggregated layer once your customers span regions. The rail-level detail for the Philippines is on our GCash API page.
How do mobile money APIs work for high-risk businesses across rails?
Boldrails provides acceptance across African and Asian mobile money rails, plus cards and bank transfer, on one integration; we run mass payouts (bulk disbursement) to wallets; and we settle in fiat or crypto from one reconciled account. That breadth is wider than any single-rail integration or mobile-money-only aggregator on the market.
We serve high-risk verticals, including iGaming, forex and crypto operators, as accepted businesses rather than exceptions, and we hold the necessary licences required in the markets we serve. For the payout side, see our mass payouts and payout API pages; for the settlement bridge, see crypto and fiat settlement.
What this means
Collect on any rail, settle in fiat or crypto, from one integration.