# 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](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
* Shielded assets held in a 0zk address: [shielding-assets](https://terminalwallet-cli.gitbook.io/terminal-wallet/transactions/shielding-assets "mention")

### Private Sending Walkthrough

#### 1.  Navigate to 'Send ERC20s Privately' 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%2FiBdVjiy5utlrtqKWLdLO%2F1%20-%20highlight%20button.png?alt=media&#x26;token=9dc9f385-b736-44e7-9c85-5a3309bcfca0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2F6tN12SuqqDspnhJbmw4O%2F2.png?alt=media&#x26;token=b4fd19d3-2297-47a8-8a2b-60e571108f97" 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="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2Fw05wThhiLeui1p5Oo7Im%2F3%20select%20token.png?alt=media&#x26;token=17610b3c-e4bb-4f8d-b66c-525795510dd1" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FEH33gYbHtm1yNJlH0efu%2F4.%20select%20wallet.png?alt=media&#x26;token=44747094-8000-4bc5-863f-35a74103ed02" 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="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FyMRUxVK6T16pCDFBQvG8%2F5.%20prefilled%20max%20amount.png?alt=media&#x26;token=6cd139a6-aee6-48b5-a0e8-e5511ccbb03d" 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%2Fih4DauZYdoHfJoTEoPZM%2F6%20entered%20amount.png?alt=media&#x26;token=f25aefaf-1b06-4c6a-b8c2-73fc8cc15598" 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="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FRWgpygq4kbTgtvl2ovNe%2F7%20no%20to%20other%20address.png?alt=media&#x26;token=9b2bec5a-eecc-4fba-9fbc-3f31e7f936d1" 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="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FyAKAbeIUDGrnAMEKu4HW%2F8%20review.png?alt=media&#x26;token=7b550b9e-0579-4a36-8be5-af97cd108bd4" alt=""><figcaption></figcaption></figure>

#### 7. 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%2FSHPNgIjLoRBG1kFwV9YT%2F9%20password.png?alt=media&#x26;token=b58d0fd5-1d56-4f79-ae13-64fff13fdf7b" alt=""><figcaption></figcaption></figure>

#### 8. Press Enter to select Relayer

<figure><img src="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2F4UmKEqborFEDw55vi9MF%2F10%20relayer%20or%20self%20sign%20menu.png?alt=media&#x26;token=565fc3ba-f282-4e62-894a-6a782fb2441a" 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>" %}

#### 9. 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%2F5iiFdS9OXH3sXhkpqfd0%2F11%20use%20relayer.png?alt=media&#x26;token=048c8bfc-97a3-4436-baf2-e8f3c5d6166d" alt=""><figcaption></figcaption></figure>

#### 10. 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%2FpJUDotLUHNxzjqBrFwld%2F12%20fee%20token.png?alt=media&#x26;token=6a1c248f-9b9f-479f-884a-5281a67a7f4d" 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="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FQDyfStjyFbHTWikZWeHh%2F13%20review%20and%20generate%20proof.png?alt=media&#x26;token=5a04277d-9b08-4ba1-b25d-6a0acf7e4849" 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="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FCydSq4rqzKMgskco37dA%2F14%20final%20review%20and%20submit.png?alt=media&#x26;token=5d293889-37a4-4fcf-9cca-f1d9236ec2f1" 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="https://2690606389-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL8GddQ0x75dvPhyXUkK%2Fuploads%2FKoCzIDjLfBMpjERL0xNr%2F15%20status%20message.png?alt=media&#x26;token=177e5e82-d6c8-444a-8aa4-7c2d9736d0f4" alt=""><figcaption></figcaption></figure>

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