Migori, Kenya · serving all of Kenya Monday – Friday, 8:00 am – 5:30 pm [email protected]

USSD for businesses and SACCOs in Kenya: a plain-English guide

How *XXX# USSD menus work, shared vs dedicated short codes, what SACCOs and businesses use them for, costs and how a USSD app is built.

A person holding a phone and a payment card at a desk
Quick answer

USSD is the *XXX# menu system that works on every mobile phone, without internet or a smartphone. A business or SACCO gets a short code through a licensed provider, and a USSD app on a server shows menus and answers each choice in real time. It is ideal for balance checks, registrations, bookings, surveys and M-Pesa payment prompts. Most organisations start on a cheaper shared code (*XXX*YY#) before paying for a dedicated one.

In this guide
  1. What is USSD?
  2. How a USSD service works
  3. Shared vs dedicated short codes
  4. What SACCOs and businesses use USSD for
  5. How a USSD project runs, step by step
  6. USSD design tips
  7. USSD, SMS or an app?
  8. How Elvinsoft can help
  9. Frequently asked questions

Kenyans have been dialling codes like *144# and *544# for years. That familiarity is USSD's superpower: a member in a village with a basic phone and no data bundles can still check a SACCO balance, register for an event or pay a bill. For businesses and organisations that serve everyone — not only smartphone users — a USSD service is often the most inclusive digital channel available.

What is USSD?

USSD (Unstructured Supplementary Service Data) is a way of exchanging short text menus between a phone and a service in real time. The customer dials a short code, a menu appears, they reply with a number, and the next screen appears — all within one live session.

  • Works on every phone — basic "kabambe" phones included.
  • No internet needed — it runs on the mobile network itself, not on data.
  • Instant and interactive — unlike SMS, the customer gets answers immediately while they are on the session.
  • Nothing to install — no app downloads or updates.

How a USSD service works

Member's phoneDials *384*55# Mobile networkSafaricom, Airtel… USSD gatewayLicensed provider Your USSD appMenus and logic Your databaseBalances, members M-PesaSTK Push Each reply travels this path and back in about a second, while the session stays open.
Your USSD app receives each choice, looks up or saves data, and sends the next screen back to the phone.

When a member dials your code, the network passes the request to a USSD gateway run by a licensed provider, which forwards it to your USSD application on a web server. Your app decides what to show — a menu, a balance, a confirmation — and sends the text back. Each screen holds a short amount of text (around 180 characters), and sessions time out if the user takes too long to reply, so good USSD design keeps menus short and clear.

Shared vs dedicated short codes

Shared codeDedicated code
Looks like*384*55# — an extension of a provider's code*555# — your own code
Set-up costLowMuch higher, plus ongoing fees
Time to launchFasterLonger — network approvals take time
Best forSACCOs, schools, churches, pilots, most SMEsLarge organisations with heavy daily use and strong branding needs

Short codes are provided through licensed providers and the mobile networks. Who pays for each session — your organisation or the customer — is agreed when the code is set up, and it affects how freely people will use the service.

What SACCOs and businesses use USSD for

  • SACCOs — balance and mini-statement checks, loan limits and applications, guarantor approvals, contribution confirmations.
  • Schools — fee balance enquiries by admission number, results notices, parent registration.
  • Churches and NGOs — registrations, pledges, giving prompts, surveys and feedback.
  • Businesses — orders and bookings, delivery tracking, warranty registration, loyalty points, customer surveys.
  • Payments — a menu collects the details, then an M-Pesa STK Push prompt appears for the PIN. See how M-Pesa STK Push works.
A phone showing a simple menu held next to a laptop
The same system can power a USSD menu for basic phones and a web portal for smartphones.

How a USSD project runs, step by step

  1. Define the journeys. List what users need to do — for example "check balance", "apply for loan", "update phone number".
  2. Design the menus on paper. Keep each screen short, number the options, and always offer "0. Back".
  3. Apply for the code. Choose a shared or dedicated code through a licensed provider. Start early; this is usually the longest step.
  4. Build the USSD app and connect it to your member database, accounting system or M-Pesa.
  5. Secure it. Use a PIN for anything sensitive, lock accounts after repeated wrong PINs, and log every session.
  6. Test on real phones across networks, including basic phones and slow areas.
  7. Launch and promote — by SMS, posters, the website and at meetings — then watch the reports to improve the menus.

USSD design tips

Two taps to value: the most common task — usually checking a balance — should be reachable in one or two choices. Every extra screen loses users.

  • Use plain words: "Check balance", not "Account enquiry services".
  • Confirm before anything irreversible: "Apply for KES 20,000 loan? 1. Yes 2. No".
  • Send an SMS summary after important actions, because the USSD screen disappears when the session ends.
  • Plan for Swahili as well as English if your members prefer it.

USSD, SMS or an app?

Use USSD for quick, two-way tasks that must work on every phone. Use SMS for one-way messages and records people keep (see our Bulk SMS guide). Use a web portal or app for detailed statements, documents and long forms. Many SACCOs use all three on the same back-end system.

How Elvinsoft can help

We design and build USSD applications for SACCOs, schools, churches and businesses — menus, back-end, M-Pesa and SMS — delivered through licensed network partners. See USSD or tell us what your members need to do.

Frequently asked questions

Do customers need internet to use USSD?

No. USSD runs on the mobile network's signalling channel, so it works on any phone, including basic phones, without data bundles.

What is the difference between a shared and a dedicated USSD code?

A dedicated code is your own short code, such as *123#. A shared code is an extension of a provider's code, such as *384*55#. Shared codes are much cheaper and faster to set up, which is why most organisations start there.

Can USSD take M-Pesa payments?

Yes. A common pattern is for the USSD menu to collect the details and then trigger an M-Pesa STK Push prompt on the same phone, so the customer only enters their PIN.

How long does it take to build a USSD service?

A simple menu, such as a balance check or registration, can be built and tested in a few weeks. Most of the waiting is for the short code and network approvals, so start that process early.

Share this guide

This guide is general information for Kenyan businesses, written by the Elvinsoft team and checked on 31 October 2026. Prices, rules and provider processes change; confirm the details that matter to you before you act.

Want this done for your business?

Tell us what you need. We will reply with honest advice and a clear quote in Kenya shillings.