
While Sub Accounts are in beta, the maximum number of accounts is three. This limit may be increased in a future update.
How Sub Accounts work
Each Sub Account is derived deterministically from your main key. When you select a Sub Account slot, the app computes a unique deposit address for that slot. Senders transfer ETH or USDC directly to that address. The Veil relayer then deploys the on-chain forwarder (if it has not been deployed yet) and sweeps the funds into the deposit queue, where they enter the pool under that Sub Account’s child key. Because the address is derived from your main key, you can always recompute it from any device without storing extra secrets.Creating a Sub Account
You can create up to 3 Sub Accounts (Account 1, Account 2, Account 3). Select a slot from the Sub Accounts section in the wallet panel. The app derives the deposit address and shows it immediately. Share that address with the sender.Each slot’s address is deterministic. Selecting the same slot always produces the same address, so you can reuse it across sessions.
Depositing
- Select the Sub Account slot you want to fund.
- Send ETH or USDC to the displayed deposit address.
- Once funded, use Deploy & Sweep (first time) or Sweep to Queue (already deployed) to move the funds into the Veil deposit queue.
- The deposit is then screened and accepted into the pool like any other deposit.
Merge and withdraw
- Merge consolidates a Sub Account’s shielded balance into your main wallet inside the pool.
- Withdraw lets you pull funds directly out of a Sub Account to any external Ethereum address via a signed recovery transaction.
