> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rolla.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate Static Virtual Account

> Generates a permanent static NGN virtual account for your business. Only one static virtual account can exist — this will return an error if one already exists.

Generate a permanent static NGN virtual account for your business. Unlike dynamic accounts, static accounts don't expire and are intended for regular incoming payments.

## Example Request

```bash theme={null}
curl -X POST "https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/generate/static" \
  -H "X-API-Key: your_api_key_here"
```

## Request Body

No request body required.

## Example Response

```json theme={null}
{
  "status": 201,
  "success": true,
  "message": "Static virtual account generated successfully",
  "data": {
    "virtualAccount": {
      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "status": "active",
      "virtual_account_type": "static",
      "currency_type": "fiat",
      "bank_name": "VFD MFB",
      "account_number": "0987654321",
      "account_name": "Rolla / Your Business Name"
    }
  }
}
```

<Warning>
  Only one static virtual account can exist per business. This endpoint will return an error if one already exists. Use the [Get Virtual Accounts](/api-reference/endpoint/wallet/virtual-accounts) endpoint to check first.
</Warning>

<Note>
  Your business KYB must be approved before a static virtual account can be generated. Account details are automatically derived from your KYB application.
</Note>


## OpenAPI

````yaml POST /wallet/virtual-accounts/generate/static
openapi: 3.1.0
info:
  title: Rolla Developer API
  description: >-
    API for programmatic transaction management on the Rolla platform. Monetary
    `amount` fields use the smallest unit of the referenced currency unless an
    endpoint says otherwise (e.g. NGN = kobo, USD = cents, where **100 cents =
    USD 1.00**).
  version: 1.0.0
servers:
  - url: https://api.rolla.xyz/api/v1/external
    description: Production server
security:
  - apiKeyAuth: []
paths:
  /wallet/virtual-accounts/generate/static:
    post:
      summary: Generate Static Virtual Account
      description: >-
        Generates a permanent static NGN virtual account for your business. Only
        one static virtual account can exist — this will return an error if one
        already exists.
      operationId: generateStaticVirtualAccount
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties: {}
      responses:
        '201':
          description: Static virtual account generated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    example: 201
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Static virtual account generated successfully
                  virtualAccount:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      status:
                        type: string
                        example: active
                      virtual_account_type:
                        type: string
                        example: static
                      currency_type:
                        type: string
                        example: fiat
                      bank_name:
                        type: string
                        example: VFD MFB
                      account_number:
                        type: string
                        example: '1234567890'
                      account_name:
                        type: string
                        example: Rolla / Your Business Name
        '400':
          description: Bad request or account already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Rolla API key

````