Zkcash

ZKcash: Private face-based crypto payments with liveness checks and no wallet required.

Zkcash

Created At

ETHGlobal Cannes 2026

Project Description

ZKcash is a privacy-preserving payment app that lets users send funds to someone using only a photo of the recipient. The sender locks funds on-chain to a facial commitment, and the recipient unlocks them by scanning their own face on their phone. No wallet is required for the recipient at onboarding. ZKcash adds liveness checks to prevent spoofing with photos, videos, or deepfakes, and generates a zero-knowledge proof that the recipient’s live face matches the sender’s reference image. The proof verifies the match privately, so no centralized server ever stores both images, and no biometric data is publicly revealed.

How it's Made

ZKcash combines a web frontend, ZKML pipeline, and on-chain verification. The frontend is built with Vite and TypeScript, using TensorFlow.js/MediaPipe for face processing and a liveness flow (blink/head-motion checks). We use Rarimo’s Bionetta ZKML stack to generate facial embeddings and compile the verification logic into a zk circuit (Circom + Groth16). The recipient’s device creates a proof that their live scan matches the sender’s committed embedding above a configured threshold, without revealing either embedding or source images. Solidity contracts verify proofs on-chain and release locked funds, with nonce-based replay protection and refund logic. Funds are routed to a stealth-style destination flow so recipients can claim securely even without preconfigured wallet onboarding.

background image mobile

Join the mailing list

Get the latest news and updates