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

# How to use Veil Cash

Veil runs on Base. Connect a wallet, sign in to derive your Veil keypair, then use the Deposit, Transfer, and Withdraw tabs to move ETH or USDC through the privacy pool. Contract addresses are on [Deployments](/technical/deployments).

## Connect your wallet

Use any wallet the app supports (MetaMask, Coinbase Wallet, WalletConnect, Ledger, and others). Stay on Base with enough ETH for gas on transactions you sign yourself. The relayer still submits private transfers and withdrawals, so you do not pay gas for those.

## Sign in (derive your keypair)

Click Login, then pick one path:

1. **Sign a message** — EOA wallets only. No funds move; one signature derives your keys client-side.
2. **Passkey** — WebAuthn PRF; works across devices where the same passkey syncs.
3. **Import** — paste a Veil private key (works with smart accounts too).

<Warning>
  Each method produces a **different** keypair for the same wallet. Do not mix methods unless you understand recovery; see [Veil Keypair](/technical/veil-keypair).
</Warning>

Use Account → Key Management in the header when you need your deposit key, Reveal Private Key, or Remember key. Details: [Veil Keypair](/technical/veil-keypair).

## Deposit (shield funds)

Your first deposit includes any onchain setup the protocol needs for your address (such as associating your deposit key). That runs in the same flow as the deposit—there is no separate Register step in the app.

1. Choose ETH or USDC in the pool selector.
2. Open the Deposit tab, enter an amount, and confirm. The UI shows the 0.3% fee and a total that includes it (same fee model as the [FAQ](/veil-cash-pools/faq)).
3. USDC may need a one-time approve for the entry contract before the queue transaction.
4. Funds go to the queue first. Verified paths and 0xbow screening follow the rules in [Verified Users](/intro/verified-users) and [0xbow Screening](/intro/verified-users/0xbow-screening). Minimum shielded amounts are after the fee—see the [FAQ](/veil-cash-pools/faq).

<img src="https://mintcdn.com/veilcash/aC-jrC1bqupvDWg_/images/deposit.gif?s=2041cfc39dc1e0eb95c2f777431dd8b8" alt="Depositing into Veil Pool" width="1364" height="1080" data-path="images/deposit.gif" />

## Private transfer

Open the Transfer tab. The relayer submits the transaction; senders, recipients, and amounts are not published onchain in the clear. The recipient must already be able to receive shielded transfers (deposit key onchain; the app checks this). Pick the pool, amount, and recipient address the UI accepts.

<img src="https://mintcdn.com/veilcash/aC-jrC1bqupvDWg_/images/private-transfer.gif?s=07143b9c4460ce3bf55ada90deb6c046" alt="Private transfer" width="1364" height="1080" data-path="images/private-transfer.gif" />

## Withdraw

Open the Withdraw tab, choose an amount and any Ethereum destination address. The relayer submits the withdrawal. There are no fixed denominations—up to your shielded balance.

<img src="https://mintcdn.com/veilcash/aC-jrC1bqupvDWg_/images/withdraw.gif?s=4d083d342ad1976745f3c7116a512550" alt="Withdraw funds" width="1364" height="1080" data-path="images/withdraw.gif" />
