⚠ System Health
Loading…
Fixes holder_hash mismatches · Verifies all agent floats · Returns reconciliation report
Total Users
—
Loading...
👥
Agent Float
—
Across all agents
💰
Coins Issued
—
—
🪙
Fraud Events
—
Unresolved flags
🚨
Merchants
—
Registered
🛒
PWA Customers
—
Registered devices
📱
Transactions
—
Registry settled
📋
Active Agents
—
Of 5 pilot
🏪
Live Activity
Latest platform events
Loading...
Volume (14 days)
Daily Zil transfer activity
Loading...
User Breakdown
Loading...
Coin Status
Loading...
Pilot Progress
Agents onboarded5/5
Merchants0
PWA customers0
Transactions0/1,000
All PWA Customers
All PWA-registered customer devices
| Device ID | Phone Hash | Status | Registered | Last Active | Balance | Sent | Received | Tx Count | Fraud | |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||||
Total Merchants
—
Registered
🛒
Active
—
Transacting
✅
Total Payments
—
QR claims
📲
Total Volume
—
All-time
₦
All Merchants
Register at: zillion.ng/merchant/ — Run merchants.sql in Supabase if first time
Click Refresh to load merchants
Merchant Registry
| Merchant ID | Owner | Business | Type | Location | Phone | Registered | Payments | Volume | Status | Action |
|---|---|---|---|---|---|---|---|---|---|---|
| Click Refresh to load | ||||||||||
Cooperatives
A cooperative is a group of farmers selling together — members are existing wallet users assigned by an admin.
Loading...
Ecosystem Finance
Subscription revenue across every society, and reconciliation against real Flutterwave settlements.
Loading...
Add-on Modules
Set pricing here — nowhere else in the codebase hardcodes an add-on price. An add-on can't be activated (selectable at signup) until it has a real price above ₦0.
| Module | Price (₦/mo) | Active | |
|---|---|---|---|
| Loading... | |||
Thrift & Loan Societies
A cooperative savings & loan society — members are existing wallet users the admin activates and manages.
| Name | Status | Plan | Subscription | Trial Ends | Action |
|---|---|---|---|---|---|
| Loading... | |||||
Coop Analytics
Aggregated across every society — data foundation for future credit scoring, not a scoring system itself.
Loading...
Zillion Identity Lookup
Search by phone number to see the unified identity and every role (wallet, merchant, agent) linked to it — one person, one Zillion ID, regardless of how many roles they hold.
💰 Float Top-Up
Mint coins = cash deposited by agent
This is the only way value enters the Zillion ecosystem. Every coin minted is backed 1:1 by physical cash held by admin.
Agent Management
All registered pilot agents. Use Tokens tab to generate JWT.
Loading...
Agent Activity
| Agent ID | Name | Location | Float | Issued | Redeemed | Last Login | Status |
|---|---|---|---|---|---|---|---|
| Loading... | |||||||
Total Issued
—
Currently Held
—
Redeemed
—
Coin Registry
| Coin ID | Amount | Issued By | Issued At | Expires | Status | Holder | |
|---|---|---|---|---|---|---|---|
| Loading... | |||||||
🔍 Coin Lookup
Find full coin ID by partial match
The merchant vault display truncates coin IDs to 28 chars. Use this to find the full ID before reconciling.
🔧 Force Reconcile Stuck Coin
Admin override for stuck PENDING_CASHOUT coins
Use when a merchant's coin shows "Sent to agent — awaiting confirmation" but agent never redeemed. Enter the full Coin ID from the merchant's vault.
Platform Transactions
| TX ID | Type | Coin | Amount | From | To | MFB | TX Time | Status |
|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||
Generate Agent Token
Activate any agent by generating their JWT.
🔐 New Agent Token
Select agent and generate their 1-year JWT token.
JWT Token (click to select)
Agent
—
Expires
—
Token History (session)
No tokens generated yet
📒 Account Ledger
Full double-entry style ledger — Customers, Merchants & Agents. Running balance after every transaction.
Quick open:
👥 Admin Users
Role-based access control — manage admin credentials, roles and account status. All actions are immutably logged.
SUPER_ADMIN — Full access
COMPLIANCE — Freeze + audit
OPERATIONS — Float + reconcile
SUPPORT — View only
AUDITOR — Export + audit log
VIEWER — Dashboard only
Loading...
Open Fraud Events
—
High-Risk Devices
—
Fraud Registry
| Event ID | Type | Device | Coin ID | Detected | Severity | Resolved |
|---|---|---|---|---|---|---|
| 🛡️ No fraud events | ||||||
🧊 Freeze / Unfreeze Coin
Admin override — requires reason
📋 Currency Transaction Reports (CTR)
CBN: transactions ≥₦1,000,000
Enter date range and click Pull CTRs
| Date | TX ID | Amount | Type | Agent |
|---|
⚠ Suspicious Transaction Reports (STR)
CBN AML/CFT requirement
Enter date range and click Pull STRs
| Date | Device | Reason | TX Count | Total |
|---|
KYC / NIN Verification Status
Tier 1 (Unverified)
—
Limit: ₦50,000/day
Tier 2 (NIN Verified)
—
Limit: ₦200,000/day
Verification rate
—
KYC verification upgrades customers from Tier 1 (₦50k/day limit) to Tier 2 (₦200k/day) via NIN check through Paystack Identity API. Route: POST /api/v1/kyc/verify-nin
🔐 Two-Factor Authentication Setup
Protect the admin dashboard with Google Authenticator (TOTP / RFC 6238).
Once configured, every login requires your secret plus a 6-digit code from your phone.
Step-by-step setup:
- Click Generate Secret below
- Copy the secret shown
- Go to Netlify → Site → Environment Variables
- Add
ADMIN_TOTP_SECRET= the secret - Redeploy the site
- Scan the QR code in Google Authenticator or Authy
- Test with a 6-digit code before logging out
System Health
Netlify Functions
Deployed
LIVE
Supabase Registry
Checking...
CHECK
Mint / Ed25519
Checking...
CHECK
PWA Wallet
Checking...
CHECK
Merchant Portal
Checking...
CHECK
Coin Lookup
MFB Dashboard
Per-MFB metrics · Corrected double-entry proof · Coins ↔ Transactions audit
Total Minted
—
In Circulation (HELD)
—
Undelivered (ISSUED)
—
Redeemed
—
Float Obligation
—
Recon Status
—
Accounting Formulas
Conservation law
ISSUED + HELD + REDEEMED = MINTED
Float obligation = SUM(HELD coins)
Available = COUNT(status=ISSUED)
Float obligation = SUM(HELD coins)
Available = COUNT(status=ISSUED)
Double-entry proof
ISSUE: DR MFB Float / CR Circulation
REDEEM: DR Circulation / CR Agent Float
P2P: DR Sender / CR Receiver (float neutral)
REDEEM: DR Circulation / CR Agent Float
P2P: DR Sender / CR Receiver (float neutral)
Double-Entry Reconciliation
| MFB | DR MFB Float | CR Circulation | DR Circulation | CR Agent Float | Float Obligation | Issue | Redeem | Conservation | Note |
|---|
Click MFB Dashboard to load
Coins ↔ Transactions Audit
—
Coins with TX
—
Coins missing TX
—
Orphaned TXs
—
Per-MFB Breakdown
| MFB | Minted | Circulation | Undelivered | Redeemed | Float Oblig. | P2P Velocity | Cash-Ins | Cash-Outs | Self-Loads | MFB Comm. | Balanced |
|---|
Click MFB Dashboard to load
🏦 Register MFB Partner
Run migration_mfb_partners.sql in Supabase first
MFB Partners
—
Total Minted
—
In Circulation
—
Redeemed
—
Float Obligation
—
MFB Commission
—
Coins Minted
—
In Circulation
—
Undelivered
—
Total Redeemed
—
Float Obligation
—
Recon Status
—
Double-Entry Reconciliation
| MFB | DR MFB Float | CR Circulation | DR Circulation | CR Agent Float | Float Oblig. | Issue | Redeem | Conservation | Note |
|---|
Loads automatically when MFB Partners opens
Coins with TX
—
Coins missing TX
—
Orphaned TXs
—
Agent MFB Change Requests
Agents requesting to switch their assigned MFB — review before approving.
| Agent | Current MFB | Requested MFB | Reason | Requested | Action |
|---|---|---|---|---|---|
| Loading… | |||||
All MFB Partners
| MFB ID | Name | State | Agents | Minted | Circulation | Redeemed | Float Oblig. | Cash-Ins | Cash-Outs | Self-Loads | P2P | MFB Comm. | CIF Ratio | Balanced |
|---|
Loading...
Commission Configuration
Rates apply at 3 levels — most specific wins: Agent > MFB Partner > Global. Changes take effect immediately on next transaction.
Today Fees
—
Zillion Cut
—
MFB Cut
—
Agent Earnings
—
Add / Update Rate
Agent share: 50% (automatically = 100% minus MFB minus Zillion)
Active Rate Configurations
| Type | Scope | ID | Fee% | Min | Max | MFB% | Zil% | Agt% | Note |
|---|
Click Commissions to load
Commission Events
| Date | Type | Agent | Txn | Fee | MFB | Zillion | Agent | Status |
|---|
📶 Bluetooth Transfer Diagnostics
Real-time SPP/BLE discovery and transfer event monitor
Sessions
0
total scans
Devices Found
0
unique MACs
Transfers OK
0
successful
Errors
0
recorded
Last Method
—
SPP or BLE
Live Status
Waiting
current state
🧪 Simulate BT Events — test diagnostic display without real devices
Filter:
No active session