Essential Services. Buy Now, Pay Later.
Delivered via WhatsApp.

LulamisaPay bridges the gap between South African households and the services they can't afford upfront — electricity, water, traffic fines, airtime — using the phone app they already have.

💬 WhatsApp-first conversation 🛒 BNPL for essential services 🔌 Interfile & PayCity ready 🔒 POPIA compliant · fraud-gated 🇿🇦 ZAR · SA ID verified
See the Opportunity Integration Guide
22M+¹
WhatsApp users in SA
R350bn+²
Consumer debt owed to municipalities
~40%³
Credit-active SA consumers impaired
3 taps
From WhatsApp to vend

¹ DataReportal: Digital 2025 South Africa  ·  ² Auditor-General SA: MFMA 2022/23 Report  ·  ³ NCR Consumer Credit Market Report (quarterly)

The Problem Is Real. The Channel Is Ready.

Millions of South Africans face electricity cut-offs and traffic fines they can't pay in a single lump sum. The existing payment rails don't help them. We do.

What is BNPL?

Buy Now, Pay Later (BNPL) is a short-term credit product where the customer receives the service immediately but repays in instalments over weeks or months — interest-free or at low interest, depending on the provider. The customer applies through their BNPL provider's checkout page; approval is instant. LulamisaPay receives confirmation of the approved transaction and pays the bill holder on the spot. The BNPL provider then collects the repayments from the customer and settles the full amount back to LulamisaPay on an agreed schedule.

The Current Pain

🔌 Electricity cut-offs
Households fall into arrears & go dark. A R600 top-up they can't afford upfront is R600 of lost service delivery.
🚗 Traffic fine escalation
Fines double, licences lapse, AARTO demerit points accumulate — all because a R400 fine can't be split into instalments.
💸 No suitable BNPL product
Existing BNPL players serve retail. No one solves essential-services BNPL at scale on the channel most South Africans already use daily.

The LulamisaPay Answer

✅ WhatsApp-first UX
No app download needed. The customer selects their service and receives the result entirely in WhatsApp — only the payment step opens a secure browser page (BNPL checkout or card portal).
✅ LulamisaPay floats the bill
Bill holders are paid immediately from LulamisaPay's prefunded balance or card. BNPL settlement flows back to LulamisaPay. Zero credit risk for the bill holder.
✅ Fraud-gated, POPIA-compliant
SA ID verification, velocity limits, high-value holds, encrypted PII — production-hardened from day one.

Three Taps. Zero Friction.

Service selection, cart, and delivery live entirely in WhatsApp. The only step that leaves WhatsApp is the payment itself — a link opens the BNPL partner's checkout page or a card payment portal in the browser, then the customer returns to WhatsApp for their token and invoice.

💬
Step 1

Customer messages

Sends "Hi" or any message to LulamisaPay's WhatsApp Business number. Greeted with a service menu.

🪪
Step 2

One-time ID verify

SA ID number captured once — stored encrypted (AES-256). POPIA notice accepted. All future sessions are seamless.

🛒
Step 3

Select & cart

Picks electricity, water, fine, airtime — or adds multiple to the cart for one checkout. Service fee shown upfront.

💳
Step 4

BNPL or full pay

LulamisaPay sends a checkout link. Tapping it opens the BNPL partner's own checkout page or a card payment portal in the browser. Card data goes directly to the payment provider — never to LulamisaPay.

Step 5

Delivered immediately

Electricity token, fine clearance, account credit — sent back to the customer in WhatsApp alongside a PDF invoice.

The Full Ecosystem at a Glance

LulamisaPay is the orchestration and float layer — managing the conversation, routing payments, paying bill holders, and triggering service delivery. Partners plug in via simple APIs.

High Level — Money & Message Flow

👤 Customer WhatsApp · SA ID verified Uses BNPL account message / select reply / token / invoice LulamisaPay Conversation · Fraud · Audit Payments · Orchestration Float provider POPIA · WhatsApp Business API AES-256 PII · Idempotent ledger checkout link PAID webhook 💳 BNPL Partner Checkout · Instalment credit SA-based BNPL providers batch settlement (T+1 / weekly) — cash to LulamisaPay bank pays (prefunded / card) vend confirmation 🔌 Bill Holder Interfile · PayCity · Eskom Municipal · Airtime token / receipt

Low Level — System Components

