# Virtual & Dynamic Account

## Create Individual Account

<mark style="color:green;">`POST`</mark> `{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet/individual/create`

<details>

<summary>Sample Request &#x26; Fields Details</summary>

```json
{
    "first_name": "Emeka",
    "last_name": "Okoro",
    "dob": "1979-08-12",
    "address": "75464 Lowell Lane",
    "gender": "Male", // Female
    "phone": "0911831****",
    "email": "emek*****@yopmail.com",
    "bvn": "280303*****"
}
```

<table><thead><tr><th width="226.5234375">Name</th><th width="117.24609375">Type</th><th>Description</th></tr></thead><tbody><tr><td>first_name</td><td>string</td><td>First name of the customer's account</td></tr><tr><td>last_name</td><td>string</td><td>Last name of the customer's account</td></tr><tr><td>dob</td><td>Date</td><td>Date of birth formatted in (yyyy-dd-mm)</td></tr><tr><td>address</td><td>string</td><td>Address of the customer's account</td></tr><tr><td>gender</td><td>number</td><td>Customer's gender (Male or Female)</td></tr><tr><td>phone</td><td>string</td><td>Customer's phone no</td></tr><tr><td>email</td><td>string</td><td>Customer's email address</td></tr><tr><td>bvn</td><td>string</td><td>Customer's valid BVN</td></tr></tbody></table>

</details>

<details>

<summary>Response</summary>

Ok (200)

```json
{
    "message": "Account created successfully",
    "status": true,
    "status_code": 200,
    "data": {
        "account_name": "Paelyt - Emeka Okoro",
        "account_number": "001261****"
    }
}
```

Bad Request (409)

```json
{
    "message": "An account already exists for this customer.",
    "status": false,
    "status_code": 409
}
```

</details>

## Create Corporate Account

<mark style="color:green;">`POST`</mark> `{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet/corporate/create`

<details>

<summary>Sample Request &#x26; Fields Details</summary>

```json
{
    "rc_number": "7445**",
    "business_name": "Schoen, Beier and Predovic",
    "incorporation_date": "1979-08-12",
    "address": "7199 Emilio Islands",
    "phone": "0911831****",
    "email": "emek*****@yopmail.com",
    "bvn": "280303*****"
}
```

<table><thead><tr><th width="226.5234375">Name</th><th width="117.24609375">Type</th><th>Description</th></tr></thead><tbody><tr><td>rc_number</td><td>string</td><td>Business registration number (CAC)</td></tr><tr><td>business_name</td><td>string</td><td>Business registered name</td></tr><tr><td>incorporation_date</td><td>string</td><td>Business date of incorporation</td></tr><tr><td>address</td><td>string</td><td>Address of the customer's account</td></tr><tr><td>phone</td><td>number</td><td>Customer's phone no</td></tr><tr><td>email</td><td>string</td><td>Customer's email address</td></tr><tr><td>bvn</td><td>string</td><td>Customer's valid BVN</td></tr></tbody></table>

</details>

<details>

<summary>Response</summary>

Ok (200)

```json
{
    "message": "Account created successfully",
    "status": true,
    "status_code": 200,
    "data": {
        "account_name": "Paelyt - Emeka Okoro",
        "account_number": "001261****"
    }
}
```

Bad Request (409)

```json
{
    "message": "An account already exists for this customer.",
    "status": false,
    "status_code": 400
}
```

</details>

## Generate Dynamic Account

<mark style="color:green;">`POST`</mark> `{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet/dynamic/generate`

<details>

<summary>Sample Request &#x26; Fields Details</summary>

```json
{
    "account_name": "Adrace",
    "transaction_ref": "Advancly-1827hdbdhb7273881bdbj",
    "transaction_amount": 11000,
    "duration": 30
}
```

<table><thead><tr><th width="226.5234375">Name</th><th width="117.24609375">Type</th><th>Description</th></tr></thead><tbody><tr><td>account_name</td><td>string *</td><td>The account of the dynamic account</td></tr><tr><td>transaction_ref</td><td>string*</td><td>The unique ref number of the transaction</td></tr><tr><td>transaction_amount</td><td>number</td><td>The transaction amount that being expected into the account.<br>This is optional</td></tr><tr><td>duration</td><td>number *</td><td>The duration for which the account will be valid for (Min 15min) and (Max 30min)</td></tr></tbody></table>

</details>

<details>

<summary>Response</summary>

Ok (200)

