Draft proposal. $VEIL has not launched. Every figure on this page is a working proposal and may change before launch. Nothing here is an offer to sell tokens, financial advice, or a promise of value or returns. Features marked planned are not in the current contracts.
$VEIL has five jobs. Each one maps to a real lever in the protocol. Where the current contracts don’t implement it yet, it is marked planned.

Relayer staking

Relayers bond VEIL to deliver private transactions and convoys. Late or failed delivery is slashed.

Fee share

Protocol fees buy VEIL for stakers and burn a share.

Pay fees in VEIL

Pay relayer fees from your veiled balance in VEIL.

Privacy-set rewards

Earn VEIL for actions that grow everyone’s anonymity set.

Governance

Vote on fees, assets, convoy policy and the relayer set.

Relayer staking Planned

Today, relayers are allowlisted by the admin with setRelayer. With $VEIL, the allowlist becomes stake-based. Higher stake earns a larger share of convoy assignments, so reliable relayers earn more fees.

Fee share

Every deposit and withdrawal pays a protocol fee (reference: 0.5%). The fee accrues in the pool and is swept to the treasury by sweepProtocolFees. The contract caps each fee at 1%, and no vote can raise it. The draft treasury policy splits swept fees:

Pay fees in VEIL

The pool already lets a private operation pay its relayer fee in any whitelisted token: fee and feeTokenAddress are public inputs of every proof. Once VEIL is whitelisted, you can hold VEIL in your veiled balance and pay relayers with it. Planned Relayers accepting VEIL quote a 20% lower fee than in ETH, because VEIL fees feed their own stake.

Privacy-set rewards Planned

Privacy improves for everyone when more value sits in the pool, for longer, and leaves in shared convoys. Rewards pay for exactly that:
Rewards must never deanonymize the people earning them. They accrue to notes and are claimed with a zero-knowledge proof to a fresh address. No address-level leaderboard is published.

Governance Planned

sVEIL holders vote through a timelocked upgrade controller. The pool already routes admin powers through upgradeController, so governance replaces the single admin without contract changes. The emergency exit pause (setWithdrawalsPaused) stays with a security council multisig, so exits can be protected faster than a vote.