> For the complete documentation index, see [llms.txt](https://terminalwallet-cli.gitbook.io/terminal-wallet/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://terminalwallet-cli.gitbook.io/terminal-wallet/transactions/unshielding-assets.md).

# Unshielding Assets

### Prerequisites

* You have either [created](/terminal-wallet/first-time-setup/creating-a-new-wallet.md) or [imported](/terminal-wallet/first-time-setup/import-an-existing-wallet.md) a wallet
* Funds shielded into a 0zk address: [Shielding Assets](/terminal-wallet/transactions/shielding-assets.md)

### Unshielding Walkthrough

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

<figure><img src="/files/9iwtNevdIRksaNwRao6m" 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="/files/zlSZmD0lp2bY3n19Qnyt" 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="/files/EZnyuihgIWtQjmD6PXCp" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/zJQCYRPKFPlWLCc6XatU" 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="/files/phykrTqCo4JM8lqPDJtq" 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="/files/mYjgptTWwuXnuGzPt1kq" 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="/files/g296wxbcwPIin5Atn9Pp" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/DPDENLVY5ORjy8cjzpH0" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/ku9xWFJKvMjSJ5xqqIRH" 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](/terminal-wallet/transactions/self-relaying-transactions.md) 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="/files/kXkdjroYXpsg1dCQ0htt" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/tYvQRcqrWYXqLribhQH4" 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="/files/EY7r1NtyivTc6vq6bF0r" 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="/files/rtvW14mrTqEQC2RIVB3o" 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="/files/jPYOi2nj09nqxqSYBI9c" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/sTPxqWCIB0hEQOmjQUlD" alt=""><figcaption></figcaption></figure>