💬 WhatsApp Business API · Webhooks 💳 BNPL Adapter SA-based BNPL providers 🧾 Invoice PDF · Email delivery 🔌 Bill Holder Adapters Interfile · PayCity · Eskom · Airtime prefunded account draw | credit card charge 🌐 nginx Host · TLS (Let's Encrypt) ports 80 / 443 → :8003 Flask Application (LulamisaPay Core) Conversation Engine · State Payments BNPL · Full · Cart Fraud / Risk Velocity · Review hold Ledger / Audit Idempotent · Float pays + vend 🐘 PostgreSQL OLTP Operational DB · SQLAlchemy · Alembic 🐘 PostgreSQL OLAP Analytics data lake · CDC from OLTP ⚡ Redis Rate limiting · Sliding window CDC Background Worker Thread Fulfillment queue · Fraud review release · Bill holder payment recording Enqueued after PAID webhook — decoupled from HTTP handler 📊 Redpanda Connect (Analytics) Optional profile — CDC streaming · event analytics LEGEND message BNPL bill holder pay settlement

LulamisaPay Floats the Bill — Then Gets Settled

LulamisaPay acts as the float provider. Bill holders (Interfile, PayCity, Eskom…) are paid immediately from LulamisaPay's prefunded account or credit card on file. BNPL settlement flows back to LulamisaPay on an agreed cycle — the customer never touches the bill holder's portal.

1

Customer selects service & chooses to pay via BNPL (or card)

A secure checkout link is sent to the customer's WhatsApp. Tapping it opens the BNPL partner's checkout page or a card payment portal in the browser — card data goes directly to the payment provider, never to LulamisaPay. The customer returns to WhatsApp after payment.

2

BNPL Partner approves & fires a PAID webhook

The BNPL system makes the credit decision. A signed PAID callback is sent to LulamisaPay. Nothing irreversible happens on LulamisaPay's side until this arrives.

3

Fraud gate (manual hold on high-value)

High-value transactions pause here before value is handed over — protecting against a PAID webhook that later reverses before the irreversible vend.

4

🏦 LulamisaPay pays the bill holder

LulamisaPay draws from its prefunded balance at the bill holder — or the bill holder charges LulamisaPay's credit card on file, whichever method the provider supports. The customer is not involved in this step at all.

5

✅ Service delivered to customer

Electricity token issued, fine cleared, account credited. The bill holder vends immediately once payment clears on their side. Receipt + invoice sent to WhatsApp.

6

💳 BNPL Partner settles to LulamisaPay

The BNPL provider's batch settlement transfers the full checkout amount to LulamisaPay's bank account. LulamisaPay retains the service fee; the principal recovers the float advance. Float gap is now closed.

Bill Holder (Interfile / PayCity / Eskom)

Zero credit risk
  • LulamisaPay pays them at service trigger — no waiting
  • Payment from LulamisaPay's prefunded balance or credit card on file — whichever method the provider supports
  • Zero changes to existing API, pricing, or settlement terms
  • Reduced arrears; revenue guaranteed regardless of how the end-customer pays

BNPL Partner

Settles to LulamisaPay
  • Collects full checkout amount from customer in instalments as normal
  • Batch settlement flows back to LulamisaPay on agreed schedule
  • Access to an essential-services segment not currently reached by BNPL
  • Rich transaction metadata for your own risk & BI models

LulamisaPay — Float + Fee model

Revenue
  • Service convenience fee charged to the customer (retained on settlement)
  • Carries the short-term float gap between paying the bill holder and BNPL settlement
  • Float exposure bounded by settlement cycle; tracked per-transaction in the ledger
  • Different rates for BNPL vs full-pay, admin-configurable without redeploying

Float Exposure Timeline (per transaction)

Day 0
BNPL confirms
LulamisaPay pays
bill holder
← float gap — principal at risk →
LulamisaPay carries this exposure
T+1 to weekly
BNPL settles → LulamisaPay

Principal recovered on settlement · Service fee retained as revenue · Net float tracked per-transaction in the reconciliation API

What's in It for You

LulamisaPay is built around the specific needs of BNPL providers and bill-holder service delivery partners. Select your category.

Why partner with LulamisaPay?

  • Tap into a completely new use-case: essential-services BNPL — electricity, water, fines, airtime
  • No changes to your checkout or risk engine — LulamisaPay generates a checkout URL via your existing API
  • LulamisaPay handles ID verification, fraud gating, and customer communication
  • Structured settlement reporting via API or email on agreed cycles
  • Rich transaction metadata: service type, account, beneficiary — feeds your own BI and risk models
  • LulamisaPay carries the float risk — your obligation is simply the instalment collection from the customer

Risk layers — what LulamisaPay handles

🪪 SA ID verification

Identity captured once, AES-256 encrypted. Every transaction is tied to a verified SA citizen.

📊 Velocity limits

Rolling 24h caps on transaction count and value per account. New-account limits block SIM-swap cash-out.

🛑 High-value hold

Transactions above a threshold are held for manual review before the irreversible vend.

📋 Idempotent webhooks

Duplicate PAID webhooks never result in a double charge — enforced by a DB-level partial unique index.

How LulamisaPay pays you

There are two models — whichever fits your platform:

Model A — Prefunded account

LulamisaPay maintains a float balance on your platform. When a transaction is triggered, LulamisaPay draws from that balance. You remit a top-up when the balance drops below an agreed threshold.

Model B — Credit card on file

LulamisaPay registers a card at your payment gateway. Each triggered transaction is billed to LulamisaPay's card in real time. No prefunded balance required.

In both models the bill holder is paid before vending — zero credit risk for you.

Integration checklist

  • Provide an API endpoint: POST /vend or equivalent trigger
  • Accept a LulamisaPay-signed request header for authenticity
  • Return a vend reference / token / confirmation in the response
  • Optional: webhook back to LulamisaPay on async vend completion
  • Provide sandbox credentials for testing (2–3 days integration)
  • No changes to your customer-facing portal or app required

Sample integration call

POST /api/vend HTTP/1.1
Host: api.interfile.co.za
Authorization: Bearer <lulamisapay_key>
Content-Type: application/json

{
  "account":    "9001234567",
  "amount_cents": 60000,
  "reference":  "LP-TXN-abc123",
  "service":    "ELECTRICITY"
}

→ 200 OK
{
  "token":    "1234-5678-9012-3456",
  "status":   "VENDED",
  "ref":      "IF-20260610-99988"
}

Production-Hardened from Day One

Every layer — from the WhatsApp webhook to the database — is designed with South African regulatory requirements and OWASP security controls in mind. Below: the executive summary, the architecture, and the specific answer to every question a partner's security team asks.

🛡️ Executive Summary Independent, overlapping controls

LulamisaPay is built so that a failure in any single layer is contained by the next. Customer card details never touch our systems — they go straight from the customer's browser to the licensed payment provider. Personal data is AES-256 encrypted, so it is unreadable even if a database were ever copied. Our application runs with the minimum privilege it needs — it cannot be turned into a foothold on our servers or escalate inside the database. Every dependency and container image is cryptographically verified, and runtime monitoring flags anomalies within seconds. Partner funds, customer data, and platform integrity are protected by independent, defense-in-depth controls — not a single perimeter that fails all at once.

🔒 AES-256 PII at rest 🚫 No card data handled 🧱 Least-privilege everything 📦 Digest-pinned images 👁️ Runtime threat detection 🇿🇦 POPIA compliant

High Level — Defense in Depth: five independent layers

Internet / Attacker 1 · EDGE / TLS HTTPS · Let's Encrypt HSTS + CSP headers Rate limiting 2 MB body cap Server banners hidden 2 · APPLICATION HMAC-SHA256 webhooks (constant-time) POPIA consent gate Idempotent ledger Fraud / velocity engine 3 · RUNTIME Non-root containers Read-only filesystem All Linux caps dropped no-new-privileges CPU / RAM capped 4 · DATA ACCESS Least-privilege DB role (NOT a superuser) SCRAM-SHA-256 auth No public DB ports Append-only audit + tripwire 5 · ENCRYPTION AES-256 PII at rest TLS in transit Secrets never in code Digest-pinned images CI dep + image scanning Customer PII & Money unreadable even in a raw dump To reach anything of value, a request must cross all five independent layers — no single failure is a breach.

Layer by Layer — what each one means for you, and how it's built

Layer 1 · Edge & Transport

Traffic between customers, partners and us can't be intercepted, tampered with, or abused.

  • TLS (Let's Encrypt) with HSTS forcing HTTPS
  • Content-Security-Policy, X-Frame-Options, nosniff, Referrer-Policy — emitted by the app so they hold behind any proxy
  • Redis-backed sliding-window rate limiting on every webhook
  • 2 MB request-body cap; server-identifying headers stripped
Layer 2 · Application Logic

Only authentic, well-formed requests do anything — and money events can't be replayed or duplicated.

  • HMAC-SHA256 signature verification on all WhatsApp & BNPL webhooks, using constant-time comparison
  • Idempotent ledger — a DB-level unique index guarantees exactly one CHARGE per transaction
  • Fraud engine: SA-ID verification, velocity & new-account limits, blocklist, high-value manual hold before the irreversible vend
  • POPIA consent required before any PII is stored
Layer 3 · Runtime & Containers

Even a bug in our own code can't be leveraged into control of the server.

  • Every service runs as a non-root user
  • Read-only container filesystem — a malicious binary can't be written to disk
  • All Linux capabilities dropped; no-new-privileges
  • CPU/RAM caps make a hijacked process obvious and unprofitable
Layer 4 · Data Access

The application can only touch the data it needs — it can't escalate inside the database.

  • The app connects as a least-privilege, non-superuser role: it cannot create database users, run OS commands, or alter the schema
  • SCRAM-SHA-256 database authentication
  • Databases have no public ports — private network only; admin UIs bind to loopback (SSH tunnel)
  • Append-only audit log + a scheduled role-audit tripwire that alerts on any rogue privilege
Layer 5 · Encryption & Supply Chain

Sensitive data is unreadable at rest, and nothing unverified ever runs in production.

  • AES-256 column encryption for phone & SA ID — the database never sees plaintext PII
  • All container images pinned by cryptographic digest (no floating tags)
  • CI scans dependencies (pip-audit), images & config (Trivy), and blocks committed secrets (gitleaks)
  • Published responsible-disclosure policy (/.well-known/security.txt)

If one layer fails — the breach is contained

The way a minor bug becomes a headline breach is escalation: code execution → server takeover → database superuser → data theft or crypto-mining. On LulamisaPay every step of that chain is independently blocked.

Step 0 · the bug

A flaw lands in the web tier — say a vulnerable dependency allowing code execution.

Step 1 · host✕ blocked

Can't take the host: non-root, read-only filesystem, all capabilities dropped, resources capped.

Step 2 · database✕ blocked

Can't escalate in the DB: the app's role is not a superuser — no new users, no OS-command execution, no schema changes.

Step 3 · the data✕ blocked

Can't read the data: PII is AES-256 encrypted, so even a raw table dump is meaningless.

Step 4 · hide✕ blocked

Can't stay hidden: runtime monitoring (Falco) and the database role-audit tripwire alert on anomalies within seconds.

Control Catalogue — the specifics

🔒

AES-256 PII Encryption

Phone numbers and SA ID numbers are encrypted at column level using SQLAlchemy-utils StringEncryptedType. Encrypted columns remain equality-queryable.

🪪

POPIA Gate

Every new user must accept the POPIA notice before any PII is stored. Consent is recorded with a timestamp. No PII captured without explicit opt-in.

🔑

HMAC-SHA256 Webhooks

All inbound WhatsApp and BNPL webhooks are verified with HMAC-SHA256 signatures before any processing. Replays and spoofed calls are rejected.

🛑

Idempotent Ledger

A partial unique index on the ledger_entries table guarantees exactly one CHARGE per transaction. Duplicate PAID webhooks silently no-op — no double-billing possible.

📊

Velocity Fraud Engine

Rolling 24h transaction count and value caps per account. New-account limits. Blocklist for confirmed fraudsters. All thresholds are admin-configurable without redeploying.

⏸️

High-Value Hold

Transactions above a configurable threshold are held for manual review before the irreversible vend — preventing loss on card reversals that arrive after value is handed over.

📋

Full Audit Trail

Every transaction stage (created → paid → fulfilled) is logged to an append-only audit_logs table keyed by transaction UUID. Support can trace exactly where anything got stuck.

Rate Limiting

Redis-backed sliding-window rate limiting on all inbound webhook endpoints. Fails open (passes traffic) if Redis is down — service continuity over hard block.

🗄️

Alembic Migrations

Database schema is managed with Alembic version-controlled migrations. No manual SQL in production; every schema change is reviewed, tested, and reproducible.

Compliance & Standards

🇿🇦
POPIA

Consent-gated PII, right-to-be-forgotten, data-processing agreements available.

💳
PCI scope minimised

Card data never touches us — it goes straight to the licensed payment provider.

🛡️
OWASP-aligned

Controls mapped to the OWASP Top 10 & ASVS; defense-in-depth by design.

📨
Responsible disclosure

RFC 9116 security.txt — a clear channel to report issues privately.

Answering Your Security Team's Questions

Does LulamisaPay ever see or store our customers' card details?
No. Card entry happens on the payment provider's / BNPL partner's own checkout page — the card number and CVV go directly from the customer's browser to the licensed provider. LulamisaPay only ever receives a transaction reference and a signed PAID confirmation. We hold no PAN, no CVV, and no card data at rest, which keeps our PCI scope minimal.
If your application server were compromised, what is the blast radius?
Deliberately small. The application connects to the database as a strictly least-privilege, non-superuser role — it cannot create database users, run operating-system commands, or change the schema. Containers run non-root, with a read-only filesystem and all Linux capabilities dropped, so a compromised process can't escalate, persist a binary, or take the host. Personal data is AES-256 encrypted, so it stays unreadable. Runtime monitoring (Falco) and a database role-audit tripwire alert us to anomalies within seconds. This is exactly the escalation chain that turns a minor bug into a breach elsewhere — here every step is independently blocked.
How is our customers' personal data protected?
Phone numbers and SA ID numbers are AES-256 encrypted at the column level — the database itself never sees plaintext, so even a full database copy is unreadable. PII is only captured after explicit POPIA consent, is accessible strictly on a need-to-serve basis, and we're happy to sign a data-processing agreement specifying the exact data flows. LulamisaPay only ever receives the minimum a vend needs: account reference, amount, and service type — never your customer's full profile.
How do you know a malicious dependency or container image hasn't been slipped into production?
Every container image is pinned by an immutable cryptographic digest — a moved or poisoned tag can never silently change what runs. On every code change, CI scans Python dependencies (pip-audit), container images and infrastructure config (Trivy) for known vulnerabilities and misconfigurations, and a secret-scanner (gitleaks) blocks credentials from ever being committed. Scans also run on a weekly schedule to catch advisories published against versions we already run.
How are webhooks — ours and WhatsApp's — authenticated?
Every inbound webhook is verified with an HMAC-SHA256 signature using a shared secret and a constant-time comparison (so the check can't be gamed by timing). Unsigned or invalid requests are rejected before any processing. A duplicate or replayed PAID webhook can't cause a double charge or double vend — a database-level unique index guarantees exactly one charge per transaction.
How is data protected in transit and at rest, and who can reach the database?
In transit: TLS (Let's Encrypt) at the edge with HSTS; internal services talk over a private, isolated network. At rest: AES-256 for PII and SCRAM-SHA-256 for database authentication. The databases have no public ports — they're unreachable from the internet — and admin tooling binds to loopback only, reached via an SSH tunnel. A scheduled audit tripwire alerts us if any database role ever gains a privilege it shouldn't (rogue-account detection).
What stops a fraudster from cashing out through the platform?
Layered fraud controls: one-time SA ID verification ties every transaction to a verified identity; rolling 24-hour velocity limits on count and value; tighter new-account limits to block SIM-swap cash-out; a blocklist for confirmed fraudsters; and a high-value manual hold that pauses large transactions for review before the irreversible vend — protecting against a payment that reverses after value has been handed over. All thresholds are tunable without a redeploy.
How do you handle vulnerabilities and disclosure over time?
Security is continuous, not a one-off: weekly automated dependency + image scanning, deliberate (reviewed) digest bumps, runtime anomaly detection, and a scheduled database-role audit. We publish an RFC 9116 security.txt so researchers and partners have a clear, private channel to report anything — and we act on it. We're glad to walk your security team through our architecture and share the relevant controls in detail under NDA.

Integration in 4 Weeks

The typical partner goes from first API call to live production in four weeks. We handle all the complexity — you provide sandbox credentials and a test account.

Week 1
Discovery & Access
  • Sign NDA & partnership agreement
  • Receive sandbox credentials
  • API documentation handover
  • WhatsApp Business number provisioned
Week 2
Sandbox Integration
  • Checkout URL generation tested
  • PAID webhook delivery confirmed
  • Vend adapter connected
  • Invoice delivery tested
Week 3
UAT & Compliance
  • End-to-end UAT on staging
  • POPIA data-flow review
  • Fraud threshold tuning
  • Settlement report format agreed
Week 4
🚀 Go Live
  • Production credentials activated
  • First real customer transaction
  • Monitoring dashboards shared
  • Ongoing reconciliation agreed

Things Service Providers Ask Us

Honest answers to the questions every potential partner has before signing.

What happens if the BNPL customer misses an instalment?
That is entirely the BNPL provider's credit risk — not yours and not ours. LulamisaPay pays the bill holder immediately after BNPL confirms the transaction. Once LulamisaPay has paid you and you've vended the service, the instalment repayment relationship is purely between the BNPL provider and the end-customer. LulamisaPay's settlement from the BNPL provider is based on the agreed batch schedule — not on whether the end-customer keeps paying their instalments.
What if LulamisaPay's prefunded balance runs dry?
LulamisaPay maintains a minimum float level and receives automated low-balance alerts before any transaction could fail. The prefunded balance is topped up via EFT or credit facility before reaching zero. In the credit-card model there is no balance at all — the card is charged per transaction so this concern doesn't apply. Either way, vend requests are only triggered after LulamisaPay has confirmed sufficient payment capacity.
How do we reconcile — how do we know what LulamisaPay paid us?
Every transaction carries a LulamisaPay UUID and your own external reference. Structured reconciliation reports (CSV or JSON) are available via an API pull or email on agreed daily/weekly cycles. The report includes: transaction UUID, your reference, amount, service type, vend status, and payment timestamp. You can match these line-for-line against your own ledger.
Is LulamisaPay regulated? Are they a payment service provider?
LulamisaPay operates as a technology intermediary orchestrating payments between existing licensed participants — the BNPL provider (regulated) and the bill holder's own payment gateway. LulamisaPay does not hold customer funds; it manages its own float to pay bill holders. We are in active discussion with relevant bodies regarding appropriate licensing as the product scales. We are happy to share our legal opinion on request.
What if the vend fails after LulamisaPay has already paid us?
If the vend API returns a failure, LulamisaPay's support team is immediately notified via an alert. The transaction is marked FULFILLMENT_FAILED and flagged for manual resolution. Depending on the failure cause (your API down, token generation error, etc.) the standard resolution is either a retry or a refund. Settlement for failed vends is handled case-by-case; no deduction happens without mutual agreement.
What data about our customers will LulamisaPay see?
LulamisaPay only sees the data necessary to trigger the vend: account reference, amount, and service type. It does not receive your customer's full profile, usage history, or any data not explicitly passed in the vend API call. All PII at LulamisaPay's side (the end-customer's phone and ID) is AES-256 encrypted and accessed under POPIA consent. We are happy to sign a data processing agreement specifying the exact data flows.
How does the BNPL settlement cycle work? When does LulamisaPay get paid?
The BNPL provider settles to LulamisaPay's bank account on an agreed batch cycle — typically T+1 to weekly depending on the partner. LulamisaPay carries the float during this window: it has already paid the bill holder on Day 0 but receives the cash from BNPL later. This is LulamisaPay's core business risk; it does not pass this risk to the bill holder or the end-customer.
Can we start with a pilot — one service type only?
Absolutely. Most integrations start with a single service type (e.g. electricity only) and expand after the first 30 days of live traffic. The platform is modular: additional service types can be added by registering a new adapter — no core changes required. A pilot is actually our preferred approach because it lets both sides validate the reconciliation process and settlement timing before scaling.

Roadmap

Where LulamisaPay is going — so you can plan your partnership accordingly.

Live

Now in Production

  • WhatsApp conversation engine
  • Electricity, water, fines, airtime
  • BNPL + full card payment
  • Multi-item cart checkout
  • PDF invoicing + email delivery
  • Fraud engine + POPIA gate
  • Beneficiary payments
Beta

In Development

  • Float balance dashboard (partner-facing)
  • Reconciliation API (JSON/CSV pull)
  • BNPL settlement recording in ledger
  • Prefunded balance auto top-up alerts
  • Admin portal for fraud threshold tuning
Coming

Planned

  • DStv / streaming subscriptions
  • School fees BNPL
  • Funeral cover premiums
  • Merchant self-service onboarding
  • Multilingual support (Zulu, Xhosa)
  • USSD fallback for feature phones
  • Instalment scheduling API

Ready to Explore a Partnership?

Whether you're a BNPL provider looking for a new essential-services segment, or a bill holder wanting guaranteed, instant payment — we'd love to walk you through a live demo.

💬

WhatsApp

Message us — we use the platform we're pitching

📅

Book a Demo

30-minute live walkthrough — end-to-end on a real WhatsApp number