How to Deposit / Withdraw
Deposit
Connect to cypherapp.tech
Open the cypherapp.tech app, connect wallet and change chain to Ethereum. Click "CONNECT WALLET" to sign in and deposit.

Create/Load Account

If you are here for the first time, proceed to:
Create your Account

Write down the words in the sequence below and keep them safe.Don’t share them with anyone, or you may permanently lose your assets.
If you already have one:
Load your Account

DEPOSIT
Clicking “Deposit” to make a deposit. Enter the amount of ETH you want to deposit.

Review the DEPOSIT

Processing the deposit

Once completed, you'll be given an explorer URL link to view your withdrawal on etherscan.io
Deposit / Withdrawal best practices
Consider read the Best practices for privacy before withdrawing your deposit
Withdraw
When you are ready to withdraw your deposit, open the withdraw tab on the app.
Relay Settings
By default the Cypher Relay is selected. This will process your transaction on your behalf allowing you to fund a fresh wallet.
Withdrawal Types
Cypher supports two distinct withdrawal methods to cater to varying privacy and cost preferences:
Direct Withdrawals: Users engage directly with the pool contract for a streamlined process.
Relayed Withdrawals: Withdrawals are handled through a relayer to bolster additional privacy layers.
Both approaches rely on zero-knowledge proofs (ZKPs) to verify commitment ownership and uphold user privacy throughout the transaction.Withdrawal Types Comparison
Aspect
Direct Withdrawal
Relayed Withdrawal
Privacy Level
Standard
Advanced (unique withdrawal address)
Gas Payment
User covers costs directly
Relayer covers,plus fee
Fee Structure
No additional fees
Customizable relayer fee
Complexity
Straight forward process
Includes fee calculation
Front-running Protection
Context-driven
Context-driven
Withdrawal StepsDirect Withdrawal
Proof Generation The user assembles withdrawal details, generates a zero-knowledge proof (ZKP) to confirm ownership of the commitment, and calculates a new commitment for any remaining balance.
Contract Interaction The user submits the ZKP to the pool contract, which validates the proof and its context, updates the state (including nullifiers and commitments), and transfers the assets to the designated recipient.
Relayed Withdrawal
User Steps The user prepares the withdrawal using the Entrypoint contract, creates a zero-knowledge proof (ZKP), and submits it to the relayer off-chain for processing.
Relayer Steps The relayer conducts a local verification of the proof, submits the transaction to the Entrypoint contract, and covers the associated gas fees.
Entrypoint Processing The Entrypoint contract verifies the proof and its context, processes the withdrawal through the pool, manages fee distribution, and transfers the assets to the recipient.
Last updated