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

# Accounts and virtual accounts

> Accounts, virtual accounts, balance components, and commission.

An Account is the public representation of one Slash financial product. Its id
starts with `sa_group_`.

An Account can contain one primary virtual account and additional virtual
accounts. Virtual-account ids start with `subaccount_`. Transfer creation uses
a virtual-account id in `fromAccount` or `toAccount`; it does not use the
parent Account id as the balance selector.

```text theme={null}
Account (sa_group_...)
├── Primary virtual account (subaccount_...)
├── Virtual account (subaccount_...)
└── Virtual account (subaccount_...)
```

## Account types

The API exposes:

* `checking`
* `secured_charge_card`
* `unsecured_charge_card`
* `business_debit`
* `global_usd`

## Account balances

`GET /v2/accounts` is for discovery and does not load
`balanceComponents`. Retrieve one Account with
`GET /v2/accounts/{accountId}` to request its user-facing balance breakdown.
The field is returned only when the credential has balance access.

The component `type` explains how to read its values:

* `transactional` — available funds in a checking or business debit product
* `collateral` — collateral associated with a secured charge card
* `credit` — credit limit, available spend, pending balance, and settled
  balance
* `global_usd` — available Global USD balance

Amounts are expressed in the component's currency minor unit.

## Virtual-account balances

`GET /v2/virtual-accounts` returns each accessible virtual account with its
current ledger `balance`. Filter by `accountId` when choosing a source inside
one Account.

Virtual accounts in Global USD Accounts are included for balance visibility,
but API v2 transfer endpoints cannot use them as a source or destination. Book
transfers require two different open virtual accounts in the same eligible
bank Account. Other transfer rails debit one `fromAccount`.

## Creating virtual accounts

`POST /v2/virtual-accounts` creates a zero-balance virtual account inside an
eligible, non-Global USD bank Account. Global USD Accounts are not eligible.
Supply the parent `accountId` even when the legal entity currently has only
one Account.

An optional commission config can either collect a scheduled flat fee or divert
a percentage of incoming funds to the Account's primary virtual account. The
create and retrieve schemas in the API Reference define the exact fields.

## Updating and closing virtual accounts

`PATCH /v2/virtual-accounts/{virtualAccountId}` renames a virtual account or
replaces its commission. `POST /v2/virtual-accounts/{virtualAccountId}/close`
closes it: pending transfers from it are canceled, its cards are closed, and
its remaining balance moves to the Account's primary virtual account. Neither
applies to the primary virtual account, and closing cannot be reversed.
