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

# Get Virtual Account Details

> Retrieve the full record for a single virtual account, including the deposit instructions the customer funds the account with and the crypto destination the deposits settle to.



## OpenAPI

````yaml GET /v3/customers/{customer_id}/virtual-accounts/{va_id}
openapi: 3.1.0
info:
  title: Fin.com API
  version: 1.0.0
  description: >-
    A simple API specification for Fin.com, a financial services platform that
    provides a range of banking and payment solutions for businesses and
    individuals. This API allows developers to integrate Fin.com's services into
    their applications, enabling functionalities such as customer management,
    transaction processing, and access to financial data.
servers:
  - url: https://sandbox.api.fin.com
    description: Sandbox server
  - url: https://api.fin.com
    description: Production server
security: []
tags:
  - name: Authentication
    description: A modified OAuth 2.0 Client Credential Flow
  - name: Customers
    description: Customer management and document upload operations
  - name: Balances
    description: Retrieve wallet balance information
  - name: Catalogue
    description: |
      A set of endpoints to retrieve contextual data to assemble requests
      to fin.com's API
  - name: Beneficiaries
    description: Manage beneficiary accounts for payments and transfers
  - name: Transactions
    description: Transaction history and management for beneficiaries
  - name: Virtual Accounts
    description: Create and manage virtual accounts for USD to USDC conversions
  - name: Fees & FX Rates
    description: Retrieve fees and foreign exchange rates
  - name: Crypto Orchestration
    description: >-
      Accept crypto deposits from exchange and external wallets and settle them
      to a destination wallet
