Mobile money operators
Last updated: 2026-08-25
Mobile-money operator codes are returned by discovery endpoints for the selected market and request context. Use this page as the consolidated public operator coverage and discovery reference for integration planning.
Public operator catalog
The catalog below lists all current public operator codes and display names. A
code is the exact value used in operators[].operator; its paired display name
is returned in operators[].name.
Some public codes have more than one valid display name. Always keep the code and name from the same discovery response together. Do not replace a returned name with another catalog name.
The catalog is an identity and planning reference, not an account-availability
response. Inclusion does not imply that an operator is available in both
directions or for every trafficVertical. Enabled markets, methods,
directions, and operators can also differ by merchant and realm. Call
GET /merchant/api/v1/catalog (Catalog and availability), then call
the matching MMO discovery endpoint for the request you are about to create.
Mobile money is not available for either pay-ins or pay-outs in Nigeria
(NG / NGN) or South Africa (ZA / ZAR). These markets therefore have no
public mobile-money operator codes and are intentionally absent from the table.
| Market context | Public operator codes and display names |
|---|---|
Burkina Faso (BF / XOF) | CORIS - CorisMOBICASH - MobiCash Burkina FasoMOOV - Moov / Moov Burkina FasoORANGE - Orange / Orange Burkina FasoWAVE - Wave Burkina Faso |
Benin (BJ / XOF) | CELTIIS - Celtiis Benin / Celtiis CashMOOV - Moov / Moov BeninMTN - MTN / MTN Benin |
Botswana (BW / BWP) | OTT_VOUCHER - Botswana OTT Voucher |
Democratic Republic of the Congo (CD / CDF) | AFRIMONEY - AfriMoneyAIRTEL - AirtelMPESA - Vodacom M-PesaORANGE - Orange |
Democratic Republic of the Congo (CD / USD) | AFRIMONEY - AfriMoneyAIRTEL - AirtelMPESA - Vodacom M-PesaORANGE - Orange |
Republic of the Congo (CG / XAF) | AIRTEL - Airtel CongoMTN - MTN / MTN Congo |
Cote d'Ivoire (CI / XOF) | MOOV - Moov / Moov Cote d'IvoireMTN - MTN / MTN Cote d'Ivoire / MTN Ivory CoastORANGE - Orange / Orange Cote d'Ivoire / Orange Ivory CoastWAVE - Wave / Wave Cote d'Ivoire |
Cameroon (CM / XAF) | MTN - MTN / MTN CameroonORANGE - Orange / Orange Cameroon |
Egypt (EG / EGP) | FAWRY - Fawry EgyptMEEZA - Meeza Egypt |
Ethiopia (ET / ETB) | AWASHBIRR - AwashBirrBOA - Bank of Abyssinia USSDCBE_BIRR - CBE BirrCOOPAY_EBIRR - Coopay E-BirrMPESA - M-Pesa EthiopiaTELEBIRR - TelebirrYAYA - Yaya |
Gabon (GA / XAF) | AIRTEL - Airtel GabonMOOV - Moov Gabon |
Ghana (GH / GHS) | AIRTELTIGO - AirtelTigo MoneyMTN - MTN GhanaTELECEL - Telecel CashTIGO_GH - Tigo Ghana |
Gambia (GM / GMD) | AFRIMONEY - AfriMoneyAPS - APSQMONEY - QMoneyWAVE - Wave |
Guinea (GN / GNF) | MTN - MTNORANGE - Orange |
Kenya (KE / KES) | AIRTEL - Airtel KenyaEQUITEL - Equitel KenyaMPESA - M-Pesa / Safaricom M-PesaTELKOM - Telkom KenyaTKASH - T-Kash |
Liberia (LR / LRD) | MTN - MTN Mobile Money LiberiaORANGE - Orange Money Liberia |
Mali (ML / XOF) | MOOV - MoovORANGE - Orange |
Malawi (MW / MWK) | AIRTEL - Airtel MalawiTNM - TNM Mpamba |
Sierra Leone (SL / SLE) | AFRIMONEY - AfriMoney Sierra LeoneORANGE - Orange Money Sierra Leone |
Senegal (SN / XOF) | MIXX - Mixx by YasORANGE - Orange / Orange Money Senegal / Orange SenegalWAVE - Wave Senegal |
Togo (TG / XOF) | MIXX - Mixx by YasMOOV - Moov |
Tanzania (TZ / TZS) | AIRTEL - Airtel TanzaniaHALOPESA - HaloPesa / Halopesa TanzaniaMIXX - Mixx by Yas / Mixx by Yas TanzaniaMPESA - Vodacom M-Pesa / Vodacom M-Pesa Tanzania |
Uganda (UG / UGX) | AIRTEL - Airtel UgandaMTN - MTN Uganda |
Zambia (ZM / ZMW) | AIRTEL - Airtel ZambiaMTN - MTN ZambiaZAMTEL - Zamtel Zambia |
Voucher-based entries such as OTT_VOUCHER use the request shape described in
Vouchers.
Using operator values
For each payment, call the matching discovery endpoint and:
- display the returned
operators[].name; - store its paired
operators[].operatorvalue with your payment reference; - send that
operatorvalue back unchanged in the payment request.
Do not rename, normalize, or translate the returned value. A value observed for one market or direction does not establish availability for another request.
Pay-in operator discovery
curl -G "https://merchants-api.tcpay.io/merchant/api/v1/payins/mmo" \
-H "Authorization: Bearer pk_test_..." \
--data-urlencode "countryCode=GH" \
--data-urlencode "paymentMethod=PAYMENT_METHOD_MOBILE_MONEY" \
--data-urlencode "trafficVertical=TRAFFIC_VERTICAL_OTHER"
Response:
{
"operators": [
{ "operator": "MTN", "name": "MTN Ghana" }
]
}
For standard mobile money, display operators[].name and reuse
operators[].operator in mobileMoneyDetails.operator for direct pay-ins or in
mobileMoneyOperator for hosted initialization when the market requires an
operator.
For mobile money transfer, call the same endpoint with
paymentMethod=PAYMENT_METHOD_MOBILE_MONEY_TRANSFER. Reuse the returned rail
code in mobileMoneyOperator for hosted initialization or
mobileMoneyTransferDetails.operator for direct creation.
Pay-out operator discovery
curl -G "https://merchants-api.tcpay.io/merchant/api/v1/payouts/mmo" \
-H "Authorization: Bearer pk_test_..." \
--data-urlencode "countryCode=GH" \
--data-urlencode "paymentMethod=PAYMENT_METHOD_MOBILE_MONEY" \
--data-urlencode "trafficVertical=TRAFFIC_VERTICAL_OTHER"
Response:
{
"operators": [
{ "operator": "MTN", "name": "MTN Ghana" }
]
}
Use operators[].name for display and reuse operators[].operator exactly as returned in mobileMoneyDetails.operator for mobile-money pay-outs.
Integration rules
- Build pay-in, transfer-rail, and pay-out selectors from discovery responses.
- Store the selected operator together with the payment reference on your side.
- Send the same
countryCode,paymentMethod,trafficVertical, andcustomerSegmentcontext in discovery and payment requests. - Use this catalog as the public code/name reference and discovery as the source of actual availability.
- Reuse the exact
operatorreturned by discovery; do not rename or normalize it.