zkSVM is a shielded pool on Solana where your balance earns while it hides. You put SOL in — staked, by default, as jitoSOL — and from then on you can hold it, send it and receive it without the chain recording who paid whom, or how much.
It is one Solana program. There is no rollup, no bridge, no sequencer and no operator: your transactions are ordinary Solana transactions, and the proofs that keep them honest are checked by the chain itself.
What you can do with it
| You want to… | Use | Guide |
|---|---|---|
| Move SOL into the pool | Shield | Shield SOL |
| Earn staking yield on a balance nobody can see | Shield → Earn as jitoSOL | Earn while shielded |
| Pay someone without showing who or how much | Send | Send privately |
| Pay a plain Solana address — and get it back if they never collect | Send, returnable | Payments that come back |
| Collect a payment sent to your address | Claim | Claim a payment |
| Move SOL back out to a public address | Unshield | Unshield |
| Show you hold at least some amount, and nothing more | Prove → A balance | Prove a balance |
| Show that you paid someone | Prove → A payment | Receipts |
How it keeps a secret
Value in the pool is held as notes. A note is a small record — an amount and an owner — and the chain never sees it. What the chain stores is a commitment: a fingerprint of the note that reveals nothing about it.
When you spend a note you do not show it. You build a zero-knowledge proof, in your browser, that says: one of the notes in the pool is mine, I am spending it exactly once, and the amounts add up. The program checks the proof and learns nothing else.
What makes it different
Privacy that pays. A shielded balance is staked as jitoSOL and appreciates every epoch. Staying in the pool is what makes it private, and now staying is also what makes it grow.
It lives on Solana L1. Proof verification uses Solana's native elliptic curve syscalls and fits inside a single transaction — about 172,000 compute units out of the 1.4 million a transaction may use.
Notes can belong to addresses. Every other pool asks the recipient to generate a special address first. Here you can pay any Solana address, even one that has never been used. See The model.
Payments can come back. A payment to an address that nobody collects returns to its sender after a date you choose.
You can prove things without opening anything. That you hold at least a certain amount. That you paid a certain person. Neither reveals your balance or your history.
A token that earns with it. $ZKSVM has a supply of one billion. Part of the protocol's fees buys it back and burns it, and staking $ZKSVM earns a higher rate than the pool's base yield.
Nobody runs it. There is no admin key, no pause switch and no allowlist. The program that holds the funds takes no configuration at all.
Where to go next
- New here? → Quickstart
- Want the mental model first? → Notes, keys and the pool
- Building on it? → Wallet integration