Case study · Union of the Comoros

Building a national mobile-money service from zero.

Aptiway designed, built and deployed the wallet, agent network and ledger platform now operating nationwide as Wakati, the consumer brand of Huri Money.

Engagement at a glance
ClientHuri Money — Comores Telecom group
Consumer brandWakati
MarketUnion of the Comoros — nationwide
Settlement bankEXIM Bank
ScopeCustomer wallet app, dealer app, agent network, double-entry ledger, operator admin console, biller and card integrations
ModelFull white-label — Aptiway retains the platform IPR, Huri Money owns the customer relationship and the brand
StatusLive in production
The brief

A cash economy, and no existing rails to build on.

Huri Money set out to launch a national mobile-money service in a market where cash still dominates everyday commerce and most people transact outside the formal banking system. There was no incumbent wallet to extend and no existing agent infrastructure to inherit.

That made the requirement unusually complete. It was not an app project. It needed the wallet, the agent network that converts physical cash into e-money, the ledger that keeps both sides honest, the console that lets a small operations team run the whole thing, and the integrations that give people a reason to keep money in the wallet rather than withdrawing it immediately.

It also had to satisfy a central bank. Every movement of value needed to be traceable, reconcilable and reportable from day one — not retrofitted once volumes grew.

What we built

Four systems that only work together.

Each one is a product in its own right. The value is that they share a single ledger and a single operator console.

In production

The customer wallet

A React Native app for iOS and Android, built for people using digital money for the first time.

  • Self-enrolment from the app, with operator back-office approval before activation
  • Identity capture and KYC document handling
  • Wallet-to-wallet transfers, QR pay and receive
  • Bill payments and a virtual card
  • USSD access, so a feature phone is not a barrier
In production

The agent network

The physical distribution layer — the “human ATM” model that makes cash-heavy markets work.

  • KYB onboarding per agent, with a security deposit held as liquidity cover
  • E-money float mirrored 1:1 against pooled funds at the settlement bank
  • In-app float requests and threshold alerts when physical cash builds up
  • A dealer app showing float, cash holding, advances and earnings in real time
In production

The ledger core

Double-entry accounting underneath every action in the system, not a reporting layer bolted on top.

  • Every movement of value is a balanced posting
  • Configurable fees and commission splits applied at posting time
  • Idempotency-protected transaction APIs, so a retried request cannot double-spend
  • Full audit reporting — every posting traceable
In production

The operator console

A React admin application that lets a small team run a national service without calling the vendor.

  • Customer and agent approvals, KYC records, instant agent suspension
  • Commission, fee and limit configuration — changed as parameters, not code
  • Cash reconciliation from bank withdrawal to field distribution, with reference numbers
  • Statements, balances and transaction histories in real time
The hard part

The software was not the difficult bit.

Three problems decided whether this worked, and none of them are solved by writing an app.

Agent liquidity

An agent who runs out of e-money cannot take deposits. An agent drowning in physical cash cannot pay withdrawals. Either failure teaches customers the service is unreliable, and they stop using it.

We built float requests and threshold alerting into the dealer app, and cash logistics tracking into the console, so the operator sees liquidity problems forming rather than hearing about them afterwards.

Commission economics

Agents work for the margin. Set commissions too low and the network will not grow; too high and the unit economics never close.

Commission is configured per transaction type, split between agent and platform, and adjustable without a release — so the operator can tune the economics against real behaviour instead of guessing before launch.

Reasons to keep money in

A wallet people cash out immediately is a queue, not a payment system.

Live biller integrations — Comores Telecom airtime top-up and the national electricity utility — give people a reason to leave a balance. Deposit fees can be set to zero to accelerate cash-to-digital conversion.

Deliberate design choice: deposits can run commission-free. Charging people to convert cash into e-money taxes exactly the behaviour the whole system depends on.
Integrations

What the wallet connects to.

Each of these is a per-market adapter sitting around an unchanged core.

Live today

  • Comores Telecom — airtime top-up
  • National electricity utility — bill payment
  • EXIM Bank — pooled float account and cash logistics
  • Card issuance — a virtual card linked to the customer's phone number, usable for person-to-person payments and e-commerce
  • Local telco aggregator — USSD and SMS

In delivery

  • EXIM Bank account linking — wallet ↔ bank account transfers
  • Further billers onboard through the same adapter as they are signed
Technology

Built to be operated, and to be deployed again.

Every choice below was made so a central bank's own technical committee can assess it, and so the operator's team could eventually run it without us. Mainstream languages, an open-source database, no proprietary runtime and no licence that ties anyone to Aptiway.

Services
KotlinQuarkusPostgreSQL

Double-entry ledger, wallets, agent float and commission engine, approvals, limits, audit. Widely used, widely hireable, and no per-core licensing to renegotiate as volumes grow.

Client applications
React Native — customer appReact Native — dealer appReact — operator consoleUSSD menus

One codebase per app across iOS and Android, and a USSD path so a feature phone is never a barrier to inclusion.

Deployment & security
Dedicated in-country instanceRole-based admin accessEnvelope-encrypted sensitive dataOTP-confirmed cash-outIdempotent transaction APIs

Data residency and regulatory supervision stay national — a requirement, not a preference, for a central-bank-supervised service.

Why we publish the stack. Procurement asks anyway, and a vendor who will not answer reads as a risk. Everything here is open-source or standard, which means the platform can be audited by your own people, hosted on your own infrastructure, and — if it ever came to it — maintained without us.
What it means for the next market

The next country starts from working software.

The Comoros deployment is not a reference logo. It is the trunk that every subsequent deployment branches from.

The platform IPR is ours

Each new market is a configured deployment of the same core. No third-party licensing to renegotiate, and no revenue share on someone else's product.

The operating model is proven

Agent liquidity, cash logistics and commission economics have been run in a real cash-heavy market — the parts that are learned rather than specified.

White-labelling is demonstrated

Wakati is Huri Money's brand, not ours. The platform never competes with the local operator for the customer relationship.

Considering a wallet programme in your market?

We deploy alongside a local anchor partner, one market at a time.