```json
{
    "data": {
        "account_name": "Waakae - Sosanya",
        "account_number": "0041301167",
        "duration": 15,
        "expiry_datetime": "2026-03-30T08:25:44.204664Z"
    },
    "message": "Dynamic account generated successfully.",
    "status": true,
    "status_code": 201
}
```

Bad Request (409)

```json
{
    "message": "Duration should be between 15 - 30 min before expiry.",
    "status": false,
    "status_code": 400
}
```

</details>

## Account Details

<mark style="color:blue;">`GET`</mark> `{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet?account_number=001261****`

| Name            | Type   | Description            |
| --------------- | ------ | ---------------------- |
| account\_number | string | virtual account number |

<details>

<summary>Response</summary>

Ok (200)

```json
{
    "data": [
        {
            "accountName": "Paelyt - Emeka Okoro",
            "accountNumber": "001261****",
            "globalAccountNumber": "9038299384-5",
            "accountBalance": 7895876.53,
            "availableBalance": 7895876.53
        }
    ],
    "message": "Success",
    "status": true,
    "status_code": 200
}
```

Bad Request (400)

```json
{
    "message": "Invalid account, kindly check account number.",
    "status": false,
    "status_code": 400
}
```

</details>

## Financial Institutions

<mark style="color:blue;">`GET`</mark> `{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet/financial_institutions`

<details>

<summary>Response</summary>

```json
{
    "message": "Success",
    "status": true,
    "status_code": 200,
    "data": [
        {
            "bank_code": "999461",
            "bank_name": "Advancly MFB",
            "png_logo_url": null,
            "svg_logo_url": null
        },
        {
            "bank_code": "120001",
            "bank_name": "9 payment service Bank",
            "png_logo_url": null,
            "svg_logo_url": null
        },
        {
            "bank_code": "090270",
            "bank_name": "AB MICROFINANCE BANK",
            "png_logo_url": null,
            "svg_logo_url": null
        },
        {
            "bank_code": "070010",
            "bank_name": "ABBEY MORTGAGE BANK",
            "png_logo_url": "",
            "svg_logo_url": ""
        },
        {
            "bank_code": "090260",
            "bank_name": "ABOVE ONLY MICROFINANCE BANK",
            "png_logo_url": "",
            "svg_logo_url": ""
        },
        {
            "bank_code": "090197",
            "bank_name": "ABU MICROFINANCE BANK",
            "png_logo_url": null,
            "svg_logo_url": null
        }
    ]
}
```

</details>

## Name Enquiry

<mark style="color:blue;">`GET`</mark>` ``{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet/name_enquiry?account_number=9038299384&bank_code=999461`

#### Query Parameters

| Name            | Type   | Description         |
| --------------- | ------ | ------------------- |
| account\_number | string | bank account number |
| bank\_code      | string | nibss bank code     |

<details>

<summary>Response</summary>

```json
{
    "data": {
        "account_number": "9038299384",
        "account_name": "OLUWADAMILOLA OGUNLUSI",
        "kyc_tier": "3"
    },
    "message": "Success",
    "status": true,
    "status_code": 200
}
```

</details>

## Transfer

<mark style="color:green;">`POST`</mark> `{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet/transfer`

<details>

<summary>Sample Request &#x26; Fields Details</summary>

```json
{
    "sender_account_number": "9038299384",
    "recipient_account_number": "7037662603",
    "recipient_account_name": "PAUL IKHIDE",
    "recipient_bank_code": "999461",
    "amount": 1200,
    "narration": "Glorious test battle",
    "reference": "Advancly-HAUUSIKSNJWUWJSN61728829289"
}
```

<table><thead><tr><th width="226.5234375">Name</th><th width="117.24609375">Type</th><th>Description</th></tr></thead><tbody><tr><td>sender_account_number</td><td>string</td><td>account number of the transfer initiator</td></tr><tr><td>recipient_account_number</td><td>string</td><td>account number of the transfer recipient</td></tr><tr><td>recipient_account_name</td><td>string</td><td>bank account name retrieved from a name inquiry</td></tr><tr><td>recipient_bank_code</td><td>string</td><td>NIBSS bank code of the receiving bank</td></tr><tr><td>amount</td><td>number</td><td>transfer amount</td></tr><tr><td>narration</td><td>string</td><td>transfer narration</td></tr><tr><td>reference</td><td>string</td><td>transaction reference, e.g., (Advancly-J178IND172891JAHSEE)</td></tr></tbody></table>

