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: 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
- Public API (
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 |
🧪 Local Development Setup
Backend
bash
cd backend
npm install
# Set environment variables in .env
npm start
Nice read! Very detailed!