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

# List virtual accounts

> List the virtual accounts for a wallet.

Every virtual account the wallet holds, with the banking details to show the
user. One account per currency.


## OpenAPI

````yaml api/openapi.json GET /v1/virtual-accounts
openapi: 3.1.0
info:
  description: Fiat-to-USDC onramp API. The URL prefix (`/v1`) is the version contract.
  license:
    identifier: LicenseRef-Proprietary
    name: Proprietary
  title: Calm API
  version: v1
servers:
  - description: Production
    url: https://api.calmtreasury.xyz
  - description: Sandbox
    url: https://api.sandbox.calmtreasury.xyz
security: []
paths:
  /v1/virtual-accounts:
    get:
      summary: List virtual accounts
      description: >-
        Returns the wallet's virtual accounts, each with the bank-side deposit
        instructions the user needs to send fiat. A wallet can hold more than
        one account per `(currency, chain)` when the payout token differs;
        `destination_token` is what tells them apart, and the bank details are
        not interchangeable between them.
      operationId: listVirtualAccounts
      parameters:
        - in: query
          name: wallet
          required: true
          schema:
            pattern: ^0x[a-fA-F0-9]{40}$
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  count:
                    maximum: 9007199254740991
                    minimum: -9007199254740991
                    type: integer
                  data:
                    items:
                      properties:
                        chain:
                          description: >-
                            Chain id. Currently 1, 8453, 999, 1337, 4326, 143,
                            137, 42161 — additive; tolerate unknown values.
                          maximum: 9007199254740991
                          minimum: -9007199254740991
                          type: integer
                        currency:
                          enum:
                            - USD
                            - GBP
                            - EUR
                          type: string
                        destination_token:
                          description: >-
                            Payout token this account delivers, spelled as
                            `destination_token` is on create (`USDC`, `USDm`,
                            `AUSD`, `USDC.e`). Additive — tolerate unknown
                            values.
                          type: string
                        id:
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          type: string
                        source_deposit_instructions:
                          additionalProperties:
                            anyOf:
                              - type: string
                              - items:
                                  type: string
                                type: array
                          description: >-
                            Bank transfer details to show the depositor. Keys
                            vary by currency — USD: `bank_name`,
                            `bank_account_number`, `bank_routing_number`,
                            `bank_address`, `bank_beneficiary_name`,
                            `bank_beneficiary_address`; GBP: `account_number`,
                            `sort_code`, `account_holder_name`; EUR: `iban`,
                            `bic`, `account_holder_name`. Every account also
                            carries `currency` and `payment_rails` (`ach_push`,
                            `faster_payments`, `sepa`). Additive — tolerate
                            unknown keys. Fields still provisioning on the bank
                            side are omitted rather than sent blank.
                          propertyNames:
                            type: string
                          type: object
                      required:
                        - id
                        - currency
                        - chain
                        - destination_token
                        - source_deposit_instructions
                      type: object
                    type: array
                required:
                  - data
                  - count
                type: object
          description: The wallet's virtual accounts.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: >-
            Bad Request — `error.code` includes: publishable_key_missing,
            validation_error.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 'Unauthorized — `error.code` includes: invalid_publishable_key.'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 'Forbidden — `error.code` includes: origin_not_allowed.'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 'Not Found — `error.code` includes: customer_not_registered.'
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: 'Too Many Requests — `error.code` includes: rate_limited.'
      security:
        - publishableKey: []
components:
  schemas:
    Error:
      properties:
        error:
          properties:
            code:
              type: string
            message:
              type: string
          required:
            - code
            - message
          type: object
      required:
        - error
      type: object
  securitySchemes:
    publishableKey:
      description: Publishable key identifying the calling app.
      in: header
      name: x-calm-publishable-key
      type: apiKey

````