KODA
The SMS is the API · zero telco contract

A screenshot can be faked.
The SMS can't.

When a customer says they've paid, a screenshot proves nothing — it can be edited, reused or invented. KODA reads the mobile-money operator's own confirmation SMS and tells you in seconds whether the money really arrived. Verify by hand, in WhatsApp, or by API. No telco contract. Free until you get paid.

Reads only the payment SMS — never your contacts, never your money. The money goes straight from your customer to you; KODA only tells you it arrived. And a code used once is dead forever.
Works with Orange MoneyAirtel MoneyM-Pesa (Vodacom) Africell MoneyMTN MoMoWave Moov MoneybKash GCashJazzCash + any operator that sends SMS
Merchant SIM · Kinshasa t = 0.0s
Orange Money · incoming SMS Vous avez recu 25 000 FC de JEANNE N. (+243 89•···4521). Ref: OM.260717.1432.A88213. Solde: 342 500 FC
Customer submits the reference
operator recordamounttimingpayersingle-use
VERIFIED
→ POST merchant.webhook { "event": "payment.verified", "amount": 25000, "currency": "CDF", "operator": "orange_cd", "risk_score": 0.02, "receipt_id": "rcp_KODA_7f21" }
6–18 mo<10 stelco negotiation → verification
$0per failed verification — success only
235operators · 95 countries, zero contracts
5doors: manual · chat · API · USSD · SMS
One engine · five doors

A market trader and a 400-merchant platform use the exact same truth.

Identical matching, fraud scoring, replay protection and audit trail — only the interface differs by technical capacity. One account, one ledger, zero migration when you graduate.

NEW · NO CODE
DOOR 01

Manual Mode

For merchants verifying by hand today

Open the Verify Console, paste the customer's code or snap their screenshot — get a telco-anchored verdict in ~3 seconds, with the matched SMS shown.

  • Live Payments Feed — every payment on your SIM, structured
  • Replay lock — a code used once is dead forever
  • One-tap branded customer receipts
  • Daily WhatsApp digest + team seats with audit
DOOR 02

WhatsApp Chat Mode

For sellers who live in the chat

Add KODA's number to the conversation. The customer drops their code, KODA replies "✅ Paiement confirmé — 25 000 FC reçus" right in the thread.

  • Verification joins the conversation where the sale happens
  • Zero code, zero console, zero customer behaviour change
  • FR · EN · Lingala · Swahili · Wolof · Twi at launch
  • Everything logged to the same merchant ledger
DOOR 03

API Mode

For developers & platforms

Intents, code submission, signed webhooks — order confirmed, ticket issued, course unlocked, no human in the loop.

  • 3 core endpoints — integrate in an afternoon
  • Sub-merchant API: onboard whole merchant bases
  • HMAC-signed webhooks, idempotency built in
  • Wholesale from $0.026/verification
FEATURE PHONES
DOOR 04

USSD Mode

For any handset — no smartphone, no app, no data

Dial a KODA shortcode, key in the code, and get the verdict back on-screen and by SMS. The same telco-anchored truth, on the most basic phone in the market.

  • Works on every phone — no smartphone or internet needed
  • Dial a shortcode, confirm, done — verdict in seconds
  • Same replay lock, fraud scoring and ledger as every door
  • Rolling out with partner operators (telco shortcode required)
HANDS-FREE
DOOR 05

Inbound SMS

For any phone — forward the operator SMS, done

The merchant forwards (or auto-forwards) the operator's payment SMS to KODA. KODA reads it and verifies automatically — no code to type, works even on iPhone.

  • Forward the whole SMS — KODA sees the real proof, not just digits
  • Auto-verifies the moment it lands — the merchant does nothing
  • Works on any device, including phones that can't run Sentinel
  • Same replay lock, fraud scoring and ledger as every door
