Zface.cash

Zface.cash

Private Payments. No Keys. Just Faces

Created on 22nd June 2025

Zface.cash

Zface.cash

Private Payments. No Keys. Just Faces

The problem Zface.cash solves

Problem:

All digital payments require the recipient to provide some form of recipient wallet, address or bank account which adds friction to the payment process.
Onboarding users requires them to first install a wallet, before being able to use any dapp, with 90% of users fall-off a this point.

Solution:

Zface.cash solves this by allowing you to pay just by scanning the face of the recipient, all while preserving privacy. No wallets, addresses or identifiers needed - just a face scan.

Fastest way to onboard users - we allow users to receive funds first, before needing to install a wallet.

How we solve this:
Zface.cash allows the sender to scan the face of the recipient, which will deposit funds into a one-time-use address.
Only the recipient will be able to withdraw funds from the address by verifying that it is them by scanning the face.

Under the hood:
The sender takes a video of the recipient's face which creates a set of unique vector embeddings of the recipient. A one-time-use address is created with the funds being deposited there. The sender sends a link to the recipient, which the recipient can use to do a scan of their face. This scan will provide a set of facial embeddings which will be compared inside a zk-curcuit to the initial set of facial embeddings generated during the sending process. If the similarities in both sets are within a certain threshold, the recipient will be able to withdraw the funds. After withdrawing the funds the one-time-address is destroyed.

Challenges we ran into

Noir
Lack of dev-friendliness

zkVerify
Making a sample proof and verifying them using the Relayer through the API call was relatively easy.
We ran into issues, related to the vkey generation and some of the configurations, especially in relation to the smart contract and polling it, due to some gaps in the documentation.
Steve and Milica from Horizen generously assisted us by helping with this step.

Tracks Applied (4)

ZK Hack Berlin Winners

We envision Zface.cash as the easiest way to provide payments, as well as the easiest way to onboard users. No wallets, ...Read More

The most innovative zkApp using Relayer

Zface.cash is leveraging the zkVerify network to reduce the costs of verification, while providing a robust verification...Read More
Horizen

Horizen

Best ZK App with Product-Market Fit

Zface.cash is designed to be the easiest way to pay, ideal for onboarding users who don't have a wallet, all while prese...Read More
Arbitrum

Arbitrum

Best ZK app with No Product-Market Fit

Although we believe our product has a very good product-fit, the infrastructure could be used also for private goods. Z...Read More
Arbitrum

Arbitrum

Discussion

Builders also viewed

See more projects on Devfolio