</details>

<details>

<summary>Response</summary>

Ok (200)

```json
{
    "response_code": "00",
    "message": "Successful",
    "status": true,
    "status_code": 200,
    "data": {
        "currency": "NGN",
        "sender_account_name": "OLUWADAMILOLA OGUNLUSI",
        "sender_account_number": "9038299384",
        "sender_bank_code": "999461",
        "sender_bank_name": "Advancly MFB",
        "recipient_account_name": "PAUL IKHIDE",
        "recipient_account_number": "7037662603",
        "recipient_bank_code": "999461",
        "recipient_bank_name": "Advancly MFB",
        "transaction_id": "0",
        "transaction_reference": "Advancly-HAUUSIKSNJWUWJSN61728829289",
        "session_id": null,
        "narration": "Glorious test battle",
        "transaction_status": "Completed",
        "amount": 1200,
        "transaction_charge": 0,
        "transaction_message": "Success",
        "transaction_date": "2025-03-29T23:12:41.646117+01:00"
    }
}
```

Bad Request (400)

```json
{
    "response_code": "99",
    "message": "Transfer limit exceeded the configured limit of 1000000.",
    "status": false,
    "status_code": 400
}
```

```json
{
    "response_code": "A102",
    "message": "Duplicate Reference",
    "status": false,
    "status_code": 400
}
```

</details>

## TSQ

<mark style="color:blue;">`GET`</mark> `{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet/transaction/{transactionReference}`

<details>

<summary>Response</summary>

Ok (200)

```json
{
    "data": {
        "id": 6,
        "externalReferenceNumber": "Advancly-HAUUSIKSNJWUWJSN617288292814",
        "sessionId": null,
        "senderAccountName": "OLUWADAMILOLA OGUNLUSI",
        "senderAccountNumber": "9038299384",
        "senderBankCode": "999461",
        "senderBankName": "Advancly MFB",
        "recipientAccountName": "PAUL IKHIDE",
        "recipientAccountNumber": "7037662603",
        "recipientBankCode": "999461",
        "recipientBankName": "Advancly MFB",
        "amount": 1200.00,
        "feeCharge": 0.00,
        "narration": "Glorious test battle/Advancly-HAUUSIKSNJWUWJSN617288292814",
        "transactionStatus": "Completed", // Completed, Failed, Processing
        "transactionType": "Outward",
        "responseCode": "00",
        "responseMessage": "Success",
        "channelCode": 9,
        "transactionDate": "2025-04-09T14:59:08.992077",
        "createdDateTime": "2025-04-09T14:59:15.162074"
    },
    "message": "Success",
    "status": true,
    "status_code": 200
}
```

Bad Request (404)

```json
{
    "message": "Record not found",
    "status": false,
    "status_code": 404
}
```

</details>

## Transactions

<mark style="color:blue;">`GET`</mark>` ``{{`<mark style="color:red;">`baseUrl`</mark>`}}/api/v2/client/wallet/transactions?account_number=9038299384&start_date=2025-03-15&end_date=2025-03-21&page=1&page_size=10`

#### Query Parameters

| Name            | Type              | Description                   |
| --------------- | ----------------- | ----------------------------- |
| account\_number | string            | account no                    |
| start\_date     | date (yyyy-mm-dd) | start date of the transaction |
| end\_date       | date (yyyy-mm-dd) | end date of the transaction   |
| page            | number            | page number (default 1)       |
| page\_size      | number            | page size number (default 10) |

<details>

<summary>Response</summary>

Ok (200)

