Send money on MTN Rwanda, with the USSD code shown before anything is dialed

Paying with MTN Mobile Money means remembering a USSD string and typing it into the dialer without a slip. One wrong digit sends real money to the wrong person, and nothing on screen tells you before it is too late.
Four steps, then a sheet that shows the exact code being dialed before it goes anywhere, so backing out is still free at the last moment. Codes are data rather than hardcoded strings: a template with named slots lives in a registry, and a new service or a new operator is a new row, not a new screen. Two colours, Inter in two optical cuts, and tabular figures everywhere a number appears.
The exact string is on screen before the Phone app takes over, so a mistake is caught while it still costs nothing.
Templates like *182*8*1*{merchant}*{amount}# that you can read, verify and extend from the Codes screen.
USSD returns nothing to the app, so history records what was dialed and asks afterwards whether it worked. An unanswered question stays unanswered.
A native iOS app with no third-party dependencies at all.
A small, consistent haptic vocabulary, with custom patterns on the two moments where money is at stake.
Picked through the system picker, which runs outside the app, so there is no permission prompt and no wider access.
Join the founders and operators getting our most concise thinking on product, design, and engineering; once a month.