Docs
ENFR
Dashboard
Get started

Coverage

Countries, currencies and mobile money operators, and which ones the API accepts today.

Monerail covers 22 African countries. The API accepts 20 of them today, in 10 currencies: XAF, XOF, GNF, CDF, NGN, GHS, KES, UGX, TZS and RWF. Availability is being extended to the 2 countries marked Opening, to collections in NGN and to USD in DR Congo. Cards are issued in US dollars and work online worldwide, wherever Visa or Mastercard is accepted.

The tables below are a guide. The source of truth for your integration is List operators: it returns the operators open right now for a currency (and, with country, for one country), in the mode of your key. Operators and limits are confirmed for your business during onboarding.

Central Africa

Country ISO Currency Available in the API Main operators
Cameroon CM XAF Yes MTN MoMo, Orange Money
Gabon GA XAF Yes Airtel Money, Moov Money
Chad TD XAF Yes Airtel Money, Moov Money
Congo CG XAF Yes MTN MoMo, Airtel Money
Central African Republic CF XAF Yes Orange Money, Telecel Money
DR Congo CD CDF Yes (USD: opening) Airtel Money, M-Pesa, Orange Money, Afrimoney

XAF is shared by six countries: send country (GA, TD, CG, CF) to collect or pay out outside Cameroon. Without it, XAF means Cameroon.

West Africa

Country ISO Currency Available in the API Main operators
Côte d’Ivoire CI XOF Yes Orange Money, MTN MoMo, Moov Money, Wave
Senegal SN XOF Yes Orange Money, Wave, Free Money
Benin BJ XOF Yes MTN MoMo, Moov Money
Togo TG XOF Yes TMoney, Moov Money
Burkina Faso BF XOF Yes Orange Money, Moov Money
Ghana GH GHS Yes MTN MoMo, Telecel Cash, AirtelTigo Money
Nigeria NG NGN Payouts: yes. Collections: opening MTN MoMo, Airtel, bank transfer
Guinea GN GNF Yes MTN MoMo, Orange Money
Mali ML XOF Yes Orange Money, Moov Money
Niger NE XOF Yes Airtel Money

In Nigeria, payouts go to mobile money wallets and bank accounts. Collections in NGN return 400 currency_unsupported until they open. Without country, XOF means Senegal.

East Africa

Country ISO Currency Available in the API Main operators
Kenya KE KES Yes M-Pesa, Airtel Money
Uganda UG UGX Yes MTN MoMo, Airtel Money
Tanzania TZ TZS Yes Vodacom M-Pesa, Airtel Money, Mixx by Yas (Tigo), Halotel
Rwanda RW RWF Yes MTN MoMo, Airtel Money

Southern Africa

Country ISO Currency Available in the API Main operators
Zambia ZM ZMW Opening MTN MoMo, Airtel Money, Zamtel
South Africa ZA ZAR Opening Bank transfer and EFT

Bank payouts

Bank payouts are available in Cameroon, Côte d’Ivoire, Senegal, Benin, Togo, Burkina Faso, Ghana, Nigeria, Kenya, Uganda, Tanzania and Rwanda (List banks returns the banks of each country). In Gabon, Chad, Congo, Central African Republic, DR Congo, Guinea, Mali and Niger, pay out to mobile money wallets: a bank payout returns 400 bank_transfer_unsupported.

Operator codes

Send the operator as operator on a collection, or as recipient.operator on a mobile money payout, with the matching country. These codes are recognised:

Code Operator Live in
MTN MTN MoMo CM, CG, CI, BJ, GN, GH, NG, UG, RW
ORANGE Orange Money CM, CF, CD, CI, SN, BF, ML, GN
MOOV Moov Money GA, TD, CI, BJ, TG, BF, ML
AIRTEL Airtel Money GA, TD, CG, CD, NE, NG, KE, UG, TZ, RW
WAVE Wave CI, SN
FREE Free Money SN
MPESA M-Pesa CD, KE
AFRIMONEY Afrimoney CD
VODACOM Vodacom M-Pesa TZ
TIGO Mixx by Yas (formerly Tigo Pesa) TZ
TELECEL Telecel Cash (formerly Vodafone Cash), Telecel Money GH, CF
AIRTEL_TIGO AirtelTigo Money GH

For TMoney (Togo) and Halotel (Tanzania), use the code returned by List operators for XOF or TZS. In every case, prefer the code from List operators over a hard-coded value: it is exactly what the API expects.

Operators that send a code

Most operators ask the customer to approve the payment on their phone with their PIN. Some send the customer a one-time code by SMS instead: the collection then moves to requires_otp and you send the code with authorize. Orange Money in Cameroon works this way, for example.

With other operators the customer generates the code: Orange Money in Guinea, for example. The collection is requires_otp from the start and next_action.ussd_code holds the USSD code to dial (*144*4*2*1#). Show it to your customer, ask for the code they get, and send it with authorize. Nothing is sent to the operator before the code; without a code within 15 minutes, the collection expires.

Which flow an operator uses can change, so do not hard-code it. Read authorization on each operator from List operators: PIN means approval on the phone, OTP means a code to send with authorize. The Collections guide shows both flows.

The live list

bash
curl "https://api.monerail.com/v1/operators?currency=XAF&country=TD" \
  -H "Authorization: Bearer $MONERAIL_KEY"

Call it per currency (and per country for XAF and XOF), cache the answer for a few minutes (the API caches it for up to 10), and fill your operator picker from it. New operators then appear without a code change.

Opening markets

Availability in the API is being extended to Zambia and South Africa, to collections in NGN and to USD in DR Congo. Until then, ZMW, ZAR and USD are refused for collections and payouts with 400 currency_unsupported. Each opening is announced in the changelog. To ask for a country that is not listed, write to support@monerail.com.