# Unshielding Assets

### Prerequisites

* You have either [created](https://terminalwallet-cli.gitbook.io/terminal-wallet/first-time-setup/creating-a-new-wallet) or [imported](https://terminalwallet-cli.gitbook.io/terminal-wallet/first-time-setup/import-an-existing-wallet) a wallet
* Funds shielded into a 0zk address: [shielding-assets](https://terminalwallet-cli.gitbook.io/terminal-wallet/transactions/shielding-assets "mention")

### Unshielding Walkthrough

#### 1. Navigate to 'Unshield' functions and press Enter. Press Enter again to select tokens and amount.

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2F1GtvJKawahPKT34zYggz%2F1.%20main%20screen%20%5Bwith%20highlight%5D.png?alt=media&#x26;token=f3600866-12e5-402e-85c5-adacb616f4c2" alt=""><figcaption></figcaption></figure>

Select 'Unshield ERC20s' if you wish to receive ERC20s in your destination. Select 'Unshield \[Base Token]' if you wish to receive native ETH, MATIC, or BNB

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FVgq2Xn1kVx54kqU81huD%2F2.%20click%20to%20continue.png?alt=media&#x26;token=2f3b926f-6c77-4af6-8746-c31533c26a1b" alt=""><figcaption><p>Press Enter here to proceed</p></figcaption></figure>

#### 2. Navigate to the token you want to send. Press space to select and press Enter to confirm

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FzfwLdzfjU79cQy7k7rRL%2F3.%20select%20tokens.png?alt=media&#x26;token=0482ffb7-8669-428b-bb7c-b057894405fb" alt=""><figcaption></figcaption></figure>

#### 3. Select the destination 0x address from saved wallets or enter a new 0x address

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FeKfEq2OhhjTnXPX1NUwM%2F4.%20select%20address.png?alt=media&#x26;token=d87c845a-d630-464e-952f-f59c0d5323ed" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Unshielding sends funds from your 0zk address to a destination 0x public address. Once unshielded funds are no longer private.
{% endhint %}

Press Enter on 'Enter Address' to paste in a custom destination address.

#### 4. Enter the amount to unshield and press Enter&#x20;

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FO5W8NhdAQ2ccsrqmH436%2F5.%20amount%20autofilled.png?alt=media&#x26;token=eae3dccf-d01a-4306-af47-ebc4965cc51d" alt=""><figcaption></figcaption></figure>

The maximum amount is pre-filled. If you press enter without entering in any values, it will automatically proceed with the maximum possible balance.

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FluQ7xBPpVDLPQYAcZZRf%2F6.%20amount%20entered.png?alt=media&#x26;token=aa53822f-e6d7-4926-9b2d-4bd4cc0bf82f" alt=""><figcaption><p>Unshield screen with custom amount</p></figcaption></figure>

#### 5. Review the unshield transaction details closely including amount, token, and destination address. Press Enter on 'Confirm Transaction Amounts'

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FdiCF6Z6Od74FF5xiwO2w%2F7.%20confirm%20amounts.png?alt=media&#x26;token=3338a5d4-06a3-4446-a226-be8fc09cae6f" alt=""><figcaption></figcaption></figure>

#### 6. Type in your Terminal Wallet password

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FgsQUv1JIdH3l1dNEYyJU%2F8.%20enter%20password.png?alt=media&#x26;token=7269b692-4075-4078-9358-824973120825" alt=""><figcaption></figcaption></figure>

#### 7. Press Enter to select a Relayer

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FKTwtP90TTjg6NpnS5sM9%2F9.%20relayer%20or%20self%20signed.png?alt=media&#x26;token=490a245e-d828-4702-9ca0-2f4de8ad36ed" alt=""><figcaption></figcaption></figure>

Relayers are wallets which submit transactions on your behalf so that your 0x address is not exposed when transacting. You can either use a community run Relayer or [Self-Relay](https://terminalwallet-cli.gitbook.io/terminal-wallet/transactions/self-relaying-transactions) a transaction.

{% embed url="<https://docs.railgun.org/wiki/learn/privacy-system/community-relayers>" %}

#### 8. Press Enter on 'Use a Relayer' to use a community Relayer

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2Fy46y4ZNue6PwtcxRsDgK%2F10.png?alt=media&#x26;token=37cdd6bf-5717-4bea-943c-dfbe69205b2a" alt=""><figcaption></figcaption></figure>

#### 9. Select token to pay the Relayer fee

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FsI4kXbAuxaHOlVAcAHLQ%2F11.%20fee%20token.png?alt=media&#x26;token=b82c4f2c-37d8-4d95-8f91-ada8ab855c69" alt=""><figcaption></figcaption></figure>

Most community Relayers will accept wrapped base token like WETH or WMATIC and stablecoins like DAI or USDC.

#### 10. Review the 'Network Fee' closely. Press Enter on 'Generate Proof' to proceed

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FxVoFTvbbq4xW07B7ZFio%2F12.png?alt=media&#x26;token=cbc59d7c-8b87-4027-b938-9c557fdbb75f" alt=""><figcaption></figcaption></figure>

This will generate a Zero Knowledge Proof which enables to prove your capacity to complete the transaction privately. Proof generation can take up to 30 seconds depending on your hardware.

{% embed url="<https://docs.railgun.org/wiki/learn/privacy-system/zero-knowledge-cryptography>" %}

#### 11. Review transaction details closely and Press Enter on 'Send Transaction' if correct

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2Fl8a4PrLJxGyzQxmlAVu6%2F13.%20review%20and%20send.png?alt=media&#x26;token=f0c7bc25-bb7a-4ebf-bbc8-e570388bfdcb" alt=""><figcaption></figcaption></figure>

After this, the transaction cannot be changed and the assets will be unshielded to the destination 0x address so ensure that details are correct.

#### 12. Wait for transaction confirmation&#x20;

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FRjBKRiJyAQG2KpxELgab%2F14.%20sending%20wait%20screen.png?alt=media&#x26;token=cc8b2b7d-bbaf-4aa8-9b5a-5d9d321ec71d" alt=""><figcaption></figcaption></figure>

Pending transactions will show on the [Main Balance Screen](https://terminalwallet-cli.gitbook.io/terminal-wallet/first-time-setup/main-balance-screen). Once the transaction has been confirmed, the funds will be in the unshielded destination address.

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FVX9UzAIM1ONrpu4hjp9E%2F15.%20waiting.png?alt=media&#x26;token=137814e3-becc-4e91-93b2-bf042ba6b712" alt=""><figcaption></figcaption></figure>
