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

# Virtual account values

> Every value set a virtual account or deposit field accepts or returns, and what each value means.

The values each enumerated field on a virtual account takes, and on the deposits it receives. Check it when you are branching on a field's value.

## `status`

Where the account is in its lifecycle. Which set comes back depends on the version you are pinned to. The `status` query filter always takes the raw values, whichever version you read.

<Accordion title="View the status values by version">
  <Tabs>
    <Tab title="2026-04-14">
      | Value         | Description                                 |
      | ------------- | ------------------------------------------- |
      | `approved`    | The account can take deposits.              |
      | `rfi`         | The owner still has to finish verification. |
      | `declined`    | The account could not be opened.            |
      | `deactivated` | The account is closed.                      |
    </Tab>

    <Tab title="2026-06-01">
      | Value         | Description                                 |
      | ------------- | ------------------------------------------- |
      | `pending`     | The owner still has to finish verification. |
      | `activating`  | The bank is still opening the account.      |
      | `active`      | The account can take deposits.              |
      | `failed`      | The account could not be opened.            |
      | `deactivated` | The account is closed.                      |
    </Tab>
  </Tabs>
</Accordion>

## deposit `status`

Where an inbound deposit has got to.

<Accordion title="View the 6 deposit status values">
  | Value          | Description                                                                                                         |
  | -------------- | ------------------------------------------------------------------------------------------------------------------- |
  | `PENDING`      | The bank has told us about the money and it is being processed.                                                     |
  | `COMPLETED`    | The money is credited.                                                                                              |
  | `FAILED`       | The deposit could not be processed.                                                                                 |
  | `REFUNDED`     | The money went back to the sender.                                                                                  |
  | `KYT_PENDING`  | Held while a compliance check runs.                                                                                 |
  | `KYT_REJECTED` | Held permanently after the compliance check declined it. Only a compliance-approved refund moves it, to `REFUNDED`. |
</Accordion>

## `bank`

Which bank a `US_BANK` virtual account runs on, and with it the rail. A user's `capabilities.requested_banks` takes the same values.

These are the banks that open new accounts, in sandbox and in production. A bank your account is not authorized for is answered `Invalid bank`.

An account opened earlier on another bank keeps working, and its `bank` keeps that bank's value. A create that names one of those banks is answered `400` with `code: bank_not_accepting_new_accounts`, and nothing is created.

| Value                  | Description                                                                          |
| ---------------------- | ------------------------------------------------------------------------------------ |
| `austin_capital_trust` | A domestic rail. A `WIRE` payout from one of these accounts needs `extra_info.memo`. |
| `jp_morgan`            | A domestic rail.                                                                     |

## `mode`

What happens to money that arrives in a virtual account. Set when the account is created and never changes.

| Value    | Description                                                                  |
| -------- | ---------------------------------------------------------------------------- |
| `fiat`   | The deposit stays as a USD balance on the account.                           |
| `crypto` | The deposit is converted to a token and sent to the account's `destination`. |

## destination `currency`

The token a `crypto`-mode deposit is converted to.

| Value  | Description |
| ------ | ----------- |
| `USDC` | USD Coin.   |
| `USDT` | Tether USD. |

## destination `network`

The chain the token is sent on.

| Value     | Description |
| --------- | ----------- |
| `polygon` | Polygon.    |
| `solana`  | Solana.     |
| `tron`    | TRON.       |

## `payment_methods` status

Whether a rail on the account can be used right now.

| Value      | Description                    |
| ---------- | ------------------------------ |
| `active`   | You can use it.                |
| `disabled` | Switched off for this account. |
