USSD Application & Bulk SMS Platform Development in Nigeria
We build the *code# menu your customers dial and the bulk SMS portal your business sells from — for microfinance banks, cooperatives, VTU operators, campaigns and fintechs.
250+
Projects Delivered Since 2020
Asaba HQ
Plus an Abuja Office
Registered
Nigerian Limited Company
180s
The USSD Session We Design For
USSD and Bulk SMS: The Two Channels That Still Reach Everyone
Nigeria has millions of customers who will never download your mobile app. They are on feature phones, on tight data budgets, or simply unwilling to install anything. If your product is a savings account, a cooperative contribution, an airtime top-up or a loan repayment, you cannot afford to reach only the smartphone half of the market.
USSD and bulk SMS are how you reach the rest. A USSD menu works on any handset ever sold in Nigeria, needs no data and no download, and finishes a transaction in seconds. Bulk SMS lands in a message inbox that everyone checks, whether it carries a one-time password, a repayment reminder or a campaign broadcast.
Musskart Technology Limited is a registered Nigerian software company that builds both. We write the USSD application that sits behind your shortcode, connect it to your core system, and build the bulk SMS platform you sell from — wallet, sender IDs, routes, delivery reports, API and reseller accounts. We have delivered 250+ projects since 2020 from our Asaba headquarters.
One important thing up front, because plenty of agencies are vague about it: we build the software; you hold the shortcode and the telco relationships. The Nigerian Communications Commission licenses shortcodes, and the commercial agreements sit between your organisation, your aggregator and the mobile networks. We will guide you through both processes, prepare everything technical you need for them, and connect to whichever aggregator you choose — but the code is issued in your name, not ours. That is how it should be.
How USSD Actually Works
USSD stands for Unstructured Supplementary Service Data. When a customer dials something like *123*4#, the request does not go over mobile data. It travels on the network's signalling channel — the same plumbing that carries call setup — straight to the mobile operator, which forwards it to the aggregator, which forwards it to your application over HTTPS.
Three properties follow from that, and they define everything about how a USSD product must be designed:
Works on every handset
No smartphone, no app store, no download, no data bundle. A ten-year-old feature phone runs your menu exactly as well as the newest Android device. This is the reach that no mobile app can match.
It is session-based
The session stays open only while the customer keeps responding, and networks close it after a short window — commonly a couple of minutes, and it varies by operator. Every screen must be answered quickly or the whole flow dies.
Text only, and tiny
A single USSD screen holds roughly 160 characters of plain text on most handsets. No images, no colour, no scrolling. Every word on that screen has to earn its place.
Technically, your application receives the customer's MSISDN, a session ID and whatever they have typed, then responds with CON (keep the session open) or END (close it with a final message). State, validation, transaction posting and retries are your software's job, and that is what we write.
Getting a Shortcode: Shared vs Dedicated
Before your menu can go live, someone has to own the code customers dial. In Nigeria that code is licensed by the NCC, and there are two realistic routes.
Shared shortcode (via an aggregator)
Your service sits behind an aggregator's existing code as an extension, for example *XXX*YYY#. It is the cheapest and fastest way to launch, often live in weeks rather than months, and it is how most cooperatives and small operators start. The trade-off is a longer string to dial and a code you do not own.
Dedicated shortcode (yours)
A short, memorable code assigned to your organisation, such as *123#. Better for branding, marketing and customer recall, and the right choice for a licensed bank or a serious consumer product. It costs materially more, involves an application to the NCC and separate connection agreements with the networks, and takes longer.
On budgeting: plan for a one-off allocation cost plus an ongoing recurring fee per code, and separate per-session or revenue-share charges from the networks or aggregator. We deliberately do not quote exact figures here, because NCC fees, telco charges and aggregator rates change and differ by operator and by the type of service you run. Confirm current rates directly with the NCC and with your chosen aggregator before you build a business case. What we can tell you honestly is the shape of it: a shared code is the low-cost, fast entry point, a dedicated code is a significant recurring commitment, and the telco side is usually the slowest part of any launch — often several weeks to a few months, so start it early.
Gateway and Aggregator Options
Between the mobile networks and your application sits an aggregator or USSD gateway. You will pick one of three patterns, and the choice affects cost, speed and how much control you keep.
1. Aggregator on a shared code
Fastest to market. The aggregator already holds the code and the telco connections; you plug your callback URL into their dashboard and go live. Ideal for pilots, cooperatives, VTU resellers and anyone proving demand before committing capital.
2. Aggregator hosting your dedicated code
You own the code; the aggregator manages the technical connection to each network. This is the sweet spot for most microfinance banks and fintechs — your brand on the code, someone else handling four separate telco integrations.
3. Direct telco integration
You connect to each mobile network individually. Best unit economics at very high volume and maximum control, but you are negotiating and maintaining a separate relationship with every operator. Only worth it once volumes justify the overhead.
Whichever you choose, we write the application to be gateway-agnostic. The session handling, menu engine and business logic sit in our code; the aggregator-specific request and response format lives in a thin adapter. If you switch providers later, or add a second one for redundancy, you change the adapter and not the platform.
USSD Menu and Session Design That Actually Converts
Most failed USSD products fail on design, not code. A menu that reads fine on a laptop becomes unusable on a small screen when the customer is standing in a market with the session clock ticking. These are the rules we build to:
Keep it under 160 characters
One screen, one decision. Number every option, put the most-used action first, and never write a sentence where a word will do.
Three levels deep, maximum
Every extra level is another round trip and another chance to time out. The most common transaction should need three or four keystrokes.
Always offer 0 for back, 00 for main menu
Nigerians already know this convention from bank codes. Following it means users never have to learn your menu to escape a wrong turn.
Confirm before money moves
Every debit gets a confirmation screen showing amount and recipient, then a PIN. No exceptions. That one screen prevents most dispute tickets.
Store state server-side, keyed by session
The handset remembers nothing. Session state lives in our backend against the session ID and MSISDN, with a hard expiry so an abandoned flow cannot be resumed.
Make every transaction idempotent
Networks retry. Customers redial. Without idempotency keys, a retry becomes a double debit. We build reference-key discipline in from day one.
We also insist on plain-language failure messages: the screen says what happened and what to do next, never a technical error code.
Connecting USSD to Wallets, Loans, Savings and VTU
A USSD menu on its own does nothing. Its value is entirely in what it is wired to. These are the backends we integrate with most often, and the flows Nigerian buyers actually ask for:
Wallets and account balances
Balance enquiry, mini statement, wallet-to-wallet transfer, transfer to a bank account, and PIN management — posted straight against your core ledger or our wallet service, with every movement written to an audit trail.
Microfinance and banking cores
Account opening or activation, deposit notification, loan balance, repayment, and standing-order style instructions. We map the USSD flows to your core banking API so USSD becomes a channel on the same ledger, not a parallel set of books. See our microfinance banking software work for the full picture.
Cooperative contributions and savings
Members check their contribution balance, record a monthly contribution, view loan eligibility and request a withdrawal — all from a feature phone in a village with no data coverage. This is the single highest-impact USSD use case we build, and it pairs directly with our cooperative society software.
VTU: airtime, data, cable and electricity
Buy airtime for yourself or another number, purchase data bundles, pay a cable subscription or buy a meter token — debited from a wallet and fulfilled through your VTU supplier's API. If you are building the VTU side too, read our VTU app development guide.
Loan origination and repayment
Check eligibility, request a disbursement, view the outstanding balance and repay from a wallet, using the same limits, checks and audit trail as your other channels.
Every one of these needs the unglamorous work too: reconciliation jobs, retry handling, an admin console that traces a single session end to end, and reporting your auditors will accept. We build that as standard.
The Bulk SMS Side: Building a Platform You Can Sell From
Bulk SMS in Nigeria is two businesses wearing the same name: using SMS to send your own OTPs and alerts, and selling SMS through a reseller portal where customers fund a wallet and send their own campaigns. We build both, and the second is what most people mean by starting a bulk SMS business in Nigeria.
The model is simple: buy message routes wholesale from an aggregator, sell units retail from your own branded portal. Here is what we build into it:
Naira wallet and funding
Customers sign up, fund a wallet through your payment gateway or a dedicated virtual account, and see units debited per message. Receipts, transaction history and low-balance alerts included.
Sender ID registration workflow
A request form where the customer submits the alphanumeric sender name they want, your team reviews it, and status is tracked per customer. Approval itself rests with the networks and your aggregator; we build the workflow around it.
Route selection and DND handling
Corporate and promotional routes configured separately, with the platform sending each campaign on the right one and reporting DND-blocked numbers honestly instead of quietly marking them delivered.
Contacts, groups and personalisation
CSV and Excel import with duplicate and format cleaning, contact groups, merge fields, scheduling, and unicode or long-message handling with an accurate unit count before sending.
Developer API and webhooks
A documented REST API with keys, rate limits, a sandbox and delivery-report webhooks, so your customers' own apps send OTPs and alerts through your platform. The API is what makes a bulk SMS business sticky.
White-label reseller accounts
Sub-accounts where a reseller sets a retail price on top of your wholesale rate, funds a wallet from you, and runs the portal under their own logo and domain. This is how volume scales.
Behind all of it sits the admin side: per-customer pricing tiers, route performance, delivery-report reconciliation against what your supplier billed you, and reporting that shows margin per customer rather than total messages sent.
Who We Build These For
Buyers come to us for USSD and bulk SMS to solve a reach problem, a cost problem or a revenue problem:
Reach without smartphones
A microfinance bank or cooperative whose members are rural, older or on feature phones. USSD is the only channel that reaches all of them at once.
Cutting service cost
Balance enquiries and repayment reminders handled by a menu and an SMS instead of a branch queue or a call-centre agent.
Selling a new revenue line
Operators launching a branded bulk SMS portal with reseller tiers and an API, turning wholesale route pricing into recurring retail margin.
What It Costs to Build in Nigeria
These are our development ranges in Naira. They cover the software we write, test, deploy and hand over. They do not include shortcode fees, telco or aggregator charges, SMS route costs or payment-gateway fees, which are billed to you directly by those parties and change over time.
Starter
₦300,000 – ₦900,000
A focused USSD menu on a shared shortcode, or a single-tenant bulk SMS sending portal. Wallet, core flows, one gateway integration, basic admin and reports. Ideal for a cooperative, a VTU reseller or a pilot.
Institutional
₦900,000 – ₦2,500,000
Full USSD channel over your core system: balances, transfers, savings, loans, VTU and PIN management, plus a complete admin console, session tracing, reconciliation and audit reporting.
Platform
₦2,500,000 – ₦5,000,000
Multi-tenant USSD plus a bulk SMS business platform: reseller and white-label accounts, tiered pricing, public API with sandbox, webhooks, multi-route failover and margin reporting.
Where a project lands depends on how many integrations it needs and whether your core system already has an API. Our full rate card sits on the Musskart pricing page; the fastest way to get a real number is to send us your menu idea on WhatsApp.
Timeline and How We Work
Software timelines we control; shortcode and telco timelines we do not, so we run both in parallel and start the paperwork on day one.
Week 1 — Discovery and menu mapping
We map every screen, keystroke and edge case, agree the integrations, and give you the technical pack you need for your aggregator or NCC application.
Weeks 2–5 — Build on a sandbox
Session engine, menu flows, wallet and core integrations, and the admin console, all testable on an aggregator sandbox or simulator before a real code exists.
Weeks 4–8 — Bulk SMS portal (if in scope)
Customer signup, wallet funding, contacts, campaigns, sender ID workflow, delivery reports, API and reseller tiers, built alongside the USSD work.
Go-live — Connection and UAT
We connect to your live shortcode as soon as it is allocated, run user acceptance testing across all four networks, then monitor closely through the first weeks of real traffic.
After launch — Support and iteration
Monitoring, route and session performance reporting, and a support arrangement so menu changes and new features do not wait for a new project.
A starter USSD menu typically runs four to eight weeks; a full institutional build with a bulk SMS platform runs eight to sixteen. Your launch date depends on how quickly the shortcode and telco connection come through.
Frequently Asked Questions
Related Musskart Guides
- Microfinance Banking Software in Nigeria — the core system your USSD channel posts against
- Cooperative Society Software Development — contributions, loans and member records
- VTU App Development in Nigeria — airtime, data and the wallet behind them
- Musskart Pricing — full rate card in Naira
- Contact Musskart
Let's Build Your USSD Menu and SMS Platform
Tell us what your customers need to do from a feature phone, and we will tell you what it takes to build, what it costs in Naira and how fast we can ship it. We reply on WhatsApp within minutes.