GhostPass: Anonymous Wallet Verification
Mohit Nagaraj

Mohit Nagaraj @mohit_nagaraj

About: Intern @Sellersetu, Finessefleet | Member@Pointblank | Open source | 6x Hackathon wins | Ex-Intern @ Springreen, TheBearHouse

Location:
Bangalore, Karnataka
Joined:
Oct 12, 2024

GhostPass: Anonymous Wallet Verification

Publish Date: Jun 1
6 3

GhostPass is a privacy-focused Web3 application built during the Monad Hackathon that enables anonymous wallet verification without revealing any personal identity. This post covers the project goals, architecture, features, and implementation details.

📝 Prefer a personal behind-the-scenes read? Check out my 3-min blog post covering our hackathon experience in detail.

🧠 About the Monad Hackathon

The Monad Web3 Hackathon brought together blockchain developers, builders, and privacy advocates to experiment on top of Monad, a high-performance, EVM-compatible Layer 1 blockchain. Monad is designed for 10,000+ TPS, and its innovative consensus and execution engine enables scalable dApps without compromising decentralization.

During the hackathon, our team built GhostPass — a privacy-first wallet verification platform — within 6 hours.

Project Dashboard

Project: GhostPass

GhostPass is a privacy-focused platform for anonymous wallet verification on the blockchain. It allows users to prove wallet ownership and display verification status—without revealing personal identity.

🔐 Key Features

  • Wallet Verification: Users sign a challenge to prove ownership of their wallet.
  • Anonymous Identity: No personal data is collected; only public blockchain information is stored.
  • Verification Lookup: Anyone can check verification status of any Ethereum wallet.
  • Batch & Revoke Support: Admin tools for bulk verification and revoking.
  • Modern Web Interface: Built with Next.js and TypeScript for a smooth user experience.

⚙️ How It Works

1. Connect & Verify

  • Users connect via MetaMask or any EIP-1193 wallet.
  • A message challenge is signed to prove ownership.
  • Signature is verified server-side.
  • On success, a verification transaction is submitted to the smart contract.
  • The wallet address, verification timestamp, and transaction hash are logged.

2. Display Verified Users

  • The backend maintains a list of verified wallets with:

    • address
    • verifiedAt timestamp
    • transactionHash
  • This data is accessible via:

    • Public API (/verified-users)
    • UI-based lookup interface

3. Check Verification Status

  • Anyone can check if a wallet is verified by querying:
    • /verify/:address

🛠️ Technology Stack

  • Frontend: Next.js (React), TypeScript
  • Backend: Node.js, Express, ethers.js
  • Smart Contracts: Ethereum via Hardhat
  • Wallet Integration: MetaMask or any EIP-1193-compatible wallet

📡 API Overview

Endpoint Method Description
/verify POST Verify wallet by submitting signature
/verify/:address GET Check if a wallet is verified
/verified-users GET List all verified wallets
/revoke POST Admin-only endpoint to revoke verification

Session image

🧪 Local Development Setup

Backend


bash
cd backend
npm install
# Set environment variables in .env
npm start
Enter fullscreen mode Exit fullscreen mode

Comments 3 total

Add comment