Shield and unshield
Move public ZERO from your wallet into a private note, or take ZERO out of your notes as public ZERO at any address.
ZERO exists in two forms: public ZERO, an ordinary token balance in a wallet, and private notes in the zerotrace vault. Shielding and unshielding move ZERO between the two.
| Action | From | To | Who pays gas |
|---|---|---|---|
| Shield | Public ZERO in your wallet | A new private note | Your address, in ETH |
| Unshield | Your private notes | Public ZERO at any address | A network fee in ZERO, from your notes |
You do not need to shield ZERO bought in the zerotrace app: it lands in a note already. You can also send and sell straight from notes, so you only unshield when you want public ZERO.
Shield public ZERO
Shielding takes ZERO from your wallet and puts it in a new private note, where it is hidden and earns from each harvest.
You hold public ZERO when:
- you bought ZERO on another app, an aggregator or the Pons site;
- someone sent you ZERO with an ordinary transfer;
- you unshielded to your own address;
- a sale's swap failed and the ZERO went to your receiving address.
Open the notice
When your connected address holds public ZERO, the wallet shows a notice with the amount. You need to have turned on privacy with that address.
Choose the amount
Keep the whole amount or pick part of it with the field or the slider, then press Shield.
Approve, then shield
The vault takes the ZERO with an ordinary ERC-20 transfer, so it needs your approval first. If your current approval is lower than the amount, the wallet asks you to confirm an approve transaction, then the shield transaction. After that, a shield within the approved amount needs only the second prompt. Both are sent from your address and paid in ETH.
The entry appears in history as Shielded. The shield is public: it shows your address, the amount and the new note's position. From then on, spending that note is as private as spending any other.
Unshield to public ZERO
Unshielding takes ZERO out of your notes and sends it to an address as ordinary public ZERO. Any wallet or contract can receive it and use it like any token: send it, sell it, deposit it, or shield it again.
Unshielded ZERO is public and stops earning from harvests. Anyone can see the amount and the receiving address.
Choose the amount
Open Unshield. Type an amount or use the slider; at 100% the app unshields everything left after the network fee. One transaction spends at most two notes, so with more than two notes, 100% covers your two largest.
Choose the destination
The address field starts with your connected address. Replace it with the address or contract you want.
Confirm and wait
Press Unshield to public. As with a send, the app estimates the fee, asks your wallet for a Spend signature, generates the proof and submits it through a bundler. The entry appears in history as Unshielded, with the network fee included in the amount.
On-chain, anyone can see the receiving address and the amount. They cannot see which notes it came from. An unshield to your own address links the amount to you, so use a fresh address if that matters.
Unshielding is also a way out that does not depend on the zerotrace router: public ZERO can go to any app, exchange or pool that handles the token. See Public ZERO.