Skip to main content

Tezos Sapling

Support

We will only be able to give limited support because all shielded transactions are private.

What is Sapling

Sapling or shielded transactions allows you to perform privacy-preserving transactions of fungible tokens in a decentralized environment. It was an original idea from the Electric Coin Company, the company behind the ZCash protocol and it has long been the gold standard for transaction protection in blockchain, whereby the confidentiality of the sums and the unlinkability of the sender and receiver are protected. This feature was recently added to the Tezos network.

What are the use cases for Sapling

  • True privacy: Due to cryptocurrency's pseudonymous nature most people believe it provides privacy for payments but in reality, it does not. In fact, crypto gives less protection than fiat monetary authorities in certain ways, since it is a public blockchain that can theoretically reveal the real identity behind a public address if someone has enough resources to do chain analysis. With the introduction of sapling, transactions can now be routed through a shielded pool thereby providing true privacy and anonymity.

How to use Sapling in AirGap

Screenshots

The screenshots in this tutorial were taken on a testnet called "Edonet", but the flow is exactly the same on mainnet. You do not have to change your network.

First, make sure you have AirGap Vault set up with a secret.

Optional

This particular step and the next three may not be required if you already have a tezos XTZ account setup.

Create a Tezos account. Click "Add Account", select Tezos XTZ and click "Create".

The next page shows you an overview of all your accounts. Select the Tezos XTZ account.

Click "Sync Account" to synchronize your vault with your wallet.

Click "Import" to import the Tezos XTZ account from the vault to the wallet.

Fund your account with the necessary amount.

Open the AirGap Vault and click "Add Account".

Select the shielded Tez XTZ and click "Create" to create a shielded XTZ account.

The next page shows you an overview of all your accounts inside the vault. Select the shielded Tezos XTZ account you just created.

Click "Sync Account" to synchronize your vault with your wallet.

Click "Import" to import the shielded Tezos XTZ account from the vault to the wallet.

The next page shows you an overview of all your accounts inside the wallet. Select the shielded Tezos XTZ account you just created.

Click "Fund Account" to fund your shielded XTZ account from your unshielded XTZ account.

Then select any unshielded Tezos account to pay the fee for the funding operation.

Input the neccessary amount and the leave the address unchanged. This address belongs to your shielded tezos account. Click "Create Transaction".

Click "Sign Transaction".

Click "Confirm".

Within minutes, your coins should have arrived in your shielded account.

This transaction is shielded. Nobody can see which account you funded.

On this page, we are creating a shielded transaction to a random shielded account. Specify amount, address and click "Create Transaction"

Sign the transaction

Wrapped

Every shielded transaction has to be "wrapped" by a regular tezos transaction to pay the network fees. This is why there are some extra steps and you have to sign 2 transactions. First, you need to sign the "shielded transaction", then you have to choose which account to "wrap" it to pay the fee in tez. The account that wraps the shielded transaction is public, but the transaction details of the shielded transaction are private.

Selected your unshielded account to wrap the transaction.

Sign transaction again.

Confirm the transaction.

This transaction is shielded. Nobody can see how much you sent or to whom.

On this page, we want to unshield the remaining 10 XTZ tokens. Click the Send button, Specify amount, paste any unshielded XTZ account address and click "Create Transaction".

Sign the transaction.

Confirm the transaction.

You have successfully unshield 10 XTZ.