
Wifiproof
Private proof of presence using venue WiFi, World ID, and zero-knowledge location proofs.
Demo
About
WiFiProof is a privacy-preserving alternative to visitor books and public attendance lists. It lets someone prove they were physically present at an event without publishing their name, wallet address, IP address, or exact GPS coordinates. A valid check-in combines four signals: World ID for unique-human verification, the venue’s approved internet connection, a rotating QR code displayed at the venue, and a zero-knowledge proof that the attendee is within the event radius. The final result is an event-specific proof of attendance rather than a record of the person’s identity. WiFiProof is designed for conferences, schools, coworking spaces, and buildings that need reliable attendance without collecting more personal data than necessary.
How it's made
The frontend is built with Next.js, React, and TypeScript. The proximity circuit is written in Noir, and Barretenberg generates an UltraHonk proof directly in the browser, so the attendee’s coordinates never leave their device. The proof shows that the coordinates fall within the venue’s radius and binds the result to one event. A generated Solidity verifier checks the proof on Base, while EAS records the attendance receipt. World ID is the unique-human layer. The app verifies the World ID proof and creates an event-scoped identifier, preventing one person from checking in repeatedly without revealing who they are. Browsers cannot reliably expose or prove a WiFi SSID, so I used a practical workaround: the server checks whether the request came through the venue’s registered public network range and also requires a short-lived rotating QR challenge. These checks are combined into a signed EIP-712 authorization, and a CDP-managed relayer submits the transaction without exposing the attendee’s wallet on-chain. Supabase stores event configuration and manages idempotent relay jobs. The public prototype is deployed on Base Sepolia, and the V2 contracts add anonymous sponsored claims and stronger event binding.