The built-in growth path: start Manual → see the value of unmatched-payment detection → flip on Chat → volume grows → switch on the API. Same account, same ledger, same history. Graduation is a toggle, not a rebuild.
▶ See all doors work — live demo
A live, interactive demo in your browser · no account, no real money
The canonical flow

Your customer pays exactly the way they paid yesterday.

The only thing that changes: you finally know — instantly, provably, in your language.

Customer pays normally

USSD or operator app, to your existing number. Nothing new to learn, nothing to install.

*144# → send 25 000 FC → merchant number

Operator texts your SIM

KODA Sentinel (6 MB) captures the confirmation, parses on-device, pushes a signed record.

ref OM.260717…A88213 amt 25 000 FC · bal ✓chain

The code reaches KODA

Typed at checkout, dropped in WhatsApp, or pasted in your Verify Console.

POST /intents/{id}/verify { "reference": "OM…A88213" }

Truth, delivered

Matched against the ledger, fraud-scored, locked against replay — verdict where you live.

event: payment.verified risk 0.02 · <10 s
Worldwide by construction

Coverage is a parsing template, not a contract.

KODA works wherever the operator sends the merchant a confirmation SMS with a reference and amount — the standard behaviour of GSMA-model mobile money on every continent. Each operator is added centrally and kept current automatically as their formats change — no per-country contract, no integration.

WAVE 1 · HOME

DR Congo

M-Pesa (Vodacom) · Orange Money · Airtel Money · Africell Money

WAVE 2 · AFRICA CORE

KE · TZ · UG · GH · CI · SN · CM · NG · RW

M-Pesa · MTN MoMo · Airtel · Orange · Wave · Moov

WAVE 3 · SOUTH ASIA

Bangladesh · Pakistan · Nepal

bKash · Nagad · Rocket · JazzCash · Easypaisa · eSewa

WAVE 4 · SE ASIA & PACIFIC

PH · ID · MM · PG · FJ

GCash · Maya · DANA · OVO · GoPay · Wave Money · M-PAiSA

WAVE 5 · MENA & HORN

SO · EG · JO · YE

EVC Plus · Zaad · Sahal · Vodafone Cash · Orange Money

WAVE ∞ · ANYWHERE

Community Template Program

Send 5 sample SMS from any unsupported operator → live pack within days. Coverage requests become coverage.

The honest boundary, stated on purpose: app-only wallets with no SMS leg and bank rails like UPI/PIX are different mechanisms — roadmap adapters, not v2 claims. KODA's promise is exact. That's why it's credible.

Fraud engine

Built to be lied to.

Screenshot fraud exists because merchants verify against customer-side artifacts. KODA's truth is merchant-side, operator-issued, device-attested — a fraudster would have to forge an SMS into your own phone.

Code replay
Global Replay Index — every code is single-use per merchant, forever, across all five doors. A code verified manually is dead to the API too.
Stolen code
A code doesn't travel — it's tied to the payment it belongs to. Anything that doesn't line up triggers an extra identity check instead of a confirmation.
Forged screenshot
A screenshot is never accepted as proof on its own — the truth is always the merchant-side record the network itself issued.
Spoofed SMS
A forged message is cross-checked against the operator's own record and quarantined — and you're alerted, rather than paid on a lie.
Pay, then reverse
A later reversal fires payment.reversed. KODA can't stop an operator reversal — it makes you the first to know.
Balance-chain auditlive
Incoming SMSAmountNew balance
14:02 OM…F4410+15 000302 500
14:17 OM…B7802+15 000317 500
14:32 OM…A88213+25 000342 500
14:41 "OM"…X9931+80 000350 000
⚠ CHAIN BREAK — 342 500 + 80 000 ≠ 350 000
→ quarantined · merchant alerted

Every genuine operator SMS carries the running balance, so each new balance must equal the previous balance plus the amount. A spoofed SMS breaks that arithmetic. The operator's own bookkeeping is the firewall — and it works identically for bKash in Dhaka and Orange Money in Kinshasa.

