This endpoint allows you to create a new sub-account under your institution. You can create two types of sub-accounts: institution sub-accounts and customer sub-accounts.
Endpoint:POST /v2/sub-accounts
Request Parameters
Common Parameters (Both Sub-Account Types)
Parameter
Type
Required
Description
classification
enum
✅
Type of sub-account to create: "institution" or "customer".
currency
string
✅
Currency code of the sub-account (ISO 4217, e.g., "USD", "EUR", "NGN", "KES").
client_reference
string
❌
Your custom reference identifier for this sub-account (max length: 64).
settlement_account_id
string (UUID)
❌
ID of the institution's main account to settle into in the same currency. When external deposits to this sub-account, they will be automatically settled into the provided settlement account.
Institution Sub-Account Specific Parameters
Parameter
Type
Required
Description
classification
enum
✅
Must be set to "institution".
identifier
string
✅
A unique identifier for the institution sub-account (max length: 64).
Customer Sub-Account Specific Parameters
Parameter
Type
Required
Description
classification
enum
✅
Must be set to "customer".
customer_id
string (UUID)
✅
Unique identifier of the customer for whom the sub-account is being created.
Requirements for creating sub-accounts vary by currency and customer type.
Nigerian Naira (NGN)
Business Customers
Property
Type
Description
business.incorporation_number
string
Company registration/incorporation number
business.incorporation_date
string
Date of company incorporation (YYYY-MM-DD )
country_data.ng.bvn
string
Bank Verification Number (BVN)
Kenyan Shilling (KES)
Business Customers
Property
Type
Description
business.phone_number
string
Business phone number
email
string
Email address
Individual Customers
Property
Type
Description
individual.phone_number
string
Individual phone number
email
string
Email address
📘
With settlement_account_id specified
The currency of the sub-account must match the currency of the settlement account
All deposit from external sources will be routed and settled to the specified settlement_account_id which must be main account of type VIRTUL_EXTERNAL.
The payment object of deposit will include an on_behalf_of_account_id property that hints at the funds being routed into it from the a sub-account.
Use this option if you want to manage a single pool main account with sub-accounts acting as different routes to deposit funds through
🚧
Note
PENDING_DEPOSIT_ADDRESS occurs when we cannot generate details instantly (e.g., due to bank service failures) and will transition to ACTIVE when complete.
Notes
Institution sub-accounts are useful for segregating funds for different departments or purposes within your organization.