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

# Get Virtual Account

> Fetch a single virtual account with its readiness status, bank details, and balances

Fetches a single virtual account with its current readiness status, bank-details payload, and balances. No request body. Use this endpoint as the source of truth after Create Virtual Account returns `pending`.

<Warning>
  If a virtual account is `unavailable` for a currency, the response degrades to an unavailable shape instead of full bank details: `{ "object": "virtual_account", "currency": "EUR", "status": "unavailable", "message": "..." }`.
</Warning>

## Path Parameters

<ParamField path="id" type="string" required>
  Virtual account id (`va_…`).
</ParamField>

## Response

<ResponseField name="id" type="string">
  Virtual account id (`va_…`).
</ResponseField>

<ResponseField name="object" type="string">
  Always `virtual_account`.
</ResponseField>

<ResponseField name="account_id" type="string">
  Owning account id (`acct_…`).
</ResponseField>

<ResponseField name="currency" type="string">
  Currency of the virtual account (ISO 4217).
</ResponseField>

<ResponseField name="status" type="string">
  `pending`, `active`, `revoked` (disabled), or `unavailable`.
</ResponseField>

<ResponseField name="beneficiary_name" type="string | null">
  Account holder name on the virtual account.
</ResponseField>

<ResponseField name="beneficiary_address" type="string | null">
  Account holder address.
</ResponseField>

<ResponseField name="bank_name" type="string | null">
  Name of the bank holding the virtual account.
</ResponseField>

<ResponseField name="bank_address" type="string | null">
  Address of the holding bank.
</ResponseField>

<ResponseField name="account_name" type="string | null">
  Display name of the account.
</ResponseField>

<ResponseField name="account_number" type="string | null">
  Virtual bank account number (VBAN). Null while `status = pending` or when not supported by the rail.
</ResponseField>

<ResponseField name="iban" type="string | null">
  IBAN, where the currency/rail supports it. Null while `status = pending` or when not supported by the rail.
</ResponseField>

<ResponseField name="swift_bic" type="string | null">
  SWIFT/BIC of the holding bank.
</ResponseField>

<ResponseField name="routing_number" type="string | null">
  US ABA routing number (ACH / Fedwire).
</ResponseField>

<ResponseField name="sort_code" type="string | null">
  UK sort code (Faster Payments).
</ResponseField>

<ResponseField name="intermediary_bank_name" type="string | null">
  Intermediary (correspondent) bank name, if applicable.
</ResponseField>

<ResponseField name="intermediary_swift_bic" type="string | null">
  Intermediary bank SWIFT/BIC, if applicable.
</ResponseField>

<ResponseField name="supported_rails" type="string[]">
  Payment rails the virtual account can receive on: `ach`, `fedwire`, `swift`, `sepa`, `spei`, `pix`, `faster_payments`.
</ResponseField>

<ResponseField name="balance" type="decimal">
  Available balance, currency-formatted.
</ResponseField>

<ResponseField name="pending_deposit" type="decimal">
  Inbound deposits received but not yet credited to the available balance.
</ResponseField>

<ResponseField name="held_for_payment" type="decimal">
  Funds held for in-flight payments, including platform fees.
</ResponseField>

<ResponseField name="total_balance" type="decimal">
  Total balance including pending deposits and held funds.
</ResponseField>

<ResponseField name="created" type="timestamp">
  Creation timestamp (ISO 8601, UTC).
</ResponseField>

<ResponseField name="updated" type="timestamp | null">
  Last update timestamp (ISO 8601, UTC).
</ResponseField>

<ResponseExample>
  ```json Response (active) theme={null}
  {
    "id": "va_7yq2m9p4q1w8e5r3t6y0u2i4",
    "object": "virtual_account",
    "account_id": "acct_3mnq7c1e6a2b4f3c9b8d2e5a",
    "currency": "EUR",
    "status": "active",
    "beneficiary_name": "Acme GmbH",
    "beneficiary_address": null,
    "bank_name": "Partner Bank",
    "bank_address": null,
    "account_name": null,
    "account_number": "DE89370400440532013000",
    "iban": "DE89370400440532013000",
    "swift_bic": "PBNKDEFF",
    "routing_number": null,
    "sort_code": null,
    "intermediary_bank_name": null,
    "intermediary_swift_bic": null,
    "supported_rails": ["sepa", "swift"],
    "balance": "12500.00",
    "pending_deposit": "300.00",
    "held_for_payment": "1200.00",
    "total_balance": "14000.00",
    "created": "2026-05-01T10:05:00Z",
    "updated": null
  }
  ```

  ```json Response (pending) theme={null}
  {
    "id": "va_8rt5m9p4q1w8e5r3t6y0u2i4",
    "object": "virtual_account",
    "account_id": "acct_3mnq7c1e6a2b4f3c9b8d2e5a",
    "currency": "USD",
    "status": "pending",
    "beneficiary_name": "Acme GmbH",
    "beneficiary_address": null,
    "bank_name": null,
    "bank_address": null,
    "account_name": null,
    "account_number": null,
    "iban": null,
    "swift_bic": null,
    "routing_number": null,
    "sort_code": null,
    "intermediary_bank_name": null,
    "intermediary_swift_bic": null,
    "supported_rails": [],
    "balance": "0.00",
    "pending_deposit": "0.00",
    "held_for_payment": "0.00",
    "total_balance": "0.00",
    "created": "2026-05-02T09:00:00Z",
    "updated": null
  }
  ```

  ```json Response (unavailable) theme={null}
  {
    "object": "virtual_account",
    "currency": "MXN",
    "status": "unavailable",
    "message": "Virtual accounts are not yet available for this currency."
  }
  ```
</ResponseExample>
