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

# Bank accounts

> Bank accounts are where fiat lands after an offramp. Each user has one primary; each wallet can override it.

A **bank account** in Veil is the payout destination for an offramp. Adding one is the second step of onboarding (after KYC) and is required before any settlement can complete.

## How it shows up in Veil

You add a bank account from the dashboard. The dashboard shows only a partial reference (like "ACH ending in 1234" or "SEPA · ES12"), never the full account number.

## Supported rails

| Type         | Region         | Currency       |
| ------------ | -------------- | -------------- |
| **SEPA**     | Eurozone       | EUR            |
| **ACH**      | United States  | USD            |
| **Fedwire**  | United States  | USD            |
| **SWIFT**    | International  | Multi-currency |
| **UK Local** | United Kingdom | GBP            |

## How the destination is chosen

You can hold multiple bank accounts. Three layers decide where a given offramp lands, in precedence order:

<CardGroup cols={3}>
  <Card title="Per-offramp" icon="hand-pointer">
    Both dashboards expose a bank-account picker on the offramp screen, and the `bankAccountId` parameter on `POST /offramp` lets API callers do the same. An explicit choice wins over the wallet's default.
  </Card>

  <Card title="Per-wallet default" icon="route">
    Each [wallet](/concepts/wallets) is bound to a default bank account. [Auto-settle](/concepts/auto-settle) always uses this default. The picker pre-selects it for manual offramps.
  </Card>

  <Card title="Primary" icon="star">
    Each user has one **primary** bank account per environment mode. It's the destination for [handle-routed](/concepts/usernames) offramps from other users (the sender never picks among your banks) and the platform's anchor account.
  </Card>
</CardGroup>

## Security hold

Newly added bank accounts enter a short security hold before they're usable. Your first bank account is exempt.

## See also

* [Wallets](/concepts/wallets) — overriding the primary on a per-wallet basis
* [Offramp lifecycle](/concepts/offramp-lifecycle) — how the destination is resolved at execute time
* [Usernames](/concepts/usernames) — handle-routed offramps land in the recipient's primary
