Every transaction is a line in a public log.NULL writes a zero.
Balances, amounts, counterparties: on Solana, all of it is readable by anyone, forever. NULL moves your tokens into a shielded pool. Inside it, zero-knowledge proofs check the math, and the chain stores nothing readable. When you need to prove something, a view key fills in the blanks, for the people you choose.
Same wallet. Three readers.
The public explorer reads null where your history should be. You read everything. Someone holding your view key reads only what you shared. Demo data.
shield · send · unshield
A simulated wallet. Nothing here touches the chain, and no SOL moves.
// moves SOL from your public balance into the shielded pool.
Three calls. No trust required.
into the pool
Deposit SOL or a supported SPL token. You get a private note only your keys can read. The log gets a deposit, then nothing.
math, not exposure
Every private transfer carries a zero-knowledge proof: inputs equal outputs, nothing spent twice. Validators check the proof. The amounts are never written.
out, anywhere
Withdraw to any address. A relayer can pay the gas, so the new address has no fee trail back to the old one. The trail returns null.
Nothing to see.
Everything to prove.
Privacy isn't hiding from everyone forever. It's deciding who gets to read. A view key is read-only: it fills in the nulls for one reader, and it can never move funds.
- 01Scope it: one token, one date range, or one account.
- 02Hand it to your accountant, an auditor or an exchange that asks.
- 03They verify. Nobody else sees a thing.
- !!Once someone has read data with a key, you can't un-show it. Share carefully.
The token that keeps the log empty.
A small fee on unshielding keeps relayers paid and buys back $NULL. Holders vote on which tokens the pool supports next.
Charged only when you leave the pool.
Pays the people who submit your transactions.
Buys $NULL on the market and burns it.
1 vote
Which SPL tokens get a shielded pool next.