Unshield
Take SOL out of your private balance to any Solana address. The recipient receives it from the pool, less the 0.5% exit fee.
Unshielding takes SOL out of the pool to any Solana address: your own wallet, a fresh address, an exchange deposit address or someone else's wallet. The recipient receives SOL from the pool, not from you. Like a send, it goes through the relayer, so none of your wallets signs it.
Unshield
Choose the amount
Press Unshield and type the amount, or use 25%, 50% or Max. Under the amount the app shows what arrives after the exit fee: Arrives 0.995 SOL after the 0.5% exit fee for 1 SOL at launch.
Choose the address
Paste any Solana address, or press Paste. If a wallet is connected, the app fills in its address, and offers it under Your wallet. The address only receives: it signs nothing.
Review
The review shows the address, what arrives, the exit fee as a rate and in SOL, the relayer fee and, when needed, the notes to combine first. Hold Hold to confirm until it fills.
Proof and relayer
As for a send: the app combines notes first if two do not cover the amount plus the relayer fee, builds the proof in your browser, and hands it to the relayer, which submits it. The app then shows SOL on its way with a link to the transaction, and an Unshielded entry in your activity.
What it costs
| Cost | Amount | Taken from |
|---|---|---|
| Exit fee | 0.5% of the amount at launch, rounded down to the lamport. A parameter of the pool, capped at 1% by the program. | The amount: the recipient gets the amount less the fee |
| Relayer fee | The relayer's quote, in SOL, shown in the review | Your notes, on top of the amount |
| Combining notes | One relayer fee per merge, only when needed | Your notes |
For 1 SOL at launch: the recipient receives 0.995 SOL, and your private balance goes down by 1 SOL plus the relayer fee. At launch, half of the exit fee goes to the buyback, which burns $VOID, and half to the treasury. See Fees.
The rate you see in the review is bound in the proof. If the pool's exit fee changes before the transaction lands, the program refuses it, so you are never charged a rate you were not shown; the app reads the new rate at its next sync.
What the chain shows
| Visible to anyone | Not visible |
|---|---|
| The address that received SOL from the pool | Which notes paid for it, and so who unshielded |
| The amount it received, and the exit fee | Your private balance, before or after |
| The relayer that submitted it, and its fee | Your void address or any wallet of yours |
The recipient's address is as public as any Solana address that receives a transfer. 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 |
|---|---|
| That is not a Solana address | The text does not decode to a 32-byte Solana address. |
| More than you have | The amount plus the relayer fee, and any merges, is more than your notes can cover. |
| simulation failed | The program refused the transaction when the relayer tried it, for example because the exit fee changed or the pool's exits are paused. Nothing was sent and no fee was paid. |
The other messages are the same as for a send.
Send privately
Pay another Voidcash address from your private balance. A relayer submits the transaction, and the chain shows no sender, no recipient and no amount.
Balance and notes
How the app computes your private balance from the pool's notes, how it checks the indexer against the chain, and why it sometimes combines notes before a send or an unshield.