Stop Sharing Your Data. Start Proving Your Truth.
IDHard is a programmable, privacy-preserving identity vault built for the Web3 era. It completely re-engineers the KYC process by allowing users to verify their identity exactly once with an anchoring institution, and subsequently prove their credentials across the internet using Zero-Knowledge Proofs (ZKPs) and Selective Disclosure JWTs (SD-JWT)—without ever exposing their physical documents or raw Personally Identifiable Information (PII) again.
- For Businesses / Banks: Eliminates multi-billion dollar "Data Liability" by removing the need to store honeypots of redundant PII. Drastically reduces the $2-$10 cost per repeated KYC check per user.
- For Users: Complete data sovereignty. Documents live inside the local device Secure Enclave. Users mathematically prove attributes (e.g.,
Age > 18orCountry = 'India') without disclosing the underlying raw values.
The ecosystem consists of four interconnected repositories/services:
The primary anchoring entry point where users initiate their KYC process.
- Tech Stack: Next.js, TailwindCSS, React.
- Features:
- Beautiful, animated Web3 Neobank interface.
- Real-time Government API integrators (e.g., DigiLocker modal).
- Web3 Wallet connection to link Ethereum Addresses (EIP-5192) to verified human identities.
The core Node.js application responsible for cryptographic operations, verifying ZK-proofs, and interacting with the ledger.
- Tech Stack: Node.js, Express, Ethers.js, Veramo Core, MerkleTreeJS.
- Features:
- Groq Multimodal AI: Uses
meta-llama/llama-4-scout-17b-16e-instructto OCR extract identity documents intelligently and privately. - SD-JWT Issuance: Transforms planar KYC data into highly-salted Merkle leaves, returning a VC containing only hashes (
/api/issue-sd-jwt). - Soulbound NFT Minting: Anchors the root hash of the user's Merkle tree to the Polygon Amoy testnet.
- ZKP Verification Node: Receives encrypted intercept packets from the mobile wallet, validates predicates against on-chain roots via Merkle inclusion proofs, and serves the state to third parties (
/api/verify-proof).
- Groq Multimodal AI: Uses
A mock "DeFi Exchange" or secondary financial institution that wants to verify a user natively without doing the KYC themselves.
- Tech Stack: Next.js, TailwindCSS.
- Features:
- Interactive Cryptographic Explorer: Real-time polling to verify session challenges seamlessly via QR codes.
- Dynamically parses intercept data to distinguish between:
- ZKP Range Proofs: (e.g.
Predicate Age >= 18mathematically verified, no data disclosed). - Selective Disclosure: (e.g. User explicitly shares text
123 Tech Parkalongside its verified Leaf Hash). - Hidden Anchor Nodes: Prove that undisclosed attributes remain strictly hashed and encrypted under user consensus.
- ZKP Range Proofs: (e.g.
- Demo Simulator: Built-in network-simulator button to auto-verify ZKP packets for demonstration purposes without requiring a physical camera.
The pocket-sized Secure Enclave vault (external repository/module).
- Scans session QR codes.
- Unlocks SD-JWT from local storage using biometrics.
- Compiles Circom / Groth16 WASM proof circuits directly on the edge.
- Sends mathematical predicates to the respective verifier endpoints via HTTP.
Node.js(v18+)npmoryarn- Free Ngrok Account (for mobile app tunnel)
cd bank_backend
npm install
# Ensure you copy .env.example to .env and input your Polygon RPC and Groq API keys
npm run startRuns on http://localhost:3001
cd frontend_bank
npm install
npm run devRuns on http://localhost:3000
cd bank-b-frontend
npm install
npm run devRuns on http://localhost:3002 (Auto-increments if port is busy).
- Open Bank B (
http://localhost:3002). - Type in your Ngrok URL (or
localhosttunnel) and click Initialize Verification. - If you do not have the physical Android app on hand: Click Auto-Simulate Mobile Scan (Demo Mode).
- Watch the
Network Observer Activityterminal automatically forge the cryptographic chain, construct the local Merkle Tree, query Amoy, and pop the Verified lock!
- Frontend: React, Next.js 14, TailwindCSS, Framer Motion
- Cryptography:
snarkjs,circom,merkletreejs,keccak256 - Agent & JWT:
@veramo/core, W3C Verifiable Credentials - AI/Edge: Groq Cloud LPU SDK (Llama 4 Instruct)
- Blockchain: Polygon Amoy Testnet, OpenZeppelin, Hardhat, Ethers.js v6
Built with ☕️ and 🧠 during Hackfest 2026. Empowering users with digital dignity.