NGN for Naira virtual-account flows and USD for the Lead Bank-backed collection flow.
Supported partners
The currently supported account-issuing partners are:- Teerus Microfinance Bank for permanent (
DEFAULT) NGN collection accounts - VFD Microfinance Bank for dynamic (
ONE_TIME) NGN collection accounts - Lead Bank for USD collection accounts
Create Virtual Account
To create a virtual account, use the create collection endpoint. Parametersstring
The unique identifier for the customer who will own the collection account.
string
required
The three-letter ISO currency code in uppercase. Use
NGN for Naira accounts and USD for USD collection accounts.string
merchant name that will be displayed on the virtual account. Required for ONE_TIME (Temporary) virtual account.
string
required
virtual account type e.g DEFAULT (Permanent), ONE_TIME (Temporary)
Permanent NGN accounts created with
DEFAULT are issued through Teerus Microfinance Bank. Dynamic NGN accounts created with ONE_TIME are issued through VFD Microfinance Bank.number
amount expected to be paid into the virtual account. Required for ONE_TIME (Temporary) virtual account.
object
Required when
currency is USD. This contains the customer’s source-of-funds answers, government document, and supporting-document details. Country, residential address, date of birth, phone number, and country-specific identifier are taken from the customer’s approved KYC profile.Note:
customer_id is required for DEFAULT permanent virtual accounts.Request Body
USD collection accounts
USD collection accounts are issued through Swervpay’s Lead Bank-backed collection flow. Before creating a USD collection account, create the customer and submit customer KYC. Then create aDEFAULT collection with currency set to USD and include the required additional_information payload.
Swerv uses the customer’s approved KYC profile as the source of truth for country, residential address, date of birth, phone number, and bank or national identifier. Review country availability before issuing in a new market.
USD account issuance can be asynchronous. If the customer is already approved, the account details may be available shortly after creation. If additional review is required, listen for the collection.created or collection.created.failed webhook event.
USD Request Body
🔍 Get Collection Details
Retrieve detailed information about a collection with its unique identifier using the get collection endpoint. Path Parametersstring
required
The unique identifier of the collection to retrieve.
🔍 Get All Collections
Retrieve a list of all collections by sending a request to the get all collections endpoint. Query Parametersinteger
The page to return.
integer
The maximum number of results to return.
Response
🧾 Get Collection Transactions
Review payments received into a collection account with the collection transactions endpoint.string
required
The unique identifier of the collection whose transactions you want to retrieve.
🧪 Simulate a Collection Credit
In sandbox only, simulate an incoming credit with the collection credit endpoint. Use this to test collection webhooks and reconciliation flows without moving real funds.string
required
The unique identifier of the collection to credit.