Deposits
When you deposit into ZeroK, your SOL enters a shared pool. Here’s everything you need to know about the process.
What Happens When You Deposit
- You enter the amount you want to make private and approve a single transaction in your wallet
- ZeroK automatically splits your amount into optimal privacy units behind the scenes
- Your SOL joins the shared privacy pool on-chain
- A cryptographic note is generated, encrypted with a key derived from your wallet signature, and stored on-chain alongside your deposit
The entire process is non-custodial — the protocol is a smart contract on Solana, and only your wallet can produce a valid withdrawal. The transaction confirms in under a second, and your deposit immediately joins the anonymity set.
Any Amount, Automatically
You enter one number and ZeroK handles everything else. Under the hood, the protocol uses fixed-size privacy units (essential for ensuring deposits look identical to each other), but you never interact with them directly. Whether you deposit a small or large amount, the app optimally packs everything into a single transaction whenever possible.
Understanding Your Note
Your note is a cryptographic secret that proves your deposit. Instead of asking you to back up a file, ZeroK uses your wallet itself as the recovery key:
- When you deposit, your wallet produces a signature that is used to derive an encryption key
- That key encrypts your note, and the encrypted note is written to the blockchain as part of the deposit transaction
- When you reconnect later, the same wallet signature decrypts the same notes
This means your privacy balances follow your wallet, not your browser. You can close the tab, switch devices, or come back a year later — reconnect the same wallet and your balances are there.
Your wallet seed phrase is your single source of access. Protect it the same way you would any self-custodial wallet. If you lose the seed phrase, you lose access to both your regular SOL and your private balances.
Anonymity Set
Your deposit joins the pool’s anonymity set — the total group of unspent deposits. When someone withdraws, an observer can only tell that one deposit from the set was claimed, but not which one.
How the anonymity set affects your privacy:
- Immediately after depositing, the anonymity set may be small. If you’re the only recent depositor, your privacy is limited.
- As more users deposit, the set grows, and your privacy strengthens.
- After many deposits, an observer has very little chance of linking your deposit to any specific withdrawal.
Tip: For stronger privacy, wait until several more deposits have entered the pool before withdrawing. See the Privacy Model for more guidance.
After Your Deposit
Once your deposit is confirmed:
- Save your note — this is non-negotiable
- Wait — let more deposits accumulate in the pool
- Withdraw from a different wallet when you’re ready — see Withdrawals