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.
Veil usernames are permanent @handle identifiers that let others offramp into your primary bank. See Usernames for the full concept.
View your username
Prints your current handle, when it was claimed, and any active rename cooldown.
Check availability
veil usernames check <handle>
Prints whether @<handle> is available to claim.
Claim a handle
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
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
veil usernames resolve <handle> --chain <chain>
Returns the deposit address for @<handle> on the given chain. Supported chains: ethereum, base, polygon.
Preview a recipient
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.
Preview the recipient
veil usernames beneficiary-preview alice --json
Pass --json so the binding token is easy to extract:TOKEN=$(veil usernames beneficiary-preview alice --json | jq -r '.bindingToken')
Create the offramp with the binding token
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 for the full lifecycle.
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 — per-mode handles, rename cooldown, beneficiary preview
- Offramp — full offramp lifecycle and OTP flow