Open app

02 / Architecture

Proofs in your browser, checks on-chain

Your secret never leaves your device. Contracts only verify proofs.

Fig. 1 · System architecture

Select a layer or component to inspect it. Esc clears.

Spec sheet

Pools
Three fixed sizesFixed sizes stop amount-based tracing. Tokenized-asset pools come once the ETH pools have run cleanly.
Proof system
Groth16 on BN254About 2–4 seconds to prove on a laptop. Verified with the EVM pairing precompile.
Exit hatch
RagequitA deposit that is not approved can always return to its source address.
Disclosure
Viewing keysExport a key per note to show an auditor or exchange where funds came from.

Components

ZhieldPool.sol
Holds deposits per denomination. Incremental Merkle tree, depth 20 (1,048,576 notes).
AssociationRegistry.sol
Names the screening operator, who approves clean deposits in each pool. A new operator takes effect 7 days after it is proposed.
RewardsVault.sol
Holds NVDA and pays $ZHIELD holders every hour from a balance snapshot (Merkle claims, capped per hour on-chain). Holders claim for themselves. The owner can withdraw; each withdrawal emits OwnerWithdrawal.
ZHIELD
ERC-20 launched on Pons: a bonding curve, then a Uniswap v4 pool.
withdraw.circom
Proves the note is in the tree and the approved set, and has not been spent.