// infrastructure
USSD Deployment: The 6-Country Infrastructure Guide
Every country has different regulators, different telcos, different session timeouts, and different billing models. Here's what you actually encounter when deploying USSD across Kenya, Ghana, Uganda, Tanzania, Zambia, and DRC.
Kenya
The Market
Safaricom dominates with ~65% market share. Airtel Kenya holds ~27%. Telkom Kenya is a distant third. For betting operators, Safaricom integration is non-negotiable — it's where the users and the M-Pesa wallets are.
Regulatory Requirements
The Communications Authority of Kenya (CAK) requires a Content Service Provider (CSP) licence. Cost: KES 100,000 initial + 0.4% of annual turnover. Betting operators also need a licence from the Betting Control and Licensing Board (BCLB). Shortcode provisioning goes through the carrier or an aggregator like Africa's Talking.
Session Constraints
- Idle timeout: 30 seconds (Safaricom) — the tightest in the region
- Total session: 180 seconds
- Application response: 10-15 seconds per screen
- Billing model: Flat-rate per session
- Character limit: 160 (GSM-7)
| Aggregator | Setup | Monthly | Per Session |
|---|---|---|---|
| Africa's Talking (shared) | Free | Free | KES 1.00 |
| Africa's Talking (dedicated) | KES 100,000 | KES 12,500 | KES 1.00 |
// the Kenya gotcha
Safaricom auto-pagination hijacking. When your USSD response exceeds the character limit, Safaricom's gateway silently fragments it and injects its own "Next" navigation. This hijacked pagination overrides your app's navigation options. Users pressing "98" for your custom "Next" get an error because the gateway already consumed that input. Solution: enforce strict character budgets server-side and implement your own pagination before the gateway does.
Ghana
The Market
MTN Ghana leads with ~57% market share. Vodafone (Telecel) holds ~20%, AirtelTigo ~23%. MTN Mobile Money is the dominant payment method for betting. The market is growing rapidly with SportyBet and Betway driving acquisition.
Regulatory Requirements
The National Communications Authority (NCA) has strict opt-in requirements. Every USSD service requires explicit user consent before the first interaction. Value-Added Service (VAS) providers must register with the NCA. The Gaming Commission of Ghana handles betting licences separately.
Session Constraints
- Idle timeout: 45-60 seconds (varies by carrier)
- Total session: 180 seconds
- Billing model: Flat-rate per session
- Character limit: 160 (GSM-7)
| Aggregator | Setup | Monthly | Per Session |
|---|---|---|---|
| Arkesel (shared) | GHS 200 | GHS 300 | GHS 0.02 |
| Arkesel (dedicated) | GHS 500 | GHS 900 | GHS 0.015 |
| Africa's Talking (shared) | Free | Free | GHS 0.03 |
// the Ghana gotcha
Consent engineering friction. NCA requires explicit opt-in before any USSD service delivers content. Your first screen can't be a betting menu — it must be a consent collection screen. This adds one round-trip to every new user's first session. Operators who skip this get flagged by the NCA and risk shortcode suspension. Build the consent flow into your journey, not as an afterthought.
Uganda
The Market
MTN Uganda leads with ~52% market share. Airtel Uganda holds ~43%. MTN MoMo is the primary mobile money platform. Uganda is one of the most active betting markets in East Africa with operators like betPawa, Betway, and Fortebet.
Regulatory Requirements
The Uganda Communications Commission (UCC) charges punitive annual fees for USSD services: USD 5,000-10,000 per year depending on the shortcode type. The National Lotteries and Gaming Regulatory Board handles betting licences. A 15% withholding tax on gambling winnings applies.
Session Constraints
- Idle timeout: 60 seconds
- Total session: 180 seconds
- Billing model: Time-sliced — UGX 45 per 20-second window
- Character limit: 160 (GSM-7)
// the Uganda gotcha
Time-sliced billing destroys deep menus. Every 20 seconds of session time costs UGX 45. A 6-screen journey where the user takes 5 seconds per screen = 30 seconds = 2 billing windows = UGX 90 per session. A 12-screen journey doubles that. The architectural imperative is to flatten your menu hierarchy — fewer screens, more information per screen, long codes for power users to skip navigation entirely. Session cost is directly tied to journey depth.
Tanzania
The Market
Vodacom Tanzania leads with ~32% market share. Airtel holds ~27%, Tigo (MIC Tanzania) ~26%. The market is fragmented — no single carrier dominates. M-Pesa (Vodacom) and Airtel Money coexist. Betting operators must integrate with at least two MNOs for meaningful coverage.
Regulatory Requirements
The Tanzania Communications Regulatory Authority (TCRA) handles telecommunications licensing. The Gaming Board of Tanzania oversees betting. Session billing varies dramatically by carrier, making Tanzania the most complex market for USSD economics.
Session Constraints
- Idle timeout: 45-60 seconds (varies by carrier)
- Total session: 180 seconds
- Character limit: 160 (GSM-7)
| Carrier | Billing Model | Rate |
|---|---|---|
| Vodacom | Time-sliced | TZS 35 per 20-second window |
| Airtel | Flat-rate | TZS 70 per session |
| Tigo | Flat-rate | TZS 40 per session |
// the Tanzania gotcha
Hybrid billing demands dynamic network routing. Your journey must be cost-optimised differently depending on which carrier the user is on. A Vodacom user needs a flat, fast journey (time is money). An Airtel user can afford deeper menus (flat-rate). Your engine needs to detect the carrier via networkCode in the webhook payload and adapt the journey structure at runtime. One-size-fits-all journeys leave money on the table on Vodacom and UX on the table on Airtel.
Zambia
The Market
Airtel Zambia leads with ~48% subscriber share. MTN Zambia holds ~35%. Zamtel (state-owned) is third. MTN MoMo is the primary betting payment method. Betway, Bet9ja, and SportPesa operate actively.
Regulatory Requirements
The Zambia Information and Communications Technology Authority (ZICTA) handles shortcode provisioning. Online sports betting licences cost approximately ZMW 20,000 (~$900). The tax regime is harsh: 10% excise tax on stakes + 40% digital gambling income tax. This kills margins if not architected for from day one.
Session Constraints
- Idle timeout: 60 seconds
- Total session: 180 seconds
- Billing model: Flat-rate per session
- Character limit: 160 (GSM-7)
| Code Type | Setup | Monthly | Coverage |
|---|---|---|---|
| Shared shortcode | Lower | ZMW 5,000-8,000 | Airtel + MTN only (excludes Zamtel) |
| Dedicated shortcode | ZMW 47,000 | ZMW 10,000-15,000 | All 3 carriers |
// the Zambia gotcha
Shared shortcodes exclude Zamtel. If you deploy on a shared code to save costs, you lose Zamtel's subscriber base entirely. Zamtel users can't reach your service. For betting operators targeting national coverage, the dedicated shortcode at ZMW 47,000 setup is the only option that covers all three carriers.
DRC (Democratic Republic of Congo)
The Market
The DRC is the largest opportunity and the hardest deployment in the region. Four major MNOs: Vodacom (35.5%), Orange (30%), Airtel (28%), and Africell (~6.5%). The gambling sector is estimated at $1.6 billion. Mobile money runs almost exclusively on USSD.
Regulatory Requirements
The ARPTC (Autorité de Régulation de la Poste et des Télécommunications du Congo) governs telecommunications. The government ordered all gambling operators to regularise licences by March 31, 2026 — non-compliance means fines, suspension, or criminal prosecution. A new Digital Code effective July 1, 2026 requires explicit authorisation for all digital services. Licence tax is capped at $100,000 with a 10% tax on winnings.
Session Constraints
- Idle timeout: 45-60 seconds (varies by carrier)
- Total session: 180 seconds
- Billing model: Varies by carrier (mostly flat-rate)
- Character limit: 70 (UCS-2) for Francophone content with accents
// the DRC gotcha
Francophone encoding halves your screen. French is the official language. Accented characters (é, è, ê, à, ç, ù) that fall outside GSM-7 trigger UCS-2 encoding, dropping your limit from 160 to 70 characters. A single ê in your menu text cuts available space by 56%. You must either strip all accents (losing linguistic accuracy) or architect every screen for 70 characters. Additionally, 4 separate MNO integrations with no standardised API means budgeting 3-4 months per carrier when building from scratch. Only 40% of Vodacom users own smartphones — USSD is the only viable channel.
The Deployment Checklist
Regardless of market, every USSD deployment follows this sequence:
- Licensing: Obtain the telecommunications VAS/CSP licence from the regulator and the betting/gaming licence from the gambling authority
- Shortcode provisioning: Apply for a dedicated or shared shortcode. Timeline: 2-8 weeks depending on market
- Aggregator selection: Africa's Talking (strongest in Kenya, Uganda, Tanzania), Arkesel (Ghana), or direct carrier integration (DRC)
- Carrier integration: Configure webhook endpoints, test session handling per carrier, validate character encoding per carrier gateway
- Mobile money integration: Connect to M-Pesa, MTN MoMo, Airtel Money, or Orange Money APIs for deposit/withdrawal flows
- Journey optimisation: Test session cost under each carrier's billing model. Flatten menus for time-sliced markets. Enforce character budgets
- UAT with carrier: Most carriers require user acceptance testing before go-live. Budget 1-2 weeks
- Go-live monitoring: Track session completion rates, timeout rates, and character encoding failures per carrier
// we've already done this in all 6 markets
One engine, one API, all carriers. The USSD Fabric handles telco integration, session billing optimisation, and carrier-specific routing so you don't have to build it from scratch in every market.