USSD
Stable

Getting started

From nothing to a working USSD menu people can dial on any phone, with no internet needed.

1. Get a code

Pick a *889*…# code in the dashboard and pay for it from your wallet.

2. Build your backend

Start from our sample code in Node.js, Next.js, Python or PHP.

3. Connect it

Paste your https URL and set the signing key on your server.

4. Dial it

Dial the code from any phone and watch the session arrive.

1. Get a code

In the dashboard, open USSD → Codes and click Get a USSD code. Pick a free code (each is an extension like *889*144#) and how many months to pay for. The price, and how many sessions each month includes, are shown before you pay from your wallet.

Codes renew automatically from your wallet every 30 days. You can cancel any time; the code keeps working until its renewal date.

2. Build your backend

Your backend is a URL that answers each step of a session with the next screen. The quickest start is our sample code: a complete server in your language, a menu you edit as JSON, and ready-made menus for shops, voting, tickets, customer care, balances and surveys.

Building your own? See what we send and what to reply.

3. Connect it

Deploy your backend on https, then in USSD → Codes click Connect your backend on your code and paste the URL. In the same dialog, show the signing key and set it on your server as SENDEXA_SIGNING_KEY; every request is signed with it so you can tell real dialers from anyone else. How to verify requests

4. Dial it

Dial your code from any phone. Each session appears under USSD → Sessions, with every screen the dialer saw and how it was paid for.