Your address reads empty
Deposit and the balance leaves your account for the pool program. Anyone reading your address sees a wallet with nothing in it.
Deposit into the Exovia pool program and the balance leaves your address for a pool shared with everyone else's. Send it on with a proof that names no sender, or lock it behind a passphrase only you know. From the outside it reads as ordinary settlement.
426a3a06b9ba7313902fdc2e93196aaf3bc2c496117f607c0cfb39d48e251026
256d99c2baab47ba9962cf879e529940b1897a62fb0ad0bd6a7ab70a4722bc04
commitment: 0x9f4c…a71d ✓
d678f359cb72698263cc754f18416a638a92640dd4cb7865ca332e00cc051210
9e68c8b3b944bfe15291c04168c48f412d6e48a35d8efa2f52fae3cf88e50fb8
recipient: unlinked
61c24714461fd9496dc5e48e8810bc09205c700d53c93115170c18301a6f8877
73906bdc3954e4a8f86b686c6a71ac5da86b493918230e4437f3a2d8622aecad
proof: VERIFIED
1d47754a456cdf3af15d22a57092ba290603c4a530bc6c9e3524aa131b8d5af1
e2f1ffebcbaf3ccdb16ebec7841474bb64688fb082458940e8cbe4c2e555443e
withdrawal: SETTLED
7b882e394fbb37619ffe3298e13511eb38fa3314bf33758f9807623b008ee82e
ZK
Unlinked exits
PASS
Passphrase lock
SPL
Any token
0
Whitelists
Two vaults
One breaks the link between who paid and who was paid. The other keeps what you hold off the record. They are separate vaults and you can use both.
Shielded Vault Anonymous transfers | Guarded Vault Hidden holdings | |
|---|---|---|
| What it is for | Paying someone without naming yourself | Holding a balance nobody can read |
| How privacy is won | A zero-knowledge proof stands in for your identity | Funds sit in the pool program; your address reads zero |
| What the chain shows | The depositor is never named | The depositor is visible; the amount is not |
| Crowd to hide in | Grows with every deposit of the same size | None — this one hides the amount, not the sender |
| Exit without a fee balance | through a relayer | — |
| Send inside the vault | — | to any address |
| If your key leaks | — | Funds hold — the passphrase is a second lock |
| Getting funds out | Present the ticket, prove it, withdraw | Sign, then enter the passphrase |
| Open Shielded Vault | Open Guarded Vault |
How it works
Send SOL or any SPL token to the vault. It lands inside the pool program as an internal balance, and only a commitment — a one-way fingerprint — is written on chain. No amount, no name.
Keep your ticket somewhere safe. Every deposit of the same size that arrives after yours widens the crowd you are standing in, and narrowing it back down gets harder by the day.
Build a proof from the ticket and withdraw to an address that has never touched the first one. What the chain records is a pool settlement, and nothing points back.
Architecture
Deposit and the balance leaves your account for the pool program. Anyone reading your address sees a wallet with nothing in it.
Every deposit joins the same program-owned pool. Yours is not a separate box with your name on it — it is one entry among all of them.
Native SOL, stablecoins, or a token minted this morning. There is no list of approved mints to be on.
Send a balance to another address without either side leaving the vault, so nothing about the pair is written down.
A withdrawal is settled against a zero-knowledge proof. The program learns that a valid deposit exists and nothing else about which one.
Withdrawals leave the same trace as any other pool payout — there is no distinctive shape for an observer to filter on.
A relayer pays the network fee and takes 0.30% out of the withdrawal, so a fresh address never has to be funded first.
A passphrase-derived guardian key sits over the Guarded Vault. A stolen private key on its own moves nothing.
No admin, no upgrade path, no pause switch. A spent deposit is recorded once and can never be spent twice.
Connect a Solana wallet and look around. Nothing moves until the vault programs are live.