PORTFOLIO
Payments & Financial Infrastructure
Payment acceptance, value-added services resale, foreign exchange accounting and the integration tooling that makes Nigerian payment rails predictable to build against.
Acceptance, Resale and the Plumbing Between
Payments work in Nigeria splits into three kinds of problem. There is acceptance, which is getting money from a payer into an account reliably and proving afterwards that it arrived. There is resale, where an operator buys airtime, data or connectivity wholesale and sells it on with their own pricing and their own brand. And there is the plumbing, which is the unglamorous work of making a payment processor’s API behave the same way in testing as it does in production.
We build in all three. The acceptance work runs from a full payment gateway platform down to tap-to-phone terminals that turn an ordinary Android handset into a contactless card reader. The resale work is multi-tenant by default, because an operator who succeeds immediately wants to onboard other operators underneath them.
The integration tooling exists because we got tired of discovering a processor’s undocumented behaviour in production. A mock server that faithfully reproduces a gateway’s API, including its error cases, pays for itself the first time it catches a mistake before a customer does.
Systems in this domain
Esyspay
Payment platform
Our own fintech platform: government revenue collection, a payment gateway, POS estate management, offline payment capture for areas without reliable coverage, a WhatsApp assistant for balance and transaction enquiries, and microfinance services.
Esystems SoftPOS
Tap-to-phone
White-label tap-to-phone acceptance for Android. An NFC handset becomes a contactless payment terminal with no separate hardware, delivered as a native Kotlin and Jetpack Compose application on a Supabase backend.
IGRPay
Revenue collection app
An Android collection application for internally generated revenue, putting assessment and payment in the hands of field officers rather than at a fixed counter.
Elite Hope FX
Bureau de change
A full bureau de change platform covering eight fiat currencies and four crypto assets, with multi-currency accounting, daily cash position tracking, wire and telegraphic transfer management, and financial reporting.
iData.ng
Multi-tenant resale
A value-added services reseller platform. Anyone can register, fund a wallet, set their own prices and get their own API, then generate a white-label Android application carrying their name, logo and colours as a signed package ready for the Play Store.
WiFi Voucher Platform
Multi-tenant billing
Hotspot voucher and billing software for MikroTik networks. Each operator gets their own router integration, branding, plans, vouchers and payment collection, administered from one dashboard.
Gateway Integration Tooling
Developer infrastructure
A tested collection for the FirstChekout gateway built from its documentation and verified against the live sandbox, plus a mock server reproducing a major processor’s v3 API across more than a hundred endpoints with an admin dashboard for local and intranet testing.
Technical detail
| System | Stack | Notable capability |
|---|---|---|
| Esyspay | Multi-service platform, Docker, self-hosted Supabase with offline sync | Offline payment capture that reconciles when connectivity returns |
| Esystems SoftPOS | Kotlin, Jetpack Compose, Supabase with edge functions | Contactless acceptance with no dedicated terminal hardware |
| IGRPay | Native Android | Field collection against a central revenue register |
| Elite Hope FX | Next.js 14 App Router, TypeScript, Tailwind, shadcn/ui | Multi-currency double-entry accounting across fiat and crypto |
| iData.ng | Node.js platform with white-label Android build pipeline | Generates signed, individually branded APK and AAB per reseller |
| WiFi Voucher Platform | Supabase backend, MikroTik RouterOS integration | Per-tenant router provisioning and online voucher purchase |
| Gateway Tooling | Postman collections, Node.js mock server, MongoDB | Reproduces processor error cases, not only success paths |
Need payments that reconcile
Acceptance is the easy half. If your difficulty is proving after the fact where the money went, that is the part we build for.