Multi-currency
How currency conversion works across African countries.
How currencies work
eSMS Africa supports multiple currencies. Your wallet holds a balance in one currency, while each route charges in its own local currency. The platform converts automatically at the time of send.
Supported wallet currencies
| Currency | Country | Code |
|---|---|---|
| US Dollar | International | USD |
| Kenyan Shilling | Kenya | KES |
| Ugandan Shilling | Uganda | UGX |
| Nigerian Naira | Nigeria | NGN |
| Ghanaian Cedi | Ghana | GHS |
| South African Rand | South Africa | ZAR |
| Tanzanian Shilling | Tanzania | TZS |
| Rwandan Franc | Rwanda | RWF |
| Zambian Kwacha | Zambia | ZMW |
| Zimbabwe Gold | Zimbabwe | ZIG |
Your wallet currency is set when you create your account. Contact support to change it.
FX rates
Exchange rates are refreshed every 6 hours from a live market data feed. The rate used for your transaction is shown in the transaction details.
USD is used as the pivot currency for all conversions: UGX → USD → KES. This ensures consistent, transparent pricing.
Conversion example
Scenario: wallet in KES, sending to Uganda (ESMS_UG route, 35 UGX/segment)
Your transaction log will show -1.21 KES for a 1-segment message to Uganda.
Route currencies
Each route charges in its local currency:
| Route | Country | Billing currency | Price/segment |
|---|---|---|---|
| ESMS_UG | Uganda | UGX | 35.00 |
| ESMS_KE | Kenya | KES | 1.20 |
| ESMS_NG | Nigeria | NGN | 9.10 |
| ESMS_GH | Ghana | GHS | 0.08 |
| ESMS_ZA | South Africa | ZAR | 0.15 |
Check Coverage & Pricing for the full up-to-date list.
Pre-check cost
Use the bulk pre-check endpoint to see exact costs before sending:
POST /api/messages/bulk-precheckThe response shows:
route_cost- cost in the route's local currencywallet_cost- cost in your wallet currency (after FX conversion)wallet_currency- your wallet currency
This lets you verify the exact amount that will be deducted from your wallet before you commit.