Z mark

Getting Started

Welcome

Welcome to z.fun documentation. Learn how to build with privacy-preserving technology.

Overview

z.fun is a privacy-preserving Zcash proof-of-holdings system built with SP1 zero-knowledge proofs. The platform enables Zcash users to prove ownership of shielded assets without revealing transaction history or exact balances, using advanced cryptographic primitives including Merkle tree proofs and nullifier exclusion verification.

The system takes blockchain snapshots at specific heights and generates cryptographic proofs of holdings that can be verified independently. The underlying technology can enable use cases like airdrops, Proof of Solvency, and anonymous identity bootstrapping while maintaining the privacy guarantees that make Zcash unique.

How Verification Works

The z.fun verification process combines client-side computation with zero-knowledge proofs to privately verify Zcash holdings with minimized trust assumptions.

1

Export Wallet Database

Export your Zcash read-only wallet data from Zashi wallet. This file contains your encrypted transaction history and viewing keys needed to reconstruct your shielded holdings. It does not contain the spending keys.

Upload Wallet Database
2

Local Processing

Your database is processed locally in your browser using WebAssembly. The system extracts Sapling and Orchard notes, builds Merkle inclusion proofs, and collects nullifier exclusion proofs. The shielded viewing key data never leaves your machine.

Local Processing
3

Zero-Knowledge Proof Generation

The processed witness is sent to the SP1 prover service running in a Trusted Execution Environment (TEE). A TEE is used so that no intermediaries can decrypt the private data apart from the verified prover program. In the TEE, a ZK proof is generated that proves the witnessed holdings at the snapshot height without revealing transaction details or exact balances.

Zero-Knowledge Proof Generation
4

Verification

The ZFUN backend verifies your proof and records public outputs for the $ZFUN airdrop. Only the rounded total balance and cryptographic commitments are stored; it's impossible to connect back to the shielded addresses. Your holdings are verified while maintaining complete privacy.

Verification