USSD Banking Apps: Why They Still Matter and How to Build Them Right
Fintech & Payments

USSD Banking Apps: Why They Still Matter and How to Build Them Right

2 March 20264 min readBy Greats Industries

Despite smartphone growth, 40 % of Botswana's economically active population primarily uses feature phones. USSD is not legacy technology — it is financial inclusion infrastructure.

GSMA's 2024 Mobile Economy report for Sub-Saharan Africa confirms that USSD-based services process over 1.2 billion transactions monthly — more than all Android app transactions combined. In Botswana, every mobile network operator offers USSD gateway access, making it the lowest common denominator for financial services.

The USSD architecture in 60 seconds

When a user dials *167# (or any shortcode), their phone sends a USSD request to the MNO's gateway. The gateway forwards it to your application server via HTTP (Africa's Talking API, Infobip, or direct MNO integration). Your server responds with a menu string. The gateway renders it on the user's phone. The entire round-trip must complete in under 4 seconds or the session times out.

State machine design is critical

Every USSD session is stateless at the network level — your application must store and retrieve session state on every request. The most common failure mode is a poorly designed state machine that either loses track of where the user is in the flow, or allows users to jump to unintended states by entering unexpected inputs.

  • Store session state in Redis with a 5-minute TTL — USSD sessions never last longer than this.
  • Validate every user input before transitioning state — do not assume numeric responses are numbers.
  • Design for the 2-inch screen: menus should have no more than 5 options, each under 40 characters.
  • Always provide a "Back" option and a way to exit gracefully.
  • Test with real devices on each MNO — rendering differs between Mascom, Orange, and BTC.

When to combine USSD with other channels

For most financial applications, USSD works as the initiation channel — customer requests a loan, checks balance, or approves a payment — while richer operations (statements, complex forms) are offloaded to a web link sent via SMS. This hybrid approach serves both feature-phone and smartphone users without duplicating backend logic.

Fintech & Payments Back to Blog