For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create Virtual Account

Create a dedicated virtual bank account for receiving fiat deposits.

Creates a permanent virtual bank account that can receive fiat deposits. Deposits are automatically settled into crypto.

Endpoint

POST /v1/virtual-accounts

Authentication

API key only (JWT not accepted). This route uses the API-key guard exclusively.

Header
Value

Authorization

<api_key>

Request body

Field
Type
Required
Description

email

string

Yes

Customer's email address

identityType

string

Yes

Identity verification type: bvn, nin, or cac

identityNumber

string

Yes

Identity number corresponding to the identity type

currency

string

Yes

Fiat currency for the account. See Supported Currencies

Example request

curl -X POST https://ramp-api.ivorypay.io/api/v1/virtual-accounts \
  -H "Authorization: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "merchant-user@example.com",
    "identityType": "bvn",
    "identityNumber": "22222222222",
    "currency": "NGN"
  }'
const response = await fetch("https://ramp-api.ivorypay.io/api/v1/virtual-accounts", {
  method: "POST",
  headers: {
    "Authorization": "your_api_key",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    email: "merchant-user@example.com",
    identityType: "bvn",
    identityNumber: "22222222222",
    currency: "NGN",
  }),
});

const data = await response.json();
console.log(data);

Example response

Response fields

Field
Type
Description

id

string

Virtual account UUID (local record)

businessId

string

Owning business UUID

customerIdentifier

string

Customer UUID linked to the VA

email

string

Customer email supplied at creation

customerName

string

Customer's full name (derived from firstName + lastName)

identityType

string

bvn, nin, or cac

identityNumber

string

Identity number supplied at creation

accountNumber

string

The virtual account number — share this with your user

accountName

string

Account name displayed to senders

bankCode

string

Bank code of the virtual account provider

bankName

string

Bank name

currency

string

Fiat currency

processor

string

Underlying payment processor identifier

status

string

BasicStatus enum — ACTIVE or INACTIVE

context

string

Environment (TEST or LIVE)

createdAt

string

ISO 8601 creation timestamp

updatedAt

string

ISO 8601 last-update timestamp

Identity types

Type
Description
Example

bvn

Bank Verification Number (Nigeria)

11-digit number

nin

National Identification Number (Nigeria)

11-digit number

cac

Corporate Affairs Commission (Nigeria, businesses)

Registration number

Last updated