GhostRoute

Secure ZK-layer anonymizing msg.sender for private, verifiable interactions with any smart contract

GhostRoute

Created At

HackMoney 2026

Project Description

GhostRoute serves as a specialized privacy-preserving proxy layer designed to decouple user identity from on-chain actions. By utilizing Zero-Knowledge Proofs (ZKP), the protocol allows users to generate proofs of intent locally, ensuring that the msg.sender remains hidden from public observation. These proofs are then verified and executed via a secure relay, enabling seamless and anonymous interaction with Uniswap and other DeFi ecosystems. GhostRoute guarantees transaction integrity and cryptographic security without leaving a traceable link between the originator and the smart contract, effectively shielding the flow of capital across the blockchain.

How it's Made

This project implements a privacy-preserving vault on the Ethereum blockchain. The core of the system is the PrivacyVault.sol smart contract, which leverages zero-knowledge proofs (ZKPs) to break the on-chain link between deposits and withdrawals, ensuring user privacy.

The architecture is built on several key technologies:

  • Solidity & Foundry: The smart contracts are written in Solidity and developed using the Foundry framework for compiling, testing, and deployment.
  • Noir Language: The zero-knowledge circuits, which are the foundation of the privacy mechanism, are created using the Noir programming language. These circuits, located in the /circuits directory, are used to generate proofs that a user owns a valid deposit without revealing which one.
  • Merkle Trees: A Merkle tree is used to store commitments of the deposits. When a user deposits, a unique commitment is added to this tree. To withdraw, they must prove membership of their commitment within the tree without revealing the commitment itself.
  • Permit2: The system integrates Uniswap's Permit2 library (Permit2Lib.sol). This enhances user experience by allowing for gasless token approvals. Instead of a separate approve transaction, users can sign an off-chain message, which the PrivacyVault uses to pull the funds in a single, efficient transaction during the deposit.

The workflow is as follows: a user deposits assets and a commitment is added to the Merkle tree. To withdraw, the user generates a ZK-proof off-chain using the Noir circuit, proving they own a valid, unspent deposit. They submit this proof to the PrivacyVault contract, which verifies it. If the proof is valid, the contract transfers the funds to a new address, severing the link to the original depositor. This combination of technologies creates a robust system for confidential transactions on a public ledger.

background image mobile

Join the mailing list

Get the latest news and updates

GhostRoute | ETHGlobal