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

# List all virtual accounts

> List all virtual accounts associated with a user under your organization.



## OpenAPI

````yaml https://production.hifi.com/api/v2/openapi.json get /v2/users/{userId}/virtual-accounts
openapi: 3.0.0
info:
  title: Hifi API
  version: 2.0.0
  description: API documentation for Hifi
servers:
  - url: https://production.hifibridge.com
    description: Production server
  - url: https://sandbox.hifibridge.com
    description: Sandbox server
security:
  - bearerAuth: []
tags:
  - name: Common
    description: Common endpoints
  - name: User
    description: User endpoints
  - name: Kyc
    description: Kyc endpoints
  - name: Wallet
    description: Wallet endpoints
  - name: Account
    description: Account endpoints
  - name: External Account
    description: External Account endpoints for managing beneficiary bank accounts
  - name: Fiat Account
    description: Fiat Account endpoints
  - name: Virtual Account
    description: Virtual Account endpoints
  - name: Onramp
    description: Onramp endpoints
  - name: Offramp
    description: Offramp endpoints
  - name: Orchestration Address
    description: >-
      Orchestration Address endpoints — persistent on-chain wallets that
      automatically off-ramp incoming stablecoin deposits to a USD bank account
  - name: Crypto Transfer
    description: Crypto Transfer endpoints
  - name: Cross-Chain Bridge
    description: Cross-Chain Bridge endpoints
  - name: Token Swap
    description: Token Swap endpoints
  - name: Canton Offers
    description: Canton Offers endpoints
  - name: Transfer Rules
    description: Transfer approval rules and configuration
  - name: Transfer Approvals
    description: Transfer approval workflow and admin actions
  - name: File
    description: File endpoints
  - name: Reporting
    description: Reporting and metrics endpoints
paths:
  /v2/users/{userId}/virtual-accounts:
    get:
      tags:
        - Virtual Account
      summary: List all virtual accounts
      description: >-
        List all virtual accounts associated with a user under your
        organization.
      parameters:
        - $ref: '#/components/parameters/UserIdPathParameter'
        - $ref: '#/components/parameters/VASourceCurrencyParameter'
        - $ref: '#/components/parameters/VADestinationCurrencyParameter'
        - $ref: '#/components/parameters/VADestinationChainParameter'
        - $ref: '#/components/parameters/LimitParameter'
        - $ref: '#/components/parameters/CreatedBeforeParameter'
        - $ref: '#/components/parameters/CreatedAfterParameter'
      responses:
        '200':
          $ref: '#/components/responses/GetAllVirtualAccountsResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
