Create Fixed Account

Learn how to create an account

What this means

When you create an account for a customer, it means that your customer now owns a bank account with Banc Corp Microfinance Bank and this account is subject to any and all CBN rules and regulations that apply to financial institutions with banking licences.

However, it also means that you as an organization are the custodian and admin/manager of these accounts. Instead of interacting directly with the customer, we interact with you. Read our Terms of Service to learn more.

Getting started

Creating a Fixed Account is very easy. It can be done in just one step by calling the "Create Fixed Account" endpoint.

curl --request POST \
     --url \
     --header 'accept: application/json' \
     --header 'authorization: Bearer sk_live_64520e0201478f5cd412865f64520e0201478f5cd4128660' \
     --header 'content-type: application/json' \
     --data '
  "customer_id": "64105f5d7f1b4b36103f870e",
  "preferred_bank": "Wema",
  "alias": "car"
customer_idYesThis is the unique id of the customer you want to create an account for. {{CustomerID}} should be replaced with the actual id.
preferred_bankYesThis is the preferred bank account you want to create and issue to your customer. The available values are "Banc Corp" or "Wema".
aliasNoThis is for adding extra customization to the Account Holder's name. This is optional.


Important to Note:

To create and issue Wema Bank account number, you must pass "preferred_bank": "Wema" alongside the rest of your parameters.

About "alias"

Alias is a feature that allows you to add custom suffixes to the account holder's name. By default, the account holder's name is the customer's name, as registered in your Bloc workspace.

Since you can create multiple accounts for the same customer, Alias allows customers to add more information to identify the created accounts separately.

For example, if Tunde Oluwayomi is a customer and you want to create an account for his car expenses, you could pass the request below and his account name will be Tunde Oluwayomi - Car.

  "customer_id": "hf19020138sh1219s9h911201",
  "alias": "Car";


Helpful Tip:

The value of the alias attribute is case-sensitive. This means that "car" will be "Tunde Oluwayomi - car" instead.

What next?

If the "customer_id" exists, here is what a successful response looks like:

  "success": true,
  "data": {
    "id": "64105fdd7f1b4b36103f870f",
    "name": "mas erati - car",
    "bvn": "22303240817",
    "kyc_tier": "0",
    "created_at": "2023-03-14T11:51:57.019276697Z",
    "updated_at": "2023-03-14T11:51:57.019276779Z",
    "deleted_at": "0001-01-01T00:00:00Z",
    "status": "Open",
    "environment": "test",
    "organization_id": "640b045929eb9cf45bc720c9",
    "balance": 0,
    "currency": "NGN",
    "frequency": 0,
    "frequency_count": 0,
    "meta_data": {},
    "customer_id": "64105f5d7f1b4b36103f870e",
    "customer": {
      "id": "64105f5d7f1b4b36103f870e",
      "full_name": "erati mas",
      "phone_number": "08044226688",
      "organization_id": "640b045929eb9cf45bc720c9",
      "environment": "test",
      "email": "[email protected]",
      "country": "",
      "group": "main",
      "status": "active",
      "created_at": "2023-03-14T11:49:49.839Z",
      "updated_at": "0001-01-01T00:00:00Z",
      "SyncData": {
        "ID": null,
        "Provider": ""
      "first_name": "mas",
      "last_name": "erati",
      "kyc_tier": "0",
      "bvn": "22303240817",
      "date_of_birth": "0001-01-01T00:00:00Z",
      "customer_type": "Personal",
      "source": "Banking",
      "address": {}
    "account_number": "2011713547",
    "bank_name": "Banc Corp",
    "type": "Virtual",
    "collection_account": false,
    "hide_account": false,
    "SkipNumber": false,
    "external_account": {},
    "alias": "car"
  "message": "account created"
successbooleanLets you know that the API request was successful
dataobjectContains all of the attributes owned by the virtual account you've just created.
idstringThe unique id of the account created
namestringThe full name of the account holder
bvnstringThe BVN of the account holder
kyc_tierstringThe KYC tier of the account holder. This is inherited from the KYC tier of the customer it was issued to. KYC is done on a customer, not the account. To increase the KYC tier of an account, you'll need to increase the KYC tier of the customer it is assigned to.
created_atstringWhen the account was created
updated_atstringThe last time any information in the account was updated
statusstringThe status of the account. It could be frozen, active or closed.
environmentstringThe environment the account was created in.
organization_idstringThe unique id of the organization that created the account
balanceintegerThe total amount being held by the account. Please note that all amounts are shown in kobo.
currencystringThe currency of the account
meta_dataobjectYou can include extra information from your application here.
customer_idstringThis is the unique id of the customer the account was issued to
customerobjectContains all of the attributes owned by the account holder of the account
idstringUnique id of the customer
full_namestringFull name of the customer
environmentstringThe environment the customer was created in
emailstringThe email address of the customer
countrystringThe country of the customer
statusstringThe status of the customer. It could be active, archived, inactive.
first_namestringFirst name of the customer
last_namestringLast name of the customer
kyc_tierstringThe KYC tier of the customer
bvnstringThe BVN of the customer
date_of_birthstringDate of birth of the customer
customer_typestringType of the customer. We only support "individuals" at the moment.
sourcestringHow the customer was added. Learn more
addressobjectContains the address details of the customer/account holder
statestringState of residence of the customer
citystringCity of residence of the customer
streetstringResidential street address of the customer
account_numberstringThe unique NUBAN (account number) of the customer/account
bank_namestringThe bank name of the account being issued.
typestringThe type of account. Our individual virtual accounts are mostly "savings" accounts.
collection_accountbooleanWhether it is a collection account or not.
aliasstringThe suffix of the account
messagestringSummarizes the API response for your application.

Things to Note

  • Depending on the KYC tier of the account holder, the virtual account created will be subjected to limits. To learn more, read: Introduction to KYC.
  • If a virtual account goes beyond its limits, it'll be automatically frozen. You'll be contacted for more investigation and to help resolve the issue with your customer.
  • All amounts (in requests and responses) are passed in kobo. When reading a response, always divide the amount by 100 to change it into Naira. For example, NGN 100 is passed as {"amount": 10000}.