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.
# 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>