A virtual account is a real Nigerian bank account number (NUBAN format) assigned to one of your customers or use cases. Funds deposited into this account appear in your platform’s ledger immediately. You can create as many virtual accounts as you need — one per customer, one per transaction, or one per product.Virtual accounts created in sandbox use test NUBANs that do not process real money. Production accounts are fully live.
POST /v1/accountsCreates a new virtual account. The platform generates a unique NUBAN (10-digit Nigerian bank account number) and links it to your business.What you send:
Field
Type
Required
Description
customer_id
string
Yes
Your internal ID for the customer this account belongs to
account_name
string
Yes
Display name for the account (e.g., customer’s full name or a label like “Escrow - Order 4521”)
currency
string
Yes
Always NGN (Nigerian Naira)
type
string
No
individual or business. Defaults to individual
metadata
object
No
Any key-value pairs you want to store alongside this account (e.g., {"order_id": "ORD-001"})
What you get back:
Field
Description
account_id
Unique ID used to reference this account in future API calls
account_number
10-digit NUBAN — the number your customer gives to senders
PATCH /v1/accounts/{account_id}Temporarily prevent an account from sending or receiving funds. Useful for fraud holds or compliance reviews.What you send:
Field
Type
Required
Description
status
string
Yes
frozen to freeze, active to unfreeze
reason
string
No
Internal reason for the status change (stored in audit log)
DELETE /v1/accounts/{account_id}Permanently closes a virtual account. This action cannot be undone. Any remaining balance must be swept out before closing.
Closing an account is permanent. The NUBAN number is decommissioned and cannot be reactivated. Ensure the balance is zero before calling this endpoint.