project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Scroll Cash

Scroll Cash provides private Ether transactions with Zero-Knowledge Proofs on Scroll. In layman's terms, it allows you to send and receive Ether without anyone being able to track your transaction.

Scroll Cash

Created At

ETHOnline 2023

Winner of

🏊 Scroll — Pool Prize

Project Description

Scroll Cash is a privacy pool to send and receive Ether without anyone being able to track your transactions.

It does this by using a smart contract that mixes together deposits from different users and then allows users to withdraw their funds to a different address. The smart contract uses a cryptographic technique called zero-knowledge proofs to ensure that withdrawals cannot be linked back to the original deposits.

To make a deposit, a user generates a secret and sends a hash of that secret to the Tornado Cash smart contract. The smart contract then adds the hash to its list of deposits.

To make a withdrawal, a user provides proof that they know the secret to one of the unspent deposits on the smart contract. The smart contract verifies the proof and then transfers the funds to the user's withdrawal address.

An external observer will not be able to determine which deposit a withdrawal came from, or which address made a deposit. This ensures that the user's privacy is protected.

How it's Made

  • Backend: We forked Tornado Cash and made some changes to it in order to run it on Scroll. We have deployed and verified all the contracts on Scroll Sepolia. The contract addresses are listed below.
    • ETHScrollCash (Main/Entry Point Contract): 0x15579a94E6896204Ded100CB29aD7dDe0bB1F0C1 (https://sepolia-blockscout.scroll.io/address/0x15579a94E6896204Ded100CB29aD7dDe0bB1F0C1)
    • Hasher: 0x3B29e0Ceb0EF42d428f2f0762c15bc15F66D7aae
    • Verifier: 0xA4933c0475D014212210909089dBe25e7539D83D
  • Frontend: A simple React app that allows anyone to send and receive private transactions directly from their browser.
  • CLI: A simple command line interface to send and receive private transactions.
background image mobile

Join the mailing list

Get the latest news and updates