Reach users
without internet.
On any phone.
Build interactive session menus that work on 2G feature phones and smartphones alike — no app, no data, no friction. Just dial a short code.
Welcome to MyBank 1. Check Balance 2. Send Money 3. Buy Airtime 4. More Services Reply:
Session flow
99.9%
Session uptime
<200ms
Avg. response
2G–5G
Works on
99.9%
Session uptime
<200ms
Response time
10+
African networks
2G+
Works on
∞
Menu depth
< 5 min
Integration time
Why USSD?
Africa still runs
on feature phones.
Over 60% of mobile users in Sub-Saharan Africa use basic handsets with no internet access. USSD lets you serve them with the same quality experience you give smartphone users — no app download, no data, no barrier.
Works on every GSM phone made since 1993
No internet connection required — works on 2G voice networks
Instant — sessions respond in under 200ms
Familiar — users already know how to dial *codes#
Secure — sessions are encrypted end-to-end at the network level
60%+
Feature phone users in Sub-Saharan Africa
400M+
Mobile money users relying on USSD
10+
African networks with direct USSD access
$1T+
Mobile money transactions enabled by USSD
What's included
Everything to build
great USSD apps.
Short Code Registration
We handle the MNO registration process for your dedicated or shared short code across Ghana, Nigeria, Kenya, and more.
Session Management
Every USSD session gets a unique session ID. We maintain state between menu navigations and expose it via webhook so your backend stays stateless.
Dynamic Menus
Build menus that pull live data — account balances, order statuses, schedules — from your API at session time. No static content required.
Multi-Language Support
Serve menu text in English, French, Twi, Hausa, Swahili, Pidgin, and more. Detect the user's preferred language from SIM card metadata.
Analytics Dashboard
Track sessions, completion rates, drop-off points, and user paths. Identify which menu options users struggle with and optimise in real time.
Webhook Callbacks
Receive a POST to your endpoint on every user input. Return CON to continue the session or END to close it. Your backend drives the entire flow.
Developer experience
Your USSD app
is just a webhook.
No proprietary SDK needed. Sendexa calls your HTTP endpoint on every user input. Return CON to continue or END to close. Your backend stays stateless.
Register your short code with Sendexa
Point your USSD webhook to your HTTP endpoint
Parse the text field, return CON or END
import express from "express";
const app = express();
app.use(express.urlencoded({ extended: true }));
// Sendexa sends a POST to this endpoint on every user input
app.post("/ussd", (req, res) => {
const { sessionId, msisdn, text } = req.body;
const parts = text.split("*");
const level = parts.length;
let response = "";
if (text === "") {
// First request — show main menu
response = "CON Welcome to MyBank\n";
response += "1. Check Balance\n";
response += "2. Send Money\n";
response += "3. Buy Airtime";
} else if (text === "1") {
// Fetch balance from your DB
const balance = await getBalance(msisdn);
response = `END Your balance is GHS ${balance}`;
} else if (text === "2") {
response = "CON Enter recipient number:";
} else if (level === 2 && parts[0] === "2") {
response = "CON Enter amount (GHS):";
} else if (level === 3 && parts[0] === "2") {
const [, to, amount] = parts;
response = `CON Confirm: send GHS ${amount} to ${to}?\n1. Yes\n2. No`;
} else if (level === 4 && parts[3] === "1") {
await sendMoney(msisdn, parts[1], parts[2]);
response = "END Transfer successful!";
}
res.set("Content-Type", "text/plain");
res.send(response);
});Use cases
Every industry,
every user.
Mobile Banking
- Balance enquiry
- Fund transfers
- Mini statements
- Airtime top-up
AgriTech
- Market price checks
- Weather alerts
- Loan applications
- Input orders
Healthcare
- Appointment booking
- Medication reminders
- Health surveys
- Lab result alerts
Government
- Voter registration
- Tax filing
- Utility bills
- Citizen surveys
Coverage
Direct network
connections.
We connect directly with MNOs — not through third-party aggregators — giving you lower latency, higher reliability, and better rates.
MTN, Vodafone, AirtelTigo
*889#
MTN, Airtel, Glo, 9mobile
*737#
Safaricom, Airtel, Telkom
*234#
Orange, Free, Expresso
*144#
Reach users who don't
have smartphones.
Register a short code, set your webhook URL, and handle your first USSD session in under 5 minutes. No credit card required.