DEV Community

Cover image for GhostPass: Anonymous Wallet Verification
Mohit Nagaraj
Mohit Nagaraj

Posted on

GhostPass: Anonymous Wallet Verification

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

Top comments (1)

Collapse
 
skysingh04 profile image
Akash Singh

Nice read! Very detailed!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.