Under the hood

Intelligent — and auditable by design.

An AI layer runs every verification end to end. The rule we hold ourselves to: every automatic confirmation writes a full, append-only decision trace — a verification you cannot audit is a verification you cannot defend.

Reads any operator

Structures the confirmation message across formats and languages — and keeps up as operators change theirs.

Matches to the order

Ties each payment to the right order, and forgives small typos in the customer's reference.

Scores fraud

A risk score on every match, tuned to local patterns — the fraud in Kinshasa is not the fraud in Dhaka.

Screenshot forensics

Reads a code from an image when a customer insists on sending one — assistive evidence, never sole proof.

Reconciles

Surfaces payments with no order attached — "you were paid 3× today and recorded none of it."

Handles disputes

Works the customer through a failed verify and hands you an evidence file with a recommendation.

Speaks your customers' language

FR · EN · Lingala · Swahili · Wolof · Twi, with more added per market.

Watches itself

Fleet health, coverage monitoring and delivery — plus a weekly intelligence brief for you.

Developers

Three endpoints. One coffee.

If you can call Stripe, you can call KODA. SDKs for Node, PHP/Laravel, Python and Flutter — webhook verification and idempotency built in. Docs equally deep in French and English.

A sandbox with a telco simulator

You can't send yourself real mobile money all day. Magic references produce deterministic outcomes, and POST /sandbox/sms lets you inject any operator-formatted SMS and watch KODA structure it.

  • TEST-OK-25000instant payment.verified
  • TEST-LATE-90verifies after 90 s → payment.verified.late
  • TEST-REPLAYrejected → code_already_used
  • TEST-SUFFIXmismatch → identity challenge flow
  • TEST-REVERSALverify, then payment.reversed
North-star metric, measured: first verified payment < 10 minutes from signup. Sandbox is free, unlimited, never expires.
One ladder · all five doors

Free until your merchant actually gets paid.

Every plan includes a monthly verification quota at no per-use cost — identical whether a human clicked Verify or a webhook fired. Failed matches, rejections, expired intents: free. Prepaid ACU (topped up via mobile money, verified by KODA's own engine) is drawn only by AI features and by verifications beyond your quota.

Marché

$0
forever
  • 10 verifications/mo
  • 1 Sentinel device
  • Verify Console + Live Feed
  • Replay protection
  • Daily digest
Start free

Boutique

$5/mo
190 verifs · $0.0325 over
  • Manual + Chat + API
  • 2 devices · 3 team seats
  • Customer receipts
  • Web widget + webhooks
  • Reconciliation
Choose Boutique

Commerce

$20/mo
760 verifs · $0.0325 over
  • Everything in Boutique
  • 5 devices · 10 seats
  • Vision + screenshot forensics
  • Dispute assistant
  • Priority parsing · WhatsApp SLA
Choose Commerce

Plateforme

$100/mo
3,800 verifs · $0.0325 over
  • Everything in Commerce
  • Unlimited devices
  • Highest throughput (100 req/s)
  • SLA-backed response times
Choose Plateforme

Scale

$399/mo
15,200 verifs · $0.0325 over
  • Everything in Plateforme
  • Sub-merchant API + scoped keys
  • Trust-score API
  • Re-billing endpoints
  • Distributor / reseller access
Choose Scale

Enterprise / Gov

Custom
committed volume
  • In-country residency (dedicated deployment)
  • Dedicated corridor models
  • White-label (+20%)
  • Targeted 99.9% SLA, credited if missed
  • Annual contract
Contact sales
"Pay only when your merchant gets paid." — the moral centre of the pricing. Pay-as-you-go ACU packs from $33 → 1,000 ACU · a plan's included rate always beats pay-as-you-go · prepaid top-ups verified by the engine itself

Zero telco meetings.
Ten minutes to your first verified payment.

No card required · sandbox never expires · docs in FR + EN

Open your KODA account →