Grant Application: Zk-CosmWasm: A Programmable Selective Disclosure WebAssembly Smart Contract Virtual Machine

ZM!

My name is Austin, and I am stoked to have this opportunity to share the details regarding my grant application for a smart contract VM that will extend the application layer of the primitives coming from the ZCash ecosystem.

The Problem in One Sentence

Lack of choice for simple, programmable, selective disclosure smart contract virtual machines.

Our Proposed Solution In One Sentence

Providing CosmWasm, A WebAssembly smart contract language and VM, with native support of uploading circuit proving and verification keys for distribution and use by smart-contracts, to the ZCash community for application-specific L2’s.

Specification

To review our full specification, please refer to the grant issue opened here: Grant Application - Zk-Cosmwasm: A Programmable Selective Disclosure WebAssembly Smart Contract Virtual Machine · Issue #182 · ZcashCommunityGrants/zcashcommunitygrants · GitHub

Focal Points

Team Building

Currently we have three confirmed team members ready to prioritize implementations. This includes myself, the project scope curator, a team member dedicated to implementation of examples and demos making use of this VM, and a team member who specializes in use of LLMs for code-reviews and audits. We have open positions for 2 more team members, and want to prioritize including new team members able and eager to contribute to iterating from the existing state of the application. This will give us the best chance of long term success with multiple independent parties with vested interest in collaboration. We expect to onboard team members during this initial stage of submission and sharing our grant proposal:

  • Front End Specialist: This team member position is expected to have a dedicated focus on front-end specific library tuning, for wallets,UI’s & auxiliary tooling interacting with the zk-wasmvm.

  • Zk-Circuit Implementation Advisor: This role serves to provide a source of wisdom for our team to in regards to applications and implementations of the zk-proof circuits. This will enhance our team by having a neutral, trustworthy source of feedback, so that our implementation will be able to be usable to the largest potential consumer base possible.

  • Cosmos-SDK integrator: The team member dedicated to this role will focus on implementing useful application (and consensus) level experiments and demos with the zk-wasmvm. This will expedient sources of inspiration and data points for how others could make use of this VM layer. (I (the author of this post) am qualified from experience to participate in this role, however this project scope will benefit with more brains involved!) UPDATE (1/13/26): We have onboarded a team member for this role.

Efficient Circuit Storage, De/Serialization

A large effort of this specification goes into defining how the Virtual Machine parses circuits verifying keys from its raw bytes during proof verification. We make use of existing storage optimization techniques available in the VM to pin circuits to cache, reducing redundant and overall on-chain gas cost for accessing circuits repeated use.

Benchmarking, Audits, and Testing Suites

This grant, if approved will set the expectation that a substantial amount of the energy dedicated to further iterating what exist will go to ensuring functionality and soundness of the implementation. This includes making sure it is as easy as possible for anyone to review, and more importantly verify that our claims on benchmarking and functionality are accurate.

This will include:

  • A formal specification testing suite (via * Quint)
  • Known exploit sanity tests (via * Wycheproof)
  • Code Coverage tests
  • Unit,Integration,E2E, and property tests
  • Deterministic Nix environment

Cost Analysis & Review

our requested grant is totaled at 500,000, which we are proposing to be distributed across a timespan of at minimum 6 months to maximum 12 months. We are requesting an initial startup funding of 50,000, and within 2 weeks we expect to accomplish our first milestone, which will provide:

  • A complete technical architecture documentation
  • Basic tests and demonstration of the functional application layer module for storage and access of circuit verification keys
  • Basic tests and demonstration of the functional FFI binary that powers plonkish circuit key deserialization and use for verifying proofs
  • Gas benchmarking and reports for verification operations
  • CONTRIBUTING.md guidelines

By reaching these goals set, we are requesting from our grant to have 50,000 distributed for reaching this milestone.

Our second milestone for funding will request 100,000 after we complete the following goals set:

  • Full SDK integration and documentation
  • Rust library for proof generation and contract interaction
  • Typescript + Wasm-bindgen library for proof generation
  • Circuit versioning and depreciation mechanism
  • Example application demonstrating end-to-end flow

Following our second milestone, we project a timeline of 2-6 months to accomplish our next set of goals, which are:

  • multi-circuit type integration (binius64, noir, groth16 verifier integration)
  • reference circuits/contract pairs for demonstrating application implementations
  • a complete, comprehensive product and API documentation
  • an internal audit/review post-mortem

Upon reaching this goal verifiably, we are requesting in this grant 200,000 to be released for compensation of our team.

Our final set of goals we are proposing will include the following:

  • 3rd party audit process post mortem & remediation of any issues discovered
  • Production deployment on existing CosmWasm chain
  • Deployment of a bug bounty program
  • Mainnet deployment & existing cosmwasm migration guide
  • Project retrospective and future roadmap documentation.

We will upon verification of reaching our final set of goals request in this grant to receive the remaining 100,000.

Request for Feedback

I am eager to see what you guys think about this implementation. Is this something you see being actually useful with respect to the current roadmap of ZCash? I am most excited about this implementation powering frameworks like private DAOs, interoperable e-cash vouchers, and private NFT-FI, however I’m certain theres even more useful implementations with this design that could ultimately directly benefit the Zcash ecosystem.

THANK YOU for your time reviewing our proposal and most imporantly the opportunity for support and feedback, I’m looking forward to providing as much clarity as needed ::slight_smile:

