Pre-launchOpen app
Protocol

How Shroud
works.

One shared pool on Ethereum. Notes instead of balances. Proofs instead of signatures.

note 1note 2note 3note 4 recipientchange Groth16 Transaction(23, 4, 2) public: root · amount · extDataHash · token 4 nullifiers · 2 commitments
WalkthroughUse ← → to step

Your assets, shielded.

Deposit ETH or a supported token from any wallet. Your browser creates an encrypted note for the amount, minus the 0.5% fee. The deposit itself is a normal public transaction.

Public footprintYour wallet, the token and the amount deposited
The four actionsTechnical docs
01

From a wallet.
Into the crowd.

The pool holds the assets; encrypted notes record who owns what. A note is a Poseidon commitment to an owner key, a token and an amount, appended to a single Merkle tree. Privacy grows with everyone else’s deposits.

02

Move value.
Keep the details.

A private send spends up to four of your notes and creates two new ones: one for the recipient’s zk1 address, one for your change. A relayer submits the proof, so no public wallet of yours appears in the transaction.

03

Public liquidity.
Private ownership.

The pool trades through Uniswap’s Universal Router across v2, v3 and v4, with ETH on one side. Your minimum output is bound into the proof. The trade is public; which notes paid for it is not. The output lands as a new note.

04

Back to public.
On your terms.

Withdraw to any Ethereum address. The address, token and amount are public. Waiting, and avoiding round or matching amounts, keeps the link to your deposit weak.

Fees

Clear fees.
Before you move.

Protocol fees go to the treasury, on-chain, in the asset you move. Gas and relayer fees are separate.

ActionProtocol fee
Shield0.5%
Private send0%
Swap0.5% of the ETH side
Withdraw0.5%
Fee calculator
Protocol fee0.005 ETH

0.5% of the amount shielded. Gas is separate.

A little less
public.

Shield, send, swap. Keep the receipts to yourself.