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.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.
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:Per-offramp
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.Per-wallet default
Each wallet is bound to a default bank account. Auto-settle always uses this default. The picker pre-selects it for manual offramps.
Primary
Each user has one primary bank account per environment mode. It’s the destination for handle-routed offramps from other users (the sender never picks among your banks) and the platform’s anchor account.
The 48-hour cooldown
Newly added and edited bank accounts enter a 48-hour cooldown before they can be used. During cooldown the account is fully visible and editable, but it cannot:- Be used as the destination for an offramp
- Be assigned as a wallet’s payout
- Be promoted to primary
- Be attached to an auto-settle rule
See also
- Wallets — overriding the primary on a per-wallet basis
- Offramp lifecycle — how the destination is resolved at execute time
- Usernames — handle-routed offramps land in the recipient’s primary