```json
{
    "page": 1,
    "pageSize": 10,
    "totalCount": 31,
    "totalPages": 4,
    "message": "Success",
    "status": true,
    "status_code": 200,
    "data": [
        {
            "accountNumber": "9038299384",
            "transactionAmount": 980.000000,
            "balance": 8972888.531765,
            "transactionDate": "2025-03-19T00:00:00",
            "createdDate": "2025-03-19T08:12:33.956629",
            "transactionType": "DEBIT",
            "narration": "Glorious test battle",
            "clientId": 31,
            "currencyCode": "NGN",
            "senderDetails": {
                "name": "OLUWADAMILOLA OGUNLUSI",
                "bankName": "Advancly MFB",
                "accountNumber": "9038299384"
            },
            "receiverDetails": {
                "name": "PAUL IKHIDE",
                "bankName": "Advancly MFB",
                "accountNumber": "7037662603"
            },
            "sessionId": null
        },
        {
            "accountNumber": "9038299384",
            "transactionAmount": 1200.000000,
            "balance": 8971688.531765,
            "transactionDate": "2025-03-19T00:00:00",
            "createdDate": "2025-03-19T08:14:28.131603",
            "transactionType": "DEBIT",
            "narration": "Glorious test battle",
            "clientId": 31,
            "currencyCode": "NGN",
            "senderDetails": {
                "name": "OLUWADAMILOLA OGUNLUSI",
                "bankName": "Advancly MFB",
                "accountNumber": "9038299384"
            },
            "receiverDetails": {
                "name": "PAUL IKHIDE",
                "bankName": "Advancly MFB",
                "accountNumber": "7037662603"
            },
            "sessionId": null
        },
        {
            "accountNumber": "9038299384",
            "transactionAmount": 580.000000,
            "balance": 8971108.531765,
            "transactionDate": "2025-03-19T00:00:00",
            "createdDate": "2025-03-19T08:17:50.657354",
            "transactionType": "DEBIT",
            "narration": "Glorious test battle",
            "clientId": 31,
            "currencyCode": "NGN",
            "senderDetails": {
                "name": "OLUWADAMILOLA OGUNLUSI",
                "bankName": "Advancly MFB",
                "accountNumber": "9038299384"
            },
            "receiverDetails": {
                "name": "PAUL IKHIDE",
                "bankName": "Advancly MFB",
                "accountNumber": "7037662603"
            },
            "sessionId": null
        }
    ]
}
```

</details>

***

<details>

<summary><strong>Transaction Response Codes</strong></summary>

<table><thead><tr><th width="98.11328125">Code</th><th width="394.1328125">Description</th><th>Category</th></tr></thead><tbody><tr><td>00</td><td>Approved or Completed Successfully</td><td>Successful</td></tr><tr><td>06</td><td>Dormant Account</td><td>Failed</td></tr><tr><td>07</td><td>Invalid Account</td><td>Failed</td></tr><tr><td>13</td><td>Invalid Amount</td><td>Failed</td></tr><tr><td>26</td><td>Duplicate Record</td><td>Failed</td></tr><tr><td>51</td><td>Insufficient Funds</td><td>Failed</td></tr><tr><td>61</td><td>Transfer Limit Exceeded</td><td>Failed</td></tr><tr><td>99</td><td>Transaction Failed</td><td>Failed</td></tr><tr><td>A100</td><td>Transfer to The Same Account</td><td>Failed</td></tr><tr><td>A101</td><td>Insufficient Bbalance</td><td>Failed</td></tr><tr><td>A102</td><td>Duplicate Reference</td><td>Failed</td></tr><tr><td>A500</td><td>Internal Server Error</td><td>Failed</td></tr></tbody></table>

</details>

<details>

<summary><strong>Interbank Test Accounts (Dev)</strong></summary>

<table><thead><tr><th>Bank Code</th><th>Account No</th><th>Account Name</th><th width="111.75">KYC Level</th><th>BVN</th></tr></thead><tbody><tr><td>000014</td><td>9986840979</td><td>Waller Livingston</td><td>1</td><td>537595960283</td></tr><tr><td>000014</td><td>1471023622</td><td>Moon Sanchez</td><td>3</td><td>660477154602</td></tr><tr><td>000016</td><td>3811637086</td><td>Earline Mills</td><td>3</td><td>853119474502</td></tr><tr><td>000014</td><td>2359862016</td><td>Hart Snider</td><td>3</td><td>547014819401</td></tr><tr><td>000016</td><td>9914872061</td><td>Durham Reese</td><td>2</td><td>908631517477</td></tr><tr><td>000001</td><td>1091016606</td><td>Kari Sargent</td><td>3</td><td>115427203295</td></tr><tr><td>000014</td><td>9389590545</td><td>Ola Murphy</td><td>3</td><td>312583939236</td></tr><tr><td>000015</td><td>1830956253</td><td>Rojas Adams</td><td>3</td><td>429149041264</td></tr><tr><td>000015</td><td>5942277535</td><td>Melva Mueller</td><td>1</td><td>950918423663</td></tr><tr><td>000013</td><td>9728072421</td><td>Felecia Lester</td><td>1</td><td>506874908045</td></tr></tbody></table>

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.advancly.com/virtual-and-dynamic-account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