components:
  parameters:
    UserIdPathParameter:
      name: userId
      in: path
      schema:
        type: string
      description: ID of the user
      required: true
    VASourceCurrencyParameter:
      name: sourceCurrency
      in: query
      schema:
        type: string
        enum:
          - usd
      description: Source currency
      required: false
    VADestinationCurrencyParameter:
      name: destinationCurrency
      in: query
      schema:
        type: string
        enum:
          - usdc
          - usdt
      description: Destination currency
      required: false
    VADestinationChainParameter:
      name: destinationChain
      in: query
      schema:
        type: string
        enum:
          - POLYGON
      description: Destination chain
      required: false
    LimitParameter:
      name: limit
      in: query
      schema:
        type: string
        minimum: 1
        maximum: 100
      description: default to 10, maximum to 100
      required: false
    CreatedBeforeParameter:
      name: createdBefore
      in: query
      schema:
        type: string
        format: date
      description: 'ISO format: YYYY-MM-DD'
      required: false
    CreatedAfterParameter:
      name: createdAfter
      in: query
      schema:
        type: string
        format: date
      description: 'ISO format: YYYY-MM-DD'
      required: false
  responses:
    GetAllVirtualAccountsResponse:
      description: Success
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VirtualAccountListObject'
          examples:
            VirtualAccountObjectListExample:
              $ref: '#/components/examples/VirtualAccountObjectListExample'
    UnauthorizedResponse:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    NotFoundResponse:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                  - error
              error:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
    InternalServerErrorResponse:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
  schemas:
    VirtualAccountListObject:
      type: object
      properties:
        count:
          type: integer
          description: Number of virtual accounts.
        data:
          type: array
          items:
            $ref: '#/components/schemas/VirtualAccountObject'
        nextCursor:
          type: string
          description: >-
            The `createdAt` timestamp of the last record in the current page.
            Pass this as `createdBefore` in the next request to retrieve the
            next page of results.
    Unauthorized:
      type: object
      properties:
        code:
          type: integer
          description: Error code
        error:
          type: string
          description: Error type
        errorDetails:
          type: string
          description: Detailed error message
    InternalServerError:
      type: object
      properties:
        code:
          type: integer
          description: Error code
        error:
          type: string
          description: Error type
        errorDetails:
          type: string
          description: Detailed error message
    VirtualAccountObject:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        userId:
          type: string
          format: uuid
        source:
          type: object
          properties:
            paymentRail:
              type: array
              items:
                type: string
            currency:
              type: string
        destination:
          type: object
          properties:
            chain:
              type: string
            currency:
              type: string
            walletAddress:
              type: string
            externalWalletId:
              type: string
        status:
          type: string
          enum:
            - activated
            - deactivated
        microDeposits:
          type: object
          properties:
            count:
              type: integer
            data:
              type: array
              items:
                type: object
                properties:
                  createdAt:
                    type: string
                    format: date-time
                  currency:
                    type: string
                  amount:
                    type: integer
                  sourceBankInfo:
                    $ref: '#/components/schemas/InboundObject'
        depositInstructions:
          type: object
          properties:
            bankName:
              type: string
            bankAddress:
              type: string
            swiftCode:
              type: string
            beneficiary:
              type: object
              properties:
                name:
                  type: string
                address:
                  type: string
            ach:
              type: object
              properties:
                routingNumber:
                  type: string
                accountNumber:
                  type: string
            wire:
              type: object
              properties:
                routingNumber:
                  type: string
                accountNumber:
                  type: string
            rtp:
              type: object
              properties:
                routingNumber:
                  type: string
                accountNumber:
                  type: string
            reference:
              type: string
            depositBy:
              type: string
              format: date-time
            instruction:
              type: string
        settlementRuleId:
          type: string
          format: uuid
    InboundObject:
      type: object
      properties:
        bankName:
          type: string
        senderName:
          type: string
        routingNumber:
          type: string
        accountNumber:
          type: string
        accountType:
          type: string
        fedBatchId:
          type: string
        imad:
          type: string
        omad:
          type: string
        traceNumber:
          type: string
        bankAddress:
          type: string
        description:
          type: string
        paymentRail:
          type: string
          enum:
            - ach
            - wire
            - rtp
  examples:
    VirtualAccountObjectListExample:
      summary: Virtual Account Object List
      value:
        count: 1
        data:
          - id: cfbc005d-8640-57a4-89e1-539c974fa780
            createdAt: '2025-09-27T03:08:11.548Z'
            updatedAt: '2025-09-27T03:08:11.548Z'
            userId: 840c28f2-ea7d-5c3a-9271-b10fd8b6ae6d
            source:
              paymentRail:
                - ach
                - wire
                - rtp
              currency: usd
            destination:
              chain: POLYGON
              currency: usdc
              walletAddress: '0xd102C4130985B7fcB95697616eaf5542c4f98d49'
              externalWalletId: null
            status: activated
            depositInstructions:
              bankName: Bank of NoWhere
              bankAddress: 123 Main St, New York, NY 10001, USA
              beneficiary:
                name: Henry Wu
                address: Example St 1., Apt 123, New York, NY, 10010, US
              ach:
                routingNumber: '028000024'
                accountNumber: '123456789'
              wire:
                routingNumber: '021000021'
                accountNumber: '123456789'
              rtp:
                routingNumber: '021000021'
                accountNumber: '123456789'
              instruction: >-
                Please deposit usd to the bank account provided. Please ensure
                that the beneficiary name matches the account holder name
                provided, or the payment may be rejected.
            settlementRuleId: null
        nextCursor: '2025-09-27T03:08:11.548Z'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````