> 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/private-sending.md).

# Private Sending

{% hint style="info" %}
0zk to 0zk transfers are completely private. Asset, token type, amount, sender, & recipient are completely hidden.
{% endhint %}

### 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
* Shielded assets held in a 0zk address: [Shielding Assets](/terminal-wallet/transactions/shielding-assets.md)

### Private Sending Walkthrough

#### 1.  Navigate to 'Send ERC20s Privately' and press Enter. Press Enter again to select tokens and amount

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

<figure><img src="/files/mtS4517inZpinItJ3QwU" alt=""><figcaption><p>Press Enter again 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/1mlyyla6n1h0HvIgUpdz" alt=""><figcaption></figcaption></figure>

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

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

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

#### 4. Enter the amount to send and press Enter

<figure><img src="/files/dpFm0kHn4aDO0dPZpbCY" 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/JgVJ3P9cpGzblWb5tWSd" alt=""><figcaption><p>Send screen with custom amount.</p></figcaption></figure>

#### 5. Press Y to shield to multiple 0zk addresses OR press N to proceed with 1 destination address

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

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

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

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

<figure><img src="/files/4z1L3ZKbrf2pekFd5L2Q" alt=""><figcaption></figcaption></figure>

#### 8. Press Enter to select Relayer

<figure><img src="/files/YDoJ524btMOUmJtpKeaT" 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>" %}

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

<figure><img src="/files/0Z3RZMYdI9R0AWGk7Qi1" alt=""><figcaption></figcaption></figure>

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

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

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

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

<figure><img src="/files/JKmFecao37RYsdZdhbp9" 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>" %}

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

<figure><img src="/files/9POx3XC9FzB4JSLpyMrp" alt=""><figcaption></figcaption></figure>

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

#### 13. Wait for transaction confirmation

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

Once the transaction is confirmed the destination 0zk address will have privately received the tokens.
