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

# Usernames

> Manage your @handle and look up recipients for handle-routed offramps.

Veil usernames are permanent `@handle` identifiers that let others offramp into your primary bank. See [Usernames](/concepts/usernames) for the full concept.

## View your username

```bash theme={null}
veil usernames me
```

Prints your current handle, when it was claimed, and any active rename cooldown.

## Check availability

```bash theme={null}
veil usernames check <handle>
```

Prints whether `@<handle>` is available to claim.

## Claim a handle

```bash theme={null}
veil usernames claim <handle>
```

Claims `@<handle>` permanently for your account. Handles must be 3–30 characters: letters, digits, and underscores. Some brand and generic names are reserved.

## Rename your handle

```bash theme={null}
veil usernames rename <handle>
```

Changes your active handle to `@<handle>`. In production, renames are subject to a cooldown period — `veil usernames me` shows when you can rename again. In sandbox, renames take effect immediately.

## Resolve a handle to a deposit address

```bash theme={null}
veil usernames resolve <handle> --chain <chain>
```

Returns the deposit address for `@<handle>` on the given chain. Supported chains: `ethereum`, `base`, `polygon`.

## Preview a recipient

```bash theme={null}
veil usernames beneficiary-preview <handle>
```

Returns the recipient's display name, readiness status, and a binding token. The binding token ties the offramp to the exact state confirmed at preview time — if the recipient renames their handle or changes their primary bank before the offramp completes, the transaction is rejected.

## Send to a handle

Offramping to someone else's `@handle` is a two-step flow: preview, then create.

<Steps>
  <Step title="Preview the recipient">
    ```bash theme={null}
    veil usernames beneficiary-preview alice --json
    ```

    Pass `--json` so the binding token is easy to extract:

    ```bash theme={null}
    TOKEN=$(veil usernames beneficiary-preview alice --json | jq -r '.bindingToken')
    ```
  </Step>

  <Step title="Create the offramp with the binding token">
    ```bash theme={null}
    veil offramp create \
      --wallet-id <id> \
      --amount 50 \
      --token USDC \
      --beneficiary-username alice \
      --binding-token "$TOKEN"
    ```

    The rest of the flow is the same as a bank-account offramp — confirm the pre-send prompt, then enter the email OTP. See [Offramp](/cli/offramp) for the full lifecycle.
  </Step>
</Steps>

The binding token is one-shot. If you don't use it in time, or the recipient changes their primary bank in the meantime, preview again to get a fresh token.

## See also

* [Usernames](/concepts/usernames) — per-mode handles, rename cooldown, beneficiary preview
* [Offramp](/cli/offramp) — full offramp lifecycle and OTP flow
