zkVVM
Privacy for users, transparency for institutions.
Created on 20th February 2026
•
zkVVM
Privacy for users, transparency for institutions.
The problem zkVVM solves
The Problem
Financial institutions moving on-chain face an unsolvable tradeoff:
• Full transparency exposes sensitive financial activity to competitors, attackers, and the public.
• Full privacy prevents auditing and compliance, making institutions and regulators unable to verify fund flows.
Neither extreme enables real-world adoption. The system needs selective disclosure, transparency where accountability is required, privacy where protection is essential.
The Insight
Financial infrastructure should make institutional flows visible while keeping individual transactions private. In other words: transparency for settlement and oversight, privacy for users.
The Solution: zkVVM
zkVVM introduces a two-layer model:
• Transparent inter-institution layer:
Institutions deploy their own zkVVM instances and settle between each other via EVVM. These flows are visible and auditable on-chain.
• Private intra-institution layer:
Users transact inside shielded pools using zero-knowledge proofs. Deposits, transfers, and withdrawals remain unlinkable and amounts can remain private.
Why It Matters
• Institutions gain compliance-ready transparency without exposing customer data.
• Users get real financial privacy and protection from surveillance.
• Regulators & auditors can verify flows and solvency where it matters.
zkVVM makes on-chain finance viable by combining privacy, auditability, and institutional compliance.
Challenges we ran into
One of the main hurdles was getting the zero-knowledge withdrawal flow to work reliably across the Noir circuits, verifier, and Solidity contracts. Early proofs failed due to mismatches in public inputs, Merkle root formatting, and nullifier handling, which caused on-chain verification to revert. We resolved this by standardizing input encoding across the circuit and contract layers, adding helper circuits for commitment/root computation, and building integration tests that generated real proofs end-to-end. This ensured deterministic proof generation and prevented double-spend or invalid-root errors.
Use of AI tools and agents
We used AI assistants, primarily Gemini and Claude, as development copilots to accelerate research, implementation, and documentation. They helped clarify zero-knowledge workflows, Poseidon/Merkle/nullifier logic, and Noir circuit constraints; reviewed Solidity patterns and EVVM meta-transaction flows; assisted with frontend hooks, TypeScript structure, and UX improvements; and supported drafting technical docs and the pitch narrative. All architectural decisions, security-critical logic, and final implementations were validated manually and through testing.
Tracks Applied (1)
Prosperia
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
