MoMoTrack Oracle
On-chain Mobile Money verification for Africa
MoMoTrack is a lightweight, open-source oracle that brings Mobile Money (MoMo) transactions on-chain. It is a verification and provenance layer on top of licensed aggregators (PowerPay, Cotanipay, and others), not a financial intermediary. P2P apps, remittance platforms, tontines, and DeFi protocols get immutable payment proofs on Safrochain without screenshots, disputes, or manual reconciliation.
Read the full explanation: docs/HOW_IT_WORKS.md
| Problem | MoMoTrack solution |
|---|---|
| "I sent but it didn't arrive" disputes | Cryptographic on-chain proof anyone can verify |
| Screenshot-based proof of payment | Immutable attestation with amount, time, and reference |
| Phone numbers exposed to third parties | Zero-knowledge proofs generated on the client device |
| Manual back-office reconciliation | Automatic recording after each successful payment |
| Fragmented Mobile Money APIs | One SDK layer across major African aggregators |
Developer's Application
│
▼
MoMoTrack SDK (client-side) ← ZK-proof + signed payload
│
▼
MoMoTrack Oracle (off-chain) ← validation + relay
│
▼
Safrochain (on-chain) ← immutable record + events
sequenceDiagram
participant App as Your App
participant MoMo as Mobile Money Provider
participant SDK as MoMoTrack SDK
participant Oracle as MoMoTrack Oracle
participant Chain as Safrochain
App->>MoMo: Initiate payment (your API keys)
MoMo-->>App: Transaction result
App->>SDK: Forward success result
SDK->>SDK: ZK proof + sign payload
SDK->>Oracle: Submit attestation
Oracle->>Oracle: Validate signature + proof
Oracle->>Chain: Record minimal proof
Chain-->>App: Verifiable on-chain receipt
- Integrate your aggregator: PowerPay, Cotanipay, or another provider with your own API keys and compliance.
- Add the MoMoTrack SDK: Lightweight client for mobile or web.
- Attest on success: SDK masks sensitive data with ZK, oracle validates, Safrochain stores the proof.
- Verify anywhere: Query or subscribe to on-chain events; no manual proof steps for recipients.
| Document | Contents |
|---|---|
| HOW_IT_WORKS.md | Full 6-step flow, components, benefits |
| ARCHITECTURE.md | Layers, deployment, extensibility |
| DATA_SCHEMA.md | Payload and on-chain record formats |
| SECURITY_MODEL.md | Threat model and privacy guarantees |
| ROADMAP.md | Implementation phases |
- Verification, not custody: MoMoTrack never touches funds
- Aggregator support: PowerPay, Cotanipay, and extensible provider adapters
- Privacy-first: Client-side ZK; phone numbers never leave the device in plaintext
- On-chain receipts: Transaction reference, amount, timestamp, and anonymized parties
- Opt-in: Only SDK-routed successful transactions are recorded
- Multi-platform SDK: TypeScript, React Native, and Flutter (roadmap)
- Open source: MIT licensed, auditable, community-driven
SDK packages are being published. Follow this repo for release announcements.
npm install @safrochain/momotrackimport { MoMoTrack } from "@safrochain/momotrack";
const momotrack = new MoMoTrack({
network: "safrochain-testnet",
provider: "powerpay",
});
await momotrack.attest({
transactionId: "txn_abc123",
amount: 5000,
currency: "CDF",
status: "success",
});See docs/GETTING_STARTED.md for environment setup, provider configuration, and testnet deployment.
MoMoTrack-Oracle/
├── docs/
│ ├── HOW_IT_WORKS.md # End-to-end flow (start here)
│ ├── ARCHITECTURE.md # Technical components
│ ├── DATA_SCHEMA.md # Payload schemas
│ ├── SECURITY_MODEL.md # Threat model
│ └── ROADMAP.md # Implementation plan
├── .github/ # Issue/PR templates and CI
├── LICENSE # MIT
├── CONTRIBUTING.md
├── SECURITY.md
└── CHANGELOG.md
| Provider | Status | Region |
|---|---|---|
| PowerPay | Planned | DRC |
| Cotanipay | Planned | Central Africa |
| Custom adapter | Open an issue | - |
Want your aggregator listed? Use the provider request template.
git clone https://github.com/Safrochain-Org/MoMoTrack-Oracle.git
cd MoMoTrack-Oracle
nvm use
npm install
npm run verify # lint, typecheck, and testsRead CONTRIBUTING.md before opening a pull request.
Report vulnerabilities privately. Do not open a public GitHub issue for security findings.
See SECURITY.md for our disclosure policy and contact details.
| Channel | Link |
|---|---|
| Documentation | docs.safrochain.com |
| Discord | discord.gg/safrochain |
| GitHub Issues | Report bugs & request features |
| X (Twitter) | @safrochain |
This project is licensed under the MIT License.
Copyright (c) 2026 Safrochain.