paths:
  /v3/customers/{customer_id}/virtual-accounts/{va_id}:
    get:
      tags:
        - Virtual Accounts
      summary: Get Virtual Account Details
      description: >-
        Retrieve the full record for a single virtual account, including the
        deposit instructions the customer funds the account with and the crypto
        destination the deposits settle to.
      operationId: getVirtualAccountDetailsV3
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Unique identifier of the customer the virtual account belongs to.
          example: c1f4a8e2-3b57-4d09-9a61-7e2b5c8d4f30
        - name: va_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Unique identifier of the virtual account to retrieve.
          example: 9d2b7f41-6c8a-45e3-b071-2fa93c5e8d16
      responses:
        '200':
          description: Virtual account retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/VirtualAccountV3'
              examples:
                OK:
                  summary: OK
                  value:
                    data:
                      id: b84f17e1-96a8-4034-8394-e902ed403d96
                      status: ACTIVE
                      developer_fee_percent: 2
                      developer_fee_fixed: 2
                      customer_id: f60b6730-1bf1-4efa-a49e-be5ef5e75bb8
                      created_at: '2026-09-09T12:27:57.657953Z'
                      updated_at: '2026-09-09T12:28:11.061185Z'
                      deposit_instructions:
                        currency: USD
                        bank_name: Portage Bank
                        bank_address: null
                        bank_routing_number: ''
                        bank_account_number: '235464829825'
                        bank_beneficiary_name: WeiMing Tan
                        bank_beneficiary_address: null
                        payment_rails:
                          - ACH
                        bank_country: USA
                        account_type: BankSwift
                        bank_code:
                          type: SWIFT
                          code: PORGUS62XXX
                        bic_swift: PORGUS62XXX
                      destination:
                        currency: USDC
                        destination_chain: ETHEREUM
                        address: '0xE6F46b9Fa4Bc867816f78323EC92887E9d325DbE'
                      rfi: null
                      bank: PORTAGE
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  schemas:
    VirtualAccountV3:
      type: object
      description: >-
        A virtual account and the instructions needed to fund it. Returned by
        both List Virtual Accounts and Get Virtual Account Details.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the virtual account.
          example: b84f17e1-96a8-4034-8394-e902ed403d96
        status:
          type: string
          enum:
            - PROCESSING
            - IN_COMPLIANCE
            - REQUEST_FOR_INFORMATION
            - ACTIVE
            - INACTIVE
            - DECLINED
          description: >-
            Current state of the virtual account. `deposit_instructions` stays
            null until the banking partner issues the account and the status
            becomes `ACTIVE`.
          example: ACTIVE
        developer_fee_percent:
          type: number
          nullable: true
          description: Percentage fee applied on top of each deposit.
          example: 2
        developer_fee_fixed:
          type: number
          nullable: true
          description: Fixed fee applied on top of each deposit.
          example: 2
        customer_id:
          type: string
          format: uuid
          description: Customer the virtual account belongs to.
          example: f60b6730-1bf1-4efa-a49e-be5ef5e75bb8
        created_at:
          type: string
          format: date-time
          example: '2026-09-09T12:27:57.657953Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-09-09T12:28:11.061185Z'
        deposit_instructions:
          $ref: '#/components/schemas/VirtualAccountDepositInstructions'
        destination:
          $ref: '#/components/schemas/VirtualAccountDestination'
        rfi:
          type: object
          nullable: true
          description: Populated only when the status is `REQUEST_FOR_INFORMATION`.
          example: null
        bank:
          type: string
          enum:
            - PORTAGE
          description: Banking partner that issued the virtual account.
          example: PORTAGE
    VirtualAccountDepositInstructions:
      type: object
      nullable: true
      description: >-
        Bank details the customer deposits into. Null until the banking partner
        issues the account. Which fields are populated depends on the payment
        rail, so fields that do not apply to the rail are returned as null.
      properties:
        currency:
          type: string
          description: Fiat currency the account accepts.
          example: USD
        bank_name:
          type: string
          example: Portage Bank
        bank_address:
          type: string
          nullable: true
          example: 880 108th Ave NE, Bellevue, WA 98004, US
        bank_routing_number:
          type: string
          nullable: true
          description: >-
            Domestic routing number. Null for rails that do not use one, such as
            SWIFT.
          example: null
        bank_account_number:
          type: string
          example: '531912465'
        bank_beneficiary_name:
          type: string
          nullable: true
          description: Name the deposit must be made out to.
          example: WeiMing Tan
        bank_beneficiary_address:
          type: string
          nullable: true
          example: null
        payment_rails:
          type: array
          description: Fiat rails the account can be funded over.
          items:
            type: string
            enum:
              - ACH
              - FEDWIRE
              - SWIFT
          example:
            - SWIFT
        bank_country:
          type: string
          nullable: true
          description: Country of the receiving bank, ISO 3166-1 alpha-3.
          example: null
        account_type:
          type: string
          nullable: true
          example: null
        bank_code:
          type: object
          nullable: true
          description: Clearing or identifier code for the receiving bank.
          properties:
            type:
              type: string
              enum:
                - ACH
                - FEDWIRE
                - SWIFT
                - BIC
              description: Code scheme the value in `code` belongs to.
              example: BIC
            code:
              type: string
              example: PORGUS62XXX
        bic_swift:
          type: string
          nullable: true
          description: BIC of the receiving bank. Used for SWIFT deposits.
          example: PORGUS62XXX
    VirtualAccountDestination:
      type: object
      description: Crypto destination the deposits settle to.
      properties:
        currency:
          type: string
          enum:
            - USDC
            - USDT
          description: Token delivered to the destination wallet.
          example: USDC
        destination_chain:
          type: string
          enum:
            - POLYGON
            - ETHEREUM
            - SOLANA
            - BASE
          description: Blockchain network the destination wallet is on.
          example: ETHEREUM
        address:
          type: string
          description: Destination wallet address.
          example: '0xE6F46b9Fa4Bc867816f78323EC92887E9d325DbE'
  responses:
    AuthenticationError:
      description: Authentication failed due to invalid credentials
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Authentication failed
    ValidationError:
      description: Failed due to a formatting error.
      content:
        application/json:
          schema:
            type: object
            required:
              - message
            properties:
              message:
                type: string
              errors:
                type: array
                items:
                  type: object
                  additionalProperties:
                    type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer token authentication. Obtain token from [Issue a
        Token](https://developer.fin.com/api-reference/authentication/issue-a-token)
        endpoint

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.