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.

Screening overview
Veil Cash integrates 0xbow ASP so incoming deposits get KYT (Know Your Transaction) screening before they enter the pool. You can use any Base address; when screening applies, funds move through the one-time queue flow below until 0xbow clears them.
About 0xbow
0xbow builds compliant onchain privacy infrastructure for peer-to-peer transfers at scale. Their Privacy Pools protocol on Ethereum balances privacy for legitimate users with screening that excludes illicit actors. ASP runs KYT on deposits, adds passing funds to the association set, and supports the trust model Privacy Pools use across L1s, L2s, and other deployments—including Veil on Base.How screening works
When a deposit comes from a user who is not yet verified, the following process applies:
Deposit to Queue
The user’s funds are first sent to a temporary queue contract, not directly into the Veil pool. This holding contract isolates the deposit until compliance checks are completed.
KYT Screening Initiated
Right after the deposit, Veil’s deposit engine asks 0xbow to screen the funds. 0xbow runs KYT blockchain analysis on the funds’ origin and history—including links to illicit activity or sanctioned addresses. Most screenings finish in about 15 minutes; complex cases can take up to 5 days.Holding Period
A 6-hour holding period is applied to screened deposits. During this time, 0xbow’s off-chain checks are expected to complete. The user will see their deposit as pending in the queue. If 0xbow clears the deposit earlier, the funds can move forward before the 6 hours are up.
Approval and Deposit
If 0xbow approves the deposit, no risky or illicit source detected, the Veil operator address finalizes the deposit. The operator pulls funds from the queue contract into the Veil pool contract and credits the amount to the user’s private balance. The underlying zk proof for the deposit is generated automatically by Veil’s backend. The user does not need to generate or handle any proofs.
