Dashboard
Dedicated Virtual Account Infrastructure

Welcome to Cyrus

Cyrus is the operational layer that makes Nomba virtual accounts production-ready. Connect your Nomba account, provision dedicated accounts per customer, and receive reliable payment events — without rebuilding payment infrastructure from scratch.

What Cyrus provides

Dedicated Virtual Accounts

Provision a persistent NUBAN-style account per customer. Funds flow directly — Cyrus maps them.

Real-time Payment Events

Reliable webhook delivery with duplicate detection and failed-event recovery built in.

Reconciliation Engine

Automatically compares provider records against internal state to detect missed or orphaned transactions.

Normalised Webhooks

One clean event schema regardless of what Nomba sends. No provider-specific payload parsing.

Quick Start

Get a virtual account provisioned in under 5 minutes.

bash
# 1. Register your business (returns a dashboard token + test API key)
POST /v1/auth/register
{
  "businessName": "Acme Payments",
  "businessEmail": "dev@acme.ng",
  "password": "••••••••",
  "nombaClientId": "...",
  "nombaClientSecret": "...",
  "nombaParentAccountId": "NMB-XXXX",
  "subAccountIds": ["sub_acct_1"]
}

# 2. Create a customer — a dedicated virtual account is provisioned automatically
POST /v1/customers
Authorization: Bearer <your cyrus_test_ API key>
{ "reference": "user_123", "firstName": "John", "lastName": "Doe" }
→ {
    "virtualAccount": {
      "accountNumber": "0123456789",
      "bankName": "Nomba MFB",
      "status": "ACTIVE"
    }
  }

# 3. Fetch the customer + its account any time
GET /v1/customers/user_123
Authorization: Bearer <your cyrus_test_ API key>

Authentication

All API requests require a Bearer token obtained via POST /v1/auth/login.

Authorization: Bearer <your-api-token>