> ## 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.

# Wallets

> List, inspect, and create wallets from the CLI. Each wallet is a per-chain deposit address.

Veil wallets are per-chain deposit addresses that hold stablecoins until you offramp them. See [Wallets](/concepts/wallets) for the full concept.

## List wallets

```bash theme={null}
veil wallets list
```

Prints one line per wallet: ID, name, chain, deposit address, token balances, and bound bank account. Append `--live` to list production wallets.

## Show a wallet

```bash theme={null}
veil wallets show <id>
```

Prints full wallet detail — ID, name, chain, deposit address, mode, balances, supported assets, bound bank account — followed by recent transactions.

## Create a wallet

```bash theme={null}
veil wallets create --chain <chain>
```

Supported chains: `ethereum`, `base`, `polygon`, `solana`.

Options:

| Flag      | Required | Description               |
| --------- | -------- | ------------------------- |
| `--chain` | Yes      | Blockchain for the wallet |
| `--name`  | No       | Human-readable label      |
| `--live`  | No       | Create in live mode       |

Example:

```bash theme={null}
veil wallets create --chain base --name "my-base-wallet"
```

Prints the new wallet's ID and deposit address.

## Set payout bank

```bash theme={null}
veil wallets set-bank --wallet-id <id> --bank-account-id <id>
```

Repoints a wallet's payout bank account. Because this changes where funds land, Veil sends a one-time confirmation code to your account email — enter the code when prompted to apply the change.

Options:

| Flag                | Required | Description                     |
| ------------------- | -------- | ------------------------------- |
| `--wallet-id`       | Yes      | Wallet to update                |
| `--bank-account-id` | Yes      | Bank account to receive payouts |
| `--live`            | No       | Apply to the live-mode wallet   |

The command is interactive: it emails a code and prompts for it, so run it in a terminal where you can enter the code. It is not usable in non-interactive (non-TTY) shells.

On success:

```
Wallet wal_abc123 now pays out to ba_xyz789.
```

## Fund a sandbox wallet

```bash theme={null}
veil wallets fund <walletId>
```

Credits 5 USDC\_TEST to a sandbox wallet on Base Sepolia via the Veil faucet. The deposit lands at the wallet's deposit address in about 30 seconds. There is no `--live` flag — the faucet is sandbox-only.

The CLI must be in sandbox mode. Switch first if needed:

```bash theme={null}
veil mode sandbox
veil wallets fund wal_abc123
```

On success:

```
Funded wal_abc123 with 5 USDC_TEST. tx: 0xdef…789
The deposit appears via the Noah webhook (~30s).
```

Common failure messages:

| Message                                                                                                         | Cause                                                               |
| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `The sandbox faucet only runs in sandbox mode. Your active mode is \`live\`. Run \`veil mode sandbox\` first.\` | The CLI is in live mode                                             |
| `No wallet with that ID. Run \`veil wallets list\` to see your wallets.\`                                       | Wrong wallet ID, or the wallet does not belong to you               |
| `That wallet belongs to live mode or is not a Base wallet — the faucet only funds Base sandbox wallets.`        | Wallet is on a different chain or is a live wallet                  |
| `Daily faucet limit reached. Try again tomorrow.`                                                               | Hit the per-day cap (shared with the dashboard Fund button and MCP) |
| `Another faucet request is in flight. Retry in a moment.`                                                       | A prior request for this account hasn't completed yet               |
| `Sandbox faucet is temporarily disabled.`                                                                       | Faucet is offline for maintenance                                   |

See also: [Get test tokens](/developers/sandbox/faucet) for the dashboard equivalent.
