Skip to content
← Projects
silvere@ouaga:~/projects/betpay

BetPay

[ IN DEV ]

My side project: an automated deposit/withdrawal pipeline between mobile money and betting platforms. The SaaS deploys soon, backed by a phone farm and a full management portal.

2
apps, one protocol
4
portal roles (agent→superadmin)
1%
automatic referral commission
100%
audit-trailed transactions
  • Flutter
  • Kotlin
  • Node.js
  • Socket.io
  • PostgreSQL
  • OCR
  • Phone farm
The before: Maiga Services' manual agent offer advertised on social media
Before — the manual agent service
The after: BetPay SaaS agent portal login
After — the BetPay agent portal

The problem

Funding a 1xBet account from mobile money in Burkina Faso is a manual chat with an agent. The “before” image above is real: a service advertised on Facebook, operated person by person over WhatsApp, with every transaction typed by hand.

BetPay automates the loop. A customer requests a deposit or withdrawal in a simple Flutter app, and the operator side executes and verifies it, with every step audited.

The architecture

The design question that shaped everything: what is each side allowed to do?

The client app (Flutter) has no authentication, no business logic, and no secrets. It validates input for UX only and speaks a documented JSON protocol over WebSocket, with client-generated UUIDs and a status state machine (PENDING → PROCESSING → SUCCESS/FAILED/TIMEOUT). If the operator is offline after five backoff retries, the app composes a pre-filled WhatsApp message, which turns downtime into a logged conversation instead of a lost customer.

The admin app (Kotlin) holds everything sensitive. It integrates the MobCash agent API, auto-verifies operator SMS confirmations, and runs OCR with confidence scoring on balance screenshots before approving anything. The untrusted surface contains nothing worth attacking; the trusted surface lives on hardware the operator controls.

A multi-role web portal (agent, affiliate, admin, superadmin) sits on the same WebSocket backend. Agents get a dashboard and referral codes with automatic 1% commission tracking, so a one-man WhatsApp operation becomes a service other agents can resell.

Where it’s going

The SaaS version deploys soon. Execution moves to a phone farm, so transactions run across a bank of managed devices instead of one operator’s handset, and the portal grows into full fleet management: device health, throughput, per-agent accounting. The protocol was written down before the code, which is the main reason the same backend has survived three generations of front end.