# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://terminalwallet-cli.gitbook.io/terminal-wallet/transactions/unshielding-assets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
