Shield SOL
Move SOL from a Solana wallet into the pool, where it becomes a private note that only your keys can open and spend.
Shielding moves SOL from an ordinary wallet into the pool. The pool records a new note that holds the amount, encrypted so that only your vault can read it. From then on the SOL is part of your private balance.
Shielding is the only move that uses your wallet. It is also the only one whose amount is public: the deposit is an ordinary transfer from your wallet into the pool.
What you need
| Item | Why |
|---|---|
| An unlocked vault | The new note is created for your keys. See Get started. |
| A Solana wallet in your browser | It signs the deposit and pays its network fee. |
| At least the minimum deposit | The pool refuses a shield below its minimum deposit, 0.01 SOL at launch, which keeps dust notes out of the tree. |
Supported wallets
The app lists every wallet in your browser that supports the Wallet Standard on Solana and can sign and send transactions, such as Phantom, Solflare or Backpack. If none is installed, the wallet sheet says No Solana wallet found in this browser.
The wallet is where you shield from and can unshield to. It never signs anything inside the pool, and your vault's keys do not come from it.
Shield
Connect a wallet
Press Shield, then Connect a wallet to shield from, and pick your wallet. Approve the connection in the wallet.
Choose the amount
Type the amount in SOL, or use 25%, 50% or Max. What you can shield is your wallet's balance less 0.01 SOL, which the app leaves in the wallet for the network fee and rent, and less the shield fee, which is paid on top. The button says At least 0.01 SOL below the pool's minimum deposit, and More than you have above what the wallet can cover.
Review
The review shows where the SOL comes from, what arrives in your private balance, the shield fee (None at launch), and that your wallet pays the network fee. Hold Hold to confirm until it fills; letting go early cancels.
Building the proof
Your browser builds a zero-knowledge proof for the new note. The first proof takes longer, while the app loads the prover's files; it checks them against hashes fixed when the app was built.
Confirm in your wallet
Your wallet asks you to approve one transaction. It sends the amount, and the shield fee if there is one, from your wallet to the pool.
Confirming
The app waits for Solana to confirm the transaction, usually a couple of seconds. The new note then shows in your balance, and the activity list gets a Shielded entry with a link to the transaction on Solscan.
What it costs
| Cost | Amount | Paid by |
|---|---|---|
| Shield fee | None at launch. A parameter of the pool, capped at 1% by the program, charged on top of the amount. | Your wallet |
| Network fee | The Solana transaction fee, plus the rent of two small accounts the transaction creates | Your wallet |
The note holds exactly the amount you typed: a shield fee, when set, is paid besides it. See Fees.
What the chain shows
| Visible to anyone | Not visible |
|---|---|
| Your wallet's address, and that it shielded | Your void address or your keys |
| The amount shielded | Your private balance |
| The new note's commitment and its encrypted contents | When that note is spent, or where its SOL goes next |
A note's commitment is a hash of its amount, its owner and a random value. Spending it later publishes a different value, its nullifier, which nobody can link back to the commitment without your spending key. So the shield shows that SOL entered the pool from your wallet, and nothing about what happens to it inside.
Shielding and unshielding the same amount minutes apart is easy to match: let time pass and vary amounts.
What can go wrong
| Message | What it means |
|---|---|
| No Solana wallet found in this browser | Install or enable a Solana wallet, then open the sheet again. |
| At least 0.01 SOL | The amount is below the pool's minimum deposit, read from the program (0.01 SOL at launch). |
| More than you have | The amount, plus the shield fee and the 0.01 SOL kept in the wallet, is more than the wallet holds. |
| Syncing, Catching up or Cannot reach the pool | The app is not in step with the pool yet. It retries on its own every 15 seconds. |
| That did not go through | The wallet refused, or the transaction failed. Nothing was shielded. Back to review lets you try again. |