Private Transfer
This guide explains how to send and receive private transfers using the zERC20 web application.
Sending a Private Payment
To a Known Address
If you know the recipient's address:
Visit the Frontend
Click the "Private Send" tab
Select the recipient chain from the dropdown
Enter the recipient's address or ENS name (.eth, .base.eth)
Enter the amount of zERC20 to send
Click "Send Privately"

The transfer will process in three steps:
Generate: The system generates a burn address and encrypted announcement
Store: The encrypted announcement is stored on-chain or off-chain for the recipient to scan later
Transfer: Your tokens are sent to the burn address

Once completed, you'll see a success message:

To a Burn Address
If someone provides you with a burn address:
Open MetaMask (or any wallet)
Send zERC20 to the provided burn address
Done — the recipient handles the withdrawal
You can send from any supported chain. This method is useful when the recipient wants to maintain privacy even from the sender.
Creating a Burn Address for Others
The "Pay with mobile" feature allows you to create a burn address that others can pay to. This is useful for:
Receiving payments without revealing your withdrawal address to payers
Creating payment requests that can be shared via QR code
Allowing someone else to pay on behalf of a recipient
To create a burn address:
Go to the Send page
Enter the recipient's withdrawal address and amount
Check the "Pay with mobile" option
Click "Pay with mobile"

A QR code will be generated containing the burn address
Share the QR code with anyone who needs to pay

The payer simply scans the QR code and sends the exact amount to the displayed burn address. Once the payment is confirmed on-chain, the recipient can withdraw the funds.
Receiving and Withdrawing
See Scan Receives for detailed instructions on receiving and withdrawing private transfers.
Last updated