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