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

# Get Virtual Account

> Retrieve a virtual account's details and status

## Method Signature

```typescript theme={null}
align.virtualAccounts.get(
  customerId: string,
  virtualAccountId: string
): Promise<VirtualAccount>
```

## Parameters

<ParamField path="customerId" type="string" required>
  The unique customer identifier
</ParamField>

<ParamField path="virtualAccountId" type="string" required>
  The unique virtual account identifier
</ParamField>

## Returns

<ResponseField name="id" type="string">
  Unique identifier for the virtual account
</ResponseField>

<ResponseField name="status" type="string">
  Account status: `active`
</ResponseField>

<ResponseField name="destination_address" type="string">
  Wallet address where funds will be sent
</ResponseField>

<ResponseField name="deposit_instructions" type="object">
  Bank account details. Properties vary by account type.

  <Expandable title="Properties">
    <ResponseField name="us" type="object">
      For USD accounts: `{(account_number, routing_number)}`
    </ResponseField>

    <ResponseField name="iban" type="object">
      For EUR accounts: `{(iban_number, bic)}`
    </ResponseField>

    <ResponseField name="bank_name" type="string">
      Bank Name
    </ResponseField>
  </Expandable>
</ResponseField>

<Tip>
  **Type-Safe Instruction Access**: Since `deposit_instructions` is a
  discriminated union, we recommend using the SDK's built-in type guards to
  safely narrow the type: - `isUSAccountDetails(instr)`: For USD (ACH/Wire)
  accounts. - `isIBANAccountDetails(instr)`: For EUR (SEPA) accounts. -
  `isInternationalWireAccountDetails(instr)`: For USD (SWIFT) accounts.
</Tip>

## Examples

```typescript theme={null}
import { isUSAccountDetails, isIBANAccountDetails } from "@tolbel/align";

const account = await align.virtualAccounts.get(customerId, "va_123");

// Use type-safe helper functions for narrowing
if (isUSAccountDetails(account.deposit_instructions)) {
  console.log(`US Account: ${account.deposit_instructions.us.account_number}`);
} else if (isIBANAccountDetails(account.deposit_instructions)) {
  console.log(`IBAN: ${account.deposit_instructions.iban.iban_number}`);
}
```

## Related Methods

<CardGroup cols={2}>
  <Card title="Create Virtual Account" icon="plus" href="/docs/api/virtual-accounts/create">
    Create a new virtual account
  </Card>

  <Card title="List Virtual Accounts" icon="list" href="/docs/api/virtual-accounts/list">
    List all accounts
  </Card>
</CardGroup>
