Account Issuing API

Dedicated accounts, on demand

One API call creates a real bank account per customer. When they transfer to it, the payment arrives already attached to them. No narration to read, no amount to match.

  • Instant issuance
  • Real bank accounts
  • Sandbox to test

Free to start · No monthly fee · Pay per account

API

POST /v1/accounts

Request

POST /v1/accounts

{

"customer_id": "cus_4k9f2",

"currency": "NGN",

"label": "Trade Account"

}

Response

{

"status": "success",

"data": {

"account_number": "3018765432",

"bank_name": "Wema Bank",

"account_name": "Niimbu/Customer",

"status": "active"

}

}

Virtual account · Dedicated number · Instant

200 OK · 120ms

Why it matters

Reconciliation should not be a person's job

When all customers share one account, someone has to read every transfer narration to figure out who sent what. Dedicated accounts make the number itself the identifier.

One account per customer

Each customer gets their own account number. When they transfer to it, the payment arrives already attached to them. There is no narration to read, no amount to match and no manual reconciliation.

Instant issuance

An API call creates the account. The number is returned in the response and active within seconds. No form to fill, no waiting period and no manual approval.

Real-time visibility

Every deposit into a dedicated account fires a webhook immediately. You see the amount, the sender and the reference the moment the money arrives.

How it works

From API call to active account, in four steps

01

Create the account

POST to /v1/accounts with the customer ID, currency and label. The API returns an account number, bank name and account name.

02

Share the number

Give the customer the account number. It is a real bank account that accepts NIP transfers from any bank.

03

Customer deposits

The customer transfers to the dedicated number. The payment settles via NIP, usually within seconds.

04

Webhook fires

A signed payload arrives at your webhook URL with the deposit details, reference and the customer it belongs to.

Settlement

Every deposit arrives already matched

A customer transfers ₦500,000 to their dedicated account. You do not have to ask who sent it, what it was for or which invoice it settles. The account number tells you all three.

  • Payment arrives attached to the customer
  • No manual reconciliation needed
  • Part payments tracked automatically

API

POST /v1/accounts

Request

POST /v1/accounts

{

"customer_id": "cus_4k9f2",

"currency": "NGN",

"label": "Trade Account"

}

Response

{

"status": "success",

"data": {

"account_number": "3018765432",

"bank_name": "Wema Bank",

"account_name": "Niimbu/Customer",

"status": "active"

}

}

Virtual account · Dedicated number · Instant

200 OK · 120ms

Verification

Verify the customer before issuing the account

Before creating a dedicated account, verify the customer's BVN or NIN to confirm their identity. The same API platform handles both, so the flow is one integration.

  • BVN and NIN verification in the same API
  • Name and DOB match before the account is created
  • One integration for verification and issuance
See identity verification

Verification

BVN check

Collect BVN

Match name + DOB

Check phone

Return photo

Account created

Identity verified · Account ready

The difference

What changes when every customer has their own number

The usual way

  • Reading transfer narrations to identify who sent what
  • Manual reconciliation of incoming transfers
  • One bank account shared by all customers
  • Disputes about which payment belongs to which customer
  • End-of-day reconciliation in a spreadsheet

With Niimbu

  • Each customer has their own account number
  • Payment arrives already attached to the customer
  • No narration reading, no amount guessing
  • Part payments tracked against the customer automatically
  • Real-time visibility into every deposit
Everything included

The account issuing detail that real integrations need

No add-on modules and no higher tier. These are part of account issuing from the first API call.

Instant account creation

One API call, account number returned in the response.

Real bank accounts

Accept NIP transfers from any bank in Nigeria.

Customer labels

Each account carries a label you control, visible on statements.

Multi-currency

NGN, USD, GBP and EUR accounts available.

Webhooks

Real-time event delivery for every deposit.

Idempotency keys

Retry safely without creating duplicate accounts.

Account status

Active, frozen or closed, controlled by your API.

Sandbox

Test accounts with test numbers, no real money moved.

Balance queries

Query the balance of any dedicated account in real time.

Operations team reviewing account issuance
The idea behind it

Every customer deserves their own account number, not a shared one with thirty others.

Pricing

Per account, not per deposit

There is no monthly platform fee. You pay per account created. Deposits, balance queries and webhooks cost nothing extra.

  • No monthly platform fee
  • No charge for deposits
  • Sandbox is free
See pricing
Questions

Frequently asked questions

If your question is not here, the Help Centre goes deeper, or you can talk to someone on the team.

How quickly can I create an account?

One API call. The account number is returned in the response and active within seconds. The customer can start receiving transfers immediately.

Is it a real bank account?

Yes. It is a virtual account backed by a real bank (Wema Bank), and it accepts NIP transfers from any commercial bank in Nigeria.

Can I create accounts in multiple currencies?

Yes. The API supports NGN, USD, GBP and EUR. Each account is denominated in the currency you specify.

What happens when money is deposited?

A webhook fires immediately with the deposit details, including the amount, sender, reference and the customer the account belongs to.

Can I freeze or close an account?

Yes. The API supports active, frozen and closed statuses. A frozen account rejects incoming transfers. A closed account is permanently deactivated.

Can I query the balance?

Yes. A GET request to the account endpoint returns the current balance, updated in real time.

What does it cost?

There is no monthly platform fee. You pay per account created, with no charge for deposits or balance queries. The sandbox is free.

The simpler way to scale your business!

Start free and see it working today, or talk to us about pricing for teams and higher volumes.