2 Likes

Hello Austin, glad you made it to the forum,

This is an excellent proposal that addresses a critical gap in the Zcash ecosystem. As the founder of Nozy Wallet (a privacy-first Orchard wallet), I’m excited about the potential this has for the entire Zcash community, and I’d like to share how Nozy Wallet can help bring this vision to life.

Why This Matters for Zcash

The Zcash ecosystem has been missing a key piece: programmable privacy. While we have excellent shielded transaction capabilities with Orchard, the lack of a smart contract VM with native ZK support has limited our ability to build:

  • Private DeFi applications on Zcash L2s

  • Selective disclosure protocols for compliance without surveillance

  • Privacy-preserving dApps that leverage Zcash’s strong privacy guarantees

  • Cross-chain privacy bridges connecting Zcash to other privacy-focused chains

Zk-Cosmwasm fills this gap perfectly by providing a WebAssembly-based smart contract platform with native support for zero-knowledge circuit proving and verification. This is exactly what Zcash needs to compete with other privacy-focused ecosystems while maintaining our cryptographic privacy advantages.

Nozy Wallet’s Role in This Vision

Nozy Wallet is positioned to be the first Zcash wallet with native Zk-Cosmwasm integration, which would enable several critical use cases:

1. Secret Network Integration

One of our key missions is bringing Secret Network and other privacy tokens to the Zcash ecosystem. Zk-Cosmwasm makes this possible:

  • Privacy-Preserving Token Bridges: Users can bridge SNIP-20 tokens (Secret’s privacy tokens) to Zcash L2s while maintaining privacy throughout the process

  • Cross-Chain Privacy: Enable private transfers between Secret Network and Zcash L2s using selective disclosure proofs

  • Unified Privacy Wallet: Nozy could become a unified wallet for both Zcash and Secret Network, with seamless cross-chain privacy

Example Use Case:


User wants to use Secret Network's private stablecoins on a Zcash L2:

1. Bridge sUSDC from Secret Network to Zcash L2 (using Zk-Cosmwasm)

2. Use sUSDC in private DeFi on Zcash L2

3. All transactions remain private via zero-knowledge proofs

4. Nozy Wallet provides seamless UX for both chains

2. Selective Disclosure for Compliance

Zk-Cosmwasm enables Nozy to offer compliance without surveillance:

  • KYC/AML Proofs: Users can prove they’ve completed KYC without revealing identity

  • Regulatory Compliance: Prove transaction compliance without exposing transaction history

  • Exchange Integration: Enable exchanges to verify compliance while users maintain privacy

This is crucial for Zcash adoption, as it addresses regulatory concerns while preserving user privacy.

3. Private DeFi on Zcash L2s

With Zk-Cosmwasm, Nozy can enable:

  • Private Lending: Borrow/lend ZEC with privacy-preserving collateral proofs

  • Private DEX: Trade tokens without revealing amounts or identities

  • Private Yield Farming: Earn yield while maintaining transaction privacy

  • Private Stablecoins: Use privacy-preserving stablecoins on Zcash L2s

This would make Zcash competitive with other DeFi ecosystems while maintaining our privacy advantage.

4. Developer Ecosystem Growth

By integrating Zk-Cosmwasm into Nozy, we create a complete developer toolkit:

  • Wallet Infrastructure: Nozy provides the wallet layer

  • Smart Contract Platform: Zk-Cosmwasm provides the execution layer

  • Privacy Circuits: Developers can upload custom ZK circuits

  • End-to-End Privacy: From wallet to smart contract, everything is private

This combination would attract developers building privacy-preserving applications, growing the Zcash ecosystem significantly.

Technical Integration Plan

We’re already planning integration work that aligns perfectly with your milestones:

Milestone 1 (Your First 2 Weeks):

  • We can begin prototyping CosmWasm client integration in Nozy

  • Test with your initial architecture documentation

  • Provide feedback from wallet integration perspective

Milestone 2 (Your 100k Milestone):

  • Integrate Rust library for proof generation

  • Add TypeScript/Wasm-bindgen support for desktop client

  • Create example applications demonstrating end-to-end flow

Milestone 3 (Your 200k Milestone):

  • Full multi-circuit support (Binius64, Noir, Groth16)

  • Reference circuits/contract pairs

  • Production-ready integration

Milestone 4 (Your Final Milestone):

  • Mainnet deployment support

  • Migration guide for existing CosmWasm contracts

  • Complete Nozy Wallet integration

Community Impact

This proposal, combined with Nozy Wallet integration, would:

  1. Attract New Users: Privacy-preserving smart contracts would bring DeFi users to Zcash

  2. Retain Existing Users: Advanced privacy features would keep current users engaged

  3. Developer Growth: Smart contract platform would attract developers

  4. Ecosystem Maturity: Move Zcash from “privacy coin” to “privacy platform”

Our Commitment

We’re committed to:

  • Active Integration: Begin prototyping as soon as your first milestone is complete

  • Community Support: Help promote and test Zk-Cosmwasm in the Zcash community

  • Documentation: Create comprehensive guides for Nozy + Zk-Cosmwasm integration

  • Developer Outreach: Help onboard developers building on Zk-Cosmwasm

We fully support this grant and are ready to integrate Zk-Cosmwasm into Nozy Wallet as soon as it’s available.

Let’s build the future of private cryptocurrency together!