Admin console — sign in to continue

Users

Live activity feed

Newest transactions across all users. Turn on Go live to stream simulated activity.

Spending by category

Share of total outgoing money.

Volume by provider

Total transacted per SMS source.

Daily money flow

Money in (green) vs out (red) per day.

Recent transactions

Search & filter

Build a report

Live tail

Last 10 days by hour (UTC)

Darker means more requests that hour; a red outline marks any hour with at least one error. Hover a cell for the exact counts.

Plans are served to the app by GET /api/plans. A free plan (price 0) just records the user's choice; anything priced above 0 is charged through whichever gateway is active in Payments.

Active gateway

Whichever is selected here is what actually charges a user for a paid plan — credentials for the other can still be filled in ahead of time, switching is just changing this.

Pesapal

Redirect-based checkout — the app opens redirectUrl in a browser and Pesapal calls back once the payer finishes.

AzamPay

Mobile-money push — the payer approves a USSD prompt on their phone, no redirect involved.

Recent checkouts

Add new admin

Recipients

Only users with a phone number on file can be selected.

Select all
0 selected

Message

Insert: {{firstName}} {{name}} {{phone}} {{appName}} {{downloadUrl}} Filled in per recipient — {{firstName}}/{{name}} are blank if that user has no name on file yet.

Send log

Every campaign actually attempted, most recent first — the gateway's own response is what recorded each row's status.

Imported SMS messages

Last 100 SMS messages imported into the system, with their MD5 dedup IDs. The ID is MD5(body + transactionId) for linking messages to transactions.