Boldrails
Payments · Mobile money

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

Claude IgrowAuthorClaude IgrowJuly 11, 202610 min read
Many mobile-money wallet icons across an abstract Africa and Asia map converging into one glowing API hub.

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.

Key takeaways
  • 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.
2016
GSMA harmonised Mobile Money API v1.0.0 published
GSMA Mobile Money API specification.
8
Core use cases the GSMA spec defines
GSMA Mobile Money API (merchant payments, disbursements, transfers and more).
Nov 2018
MTN MoMo API launched, free developer access
Ericsson MTN Mobile Money Open APIs case study (Uganda).

What is a mobile money API?

A mobile money API lets software move money into and out of mobile wallets such as M-Pesa or MTN MoMo without manual steps. It collects payments from a wallet, sends payouts to wallets, and reports the status of each transaction so your system can reconcile.

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?

Every major mobile money API does the same two jobs, collect and disburse, but the coverage, authorization model, settlement rule and fee treatment differ by rail and by market. The table below puts them on one axis, the comparison the ranking pages do not publish.
Major mobile money APIs compared by markets, core use cases, auth model, settlement, who bears the fee and access model.
Rail / APIMarketsCore use casesAuth modelSettlementWho bears the feeAccess
M-Pesa Daraja APIKenya (Safaricom)Collection (C2B), B2C payouts, B2B, status, reversalSTK Push (PIN prompt), plus C2B/B2C callsM-Pesa business account, then bank; local currencyConfigurable per integrationDirect with Safaricom
MTN MoMo APIPan-African, many marketsCollection, Disbursement, Collection Widget (QR), RemittancesRequest-to-pay approval on the walletPer market and operator agreement; local currencyConfigurableDirect via MTN developer portal
Airtel MoneyMultiple African marketsCollections and disbursementsWallet approval promptPer market; local currencyConfigurableDirect via Airtel
Orange MoneyFrancophone West and Central AfricaWeb Payment and M-PaymentRedirect or wallet approvalPer market; local currency (XOF/XAF)ConfigurableDirect via Orange developer
GSMA harmonised specStandard, not a railThe eight canonical use casesDefines patterns, not a live walletNot applicable (specification)Not applicableReference implementation
Aggregated one-API (Boldrails)African and Asian rails, plus cards and bank transferCollection, mass payouts, settlementAll rail flows behind one integrationFiat or crypto, from one reconciled accountConfigurable, transparent per caseAggregated 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?

The M-Pesa Daraja API is Safaricom's developer interface to M-Pesa in Kenya. It exposes STK Push for customer-initiated collections, plus C2B, B2C payouts, B2B transfers, transaction status and reversal.

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?

Outside Kenya, three rails matter most, and each exposes a different shape. They share the collect-and-disburse job but split it into different products and cover different regions.

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?

Most mobile money integrations follow the same five steps, whatever the rail. The authorization step is where they diverge.
  1. 1
    Onboard and pass KYB checks to receive API credentials (keys, or a client ID and secret).
  2. 2
    Initiate a charge with the amount, currency and the customer's mobile number (the MSISDN).
  3. 3
    Authorize 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.
  4. 4
    Receive a webhook confirming the final status, because mobile money settles asynchronously.
  5. 5
    Verify 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?

Integrate one rail directly when you serve one market on one wallet. Use an aggregated API when you touch multiple rails or markets, because integrating them one by one means building the same charge-authorize-webhook-reconcile loop several times over.

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?

The rail APIs themselves are generally free to access. You do not pay a licence fee for Daraja or the MTN MoMo API; you pay per-transaction fees, and a compliance and onboarding step gates production access.

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.

Key Finding
The fee that does apply, the per-transaction charge, has a variable that trips people up: who bears the cost. On several stacks this is a toggle (Kora, for example, exposes a merchant-bears-cost setting in its docs), meaning the fee can be absorbed by the merchant or passed to the customer. It is a per-rail, per-market configuration, not a fixed rule, so confirm it for each rail you enable rather than assuming a market-wide rate.

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?

The same collect-and-settle pattern extends beyond Africa. In the Philippines, GCash and Maya sit behind wallet APIs reached through licensed providers. In Indonesia, QRIS is the national QR standard. In Vietnam, MoMo is the dominant wallet.

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?

For high-risk and high-volume merchants, the API question is really a coverage-and-settlement question: which rails can you collect on, how do you pay out at scale, and where do the funds land.

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

This is general information, not financial or legal advice. Verify every fee, access requirement and licensing detail with the rail or the relevant regulator before you build.

Collect on any rail, settle in fiat or crypto, from one integration.

Frequently asked questions

Yes. You can register on the Safaricom Developer Portal and use the Daraja sandbox with test credentials and test numbers before production. Going live, though, requires a registered M-Pesa business shortcode and a compliance step, which is where a registered Kenyan entity, or a licensed provider acting as principal, is needed.