Spark Program | Dular

Milestone 2 Report: USSD Interface

Milestone 2 focused on making Dular usable from feature phones through a USSD interface. This is important because the target users are mobile money users, not only smartphone or browser wallet users.

The USSD implementation is now built and tested through the Africa’s Talking simulator. The backend exposes a USSD callback endpoint that supports the standard Africa’s Talking CON / END response format and handles menu navigation for core wallet actions.

What Was Built

The USSD flow now supports:

  • Check RUSD balance.
  • Send RUSD to another registered Dular phone number.
  • Receive RUSD identity details, including the user’s registered phone and registry proof URL.
  • Start an M-Pesa STK Push deposit request from USSD.
  • Set or change a 4-digit USSD PIN.
  • Show withdrawal status clearly while B2C payout credentials are still pending.

The USSD send flow reuses the same Dular ledger used by the web wallet, so transfers made from USSD appear in the same transaction/activity system as web-based phone-to-phone sends.

Demo Video

Recorded USSD demo:

The video demonstrates the USSD menu flow through the Africa’s Talking simulator.

Verification Evidence

Africa’s Talking simulator session export has been committed to the repository:

The export contains 20 simulator sessions, using registered Dular test phones.

Milestone 2 verification folder:

USSD implementation:

Current Status

The USSD interface is simulator-tested and ready for the next step: connecting it to the paid/shared Africa’s Talking shortcode once active. Until then, the simulator is being used as the verification environment.

Withdrawal execution remains disabled because Safaricom B2C initiator/security credential activation is still pending. The withdrawal menu exists, but it returns a clear status message instead of attempting a payout.

Summary

Milestone 2 is complete for the simulator-backed USSD implementation. Dular now has a working feature-phone interface for balance checks, PIN setup, phone-number payments, receive details, and M-Pesa deposit initiation, with verification evidence committed publicly for review.

For this milestone I’m requesting 150, 000 CKB for the infrastructure costs like a live USSD.

2 Likes