Privacy-preserving ads powered by ZK proofs: users get paid, not tracked.
ZooKies is a conceptual design for a privacy-preserving advertising protocol that flips the traditional surveillance-based ad model into a user-owned, proof-based system. Instead of tracking users across the web, publishers issue signed attestations when users engage with content. These attestations are stored locally, encrypted using keys derived from the user’s embedded smart wallet. Later, users generate zero-knowledge proofs to privately demonstrate they meet advertiser criteria—such as interest in certain topics or age eligibility—without revealing any personal data.
The protocol architecture leverages Zircuit’s native support for EIP-7702 account abstraction to deliver a seamless, gasless UX, and uses Sequencer Level Security (SLS) to detect coordinated fraud or sybil patterns at the network layer. Ad campaigns are matched entirely client-side based on local profiles, and qualification proofs are submitted on-chain for trustless verification. Payments for verified ad interactions are automatically distributed to users and publishers via smart contracts, supporting a new participation-based ad economy.
ZooKies includes a complete technical architecture, proof flow, profile schema, attestation format, and monetization model. While the repo is just an MVP, the submission demonstrates a full-stack, Zircuit-native vision for what a human-centric, privacy-preserving ad system could become.
We built ZooKies using JavaScript, Circom, SnarkJS, and Zircuit. Publisher websites use a lightweight SDK to track article clicks and sign attestations, which are encrypted and stored locally in IndexedDB. Wallets are generated silently using Privy, and we derive an AES key from the wallet’s private key for profile encryption. When a user qualifies for an ad, a ZK proof is generated in the browser using Groth16 and verified on Zircuit. We use EIP-7702 smart accounts for gasless, invisible UX. Zircuit’s Sequencer-Level Security helps detect fraud automatically. One hacky part: our ZK circuit recursively verifies multiple attestations for efficient proof generation.