# Grant Application: Zecret Ballots

**URL:** <https://forum.zcashcommunity.com/t/grant-application-zecret-ballots/55059>\
**Category:** Applications\
**Created:** [March 23, 2026, 10:19am UTC](https://forum.zcashcommunity.com/t/grant-application-zecret-ballots/55059 "2026-03-23T10:19:40Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![bryant.gnosisguild](https://avatars.discourse-cdn.com/v4/letter/b/3ab097/32.png) [@bryant.gnosisguild](https://forum.zcashcommunity.com/u/bryant.gnosisguild)\
**Post date:** [March 23, 2026, 10:19am UTC](https://forum.zcashcommunity.com/t/grant-application-zecret-ballots/55059/1 "2026-03-23T10:19:40Z")

</div>

Hey folks!

Following our recent demo on the Zechub community call, Gnosis Guild has submitted a **Zcash Community Grant application** for a bribery-resistant secret-voting tool called **Zecret Ballots**. It is built on top of [The Interfold](https://www.theinterfold.com), a distributed protocol enabling confidential coordination between independent parties. We call this **multiplayer privacy.**

Here is a link to the application, and we welcome all feedback!  
We are standing by to answer any questions you might have! Thank you all so much!

> <https://github.com/ZcashCommunityGrants/zcashcommunitygrants/issues/240>
>
> \### Terms and Conditions
> 
> \- \[x\] I agree to the \[Grant Agreement\](https://9ba4718…c-5c73-47c3-a024-4fc4e5278803.usrfiles.com/ugd/9ba471\_f81ef4e4b5f040038350270590eb2e42.pdf) terms if funded
> \- \[x\] I agree to \[Provide KYC information\](https://9ba4718c-5c73-47c3-a024-4fc4e5278803.usrfiles.com/ugd/9ba471\_7d9e73d16b584a61bae92282b208efc4.pdf) if funded above $50,000 USD
> \- \[x\] I agree to disclose conflicts of interest
> \- \[x\] I agree to adhere to the \[Code of Conduct\](https://forum.zcashcommunity.com/t/zcg-code-of-conduct/41787) and \[Communication Guidelines\](https://forum.zcashcommunity.com/t/zcg-communication-guidelines/44284)
> \- \[x\] I understand all milestone deliverables will be validated and accepted by their intended users or their representatives, who will confirm that the deliverables meet the required quality, functionality, and usability for each user story.
> \- \[x\] I agree that for any new open-source software, I will create a \`CONTRIBUTING.md\` file that reflects the high standards of Zcash development, using the \[\`librustzcash\` style guides\](https://github.com/zcash/librustzcash/blob/main/CONTRIBUTING.md#styleguides) as a primary reference.
> \- \[x\] I understand when contributing to existing Zcash code, I am required to adhere to the project specific contribution guidelines, paying close attention to any \[merge\](https://github.com/zcash/librustzcash/blob/main/CONTRIBUTING.md#merge-workflow), \[branch\](https://github.com/zcash/librustzcash/blob/main/CONTRIBUTING.md#branch-history), \[pull request\](https://github.com/zcash/librustzcash/blob/main/CONTRIBUTING.md#pull-request-review), and \[commit\](https://github.com/zcash/librustzcash/blob/main/CONTRIBUTING.md#commit-messages) guidelines as exemplified in the \`librustzcash\` repository.
> \- \[x\] I agree to post request details on the \[Community Forum\](https://forum.zcashcommunity.com/c/grants/33)
> \- \[x\] I understand it is my responsibility to post a link to this issue on the \[Zcash Community Forums\](https://forum.zcashcommunity.com/c/grants/33) after this application has been submitted so the community can give input. I understand this is required in order for ZCG to discuss and vote on this grant application.
> 
> \### Application Owners (@Octocat, @Octocat1)
> 
> gnosisguild, 0xkeygen
> 
> \### Organization Name
> 
> Gnosis Guild
> 
> \### How did you learn about Zcash Community Grants
> 
> I've been a friend to the zcash community for several years. I first applied for the webzjs grant several years ago whilst in a previous role.
> 
> \### Requested Grant Amount (USD)
> 
> 130,000
> 
> \### Category
> 
> Infrastructure
> 
> \### Project Lead
> 
> \`\`\`project-lead.yaml
> Name: Auryn Macmillan 
> Role: Gnosis Guild Founder, The Interfold Product Lead
> Background: Gnosis Guild (Founder), Clr.fund (Founder), DAOhub (Co-founder), Gnosis (Product Manager, DAO Lead, Solidity Developer)
> \`\`\`
> 
> \### Additional Team Members
> 
> \`\`\`team-members.yaml
> The Interfold team is comprised of;
> 
> \- Name: Bryant Soorkia 
> Role: Partnerships Manager
> Background: ChainSafe Systems, zkVerify, Sygma Labs, Horizen Labs
> \- Name: Alessandro Cara
> Role: Applied Cryptographer 
> Background: Ethereum Foundation (PSE), Halborn 
> \- Name: Rudi Yardley 
> Role: Full Stack Engineer & Applied Cryptographer
> Background: Blockhackers, Hydraswap, Thorchain, ETHGlobal Finalist
> \- Name: Giacomo Corrias
> Role: Applied Cryptographer
> Background: Web3privacy now, Ethereum Foundation (PSE)
> \- Name: Hamza Khalid
> Role: Applied Cryptographer
> Background: Permission.io, Antematter, Codora
> \- Name: Younes Talibi Alaoui
> Role: Research & Applied Cryptographer
> Background: PhD Cryptography Research
> \- Name: Zara Javar
> Role: Research & Applied Cryptographer
> Background: Nethermind, Professor at New York Institute of Technology, Navaco
> \- Name: Olga Kohut
> Role: Growth and Marketing Manager
> Background: Soundcloud, Fluence, Cloudless Labs
> \- Name: Tiago Santos
> Role: UI/UX Design Lead
> Background: DesignPractice, LiveSurface
> \- Name: Alex Espinosa
> Role: Ops Lead
> Background: Gnosis
> \- Name: Marvin Lin
> Role: CMO
> Background: Tiny Mix Tapes
> \- Name: Omar Desogus
> Role: Full Stack Engineer
> Background: Ethereum Foundation (PSE)
> \`\`\`
> 
> \### Project Summary
> 
> The Interfold is a distributed network that enables confidential coordination between independent parties.
> 
> Confidential coordination is not privacy as isolation. It is privacy in relation. Many parties. Many operators. No vantage point from which the entire system can be seen or controlled. Multiplayer privacy.
> 
> Confidential coordination means independent parties can produce shared computational outcomes together without custody, exposure, or trusted hardware. This enables everything from secret ballots and sealed-bid auctions to cross-institutional analytics.
> 
> This Project is called \*\*Zecret Ballots.\*\*
> 
> 
> \### Project Description
> 
> Secret Ballots is a coercion-resistant secret voting application built on top of The Interfold that enables DAO token holders and community members to participate in governance decisions through verifiable secret ballots. We propose the implementation of Zecret Ballots, an application with the same features, but specifically for Zcash token holders. 
> 
> Zecret Ballots will extend The Interfold’s CRISP voting framework to Zcash governance, enabling coercion and bribery-resistant secret ballots for $ZEC holders. Votes are encrypted end-to-end, are tallied fully-homomorphically, and the aggregate total decrypted via threshold cryptography. No single party can decrypt the results themselves, preventing malicious actors. Our goal for this project is to deploy an end-to-end working application to be used by the ZecHub team for governance related decisions. 
> 
> The Gnosis Guild team recently presented a live interactive demonstration of the application during a Zcash Community call on the 18th of March, 2026. The results can be found here: https://dao.theinterfold.com/plugins/crisp-token-voting/#/proposals/5279253622616716040438085367773834220098331227476449461096751838734625857724 
> 
> \### Proposed Problem
> 
> Effective governance requires participation, but participation often over exposes participants. This can lead to some participants feeling disincentivised to participate at all. 
> 
> Existing solutions to this problem face trade-offs. They sacrifice decentralisation for privacy, decentralisation for verifiability, or verifiability for privacy. Once a blockchain trilemma, now also a privacy trilemma. These solutions often introduce trusted coordinators, or rely on specialized hardware such as TEEs, that make them vulnerable to side-channel attacks. All of which can ultimately compromise the effectiveness and legitimacy of outcomes. 
> 
> 
> \### Proposed Solution
> 
> Our proposed solution, \*\*Zecret Ballots\*\*, eliminates these trade-offs and consists of the following properties: 
> 
> \- vote masking enabled receipt-freeness 
> \- verifiability
> \- distributed trust via a network of ciphernodes 
> \- cryptographic security guarantees (threshold enc/decryption, zero-knowledge proofs & fully homomorphic computation)
> \- crypto-economic security guarantees (ciphernode bonding & slashing)
> \- zcash chain balance snapshots w/ merkle tree proofs posted on Ethereum
> 
> \*\*Zecret Ballots\*\* will include the following features:
> 
> \- gasless transactions on Ethereum mainnet to ensure a clean UX for zcash end-users
> \- support for zcash transparent wallets (ECDSA) 
> \- support for zcash shielded wallets (EdDSA) 
> \- multiple choice ballots
> \- abstain option/s
> \- customisable quorum thresholds 
> \- constant-credits option 
> \- custom credits option
> 
> 
> \### Solution Format
> 
> Open-source code base delivered the form of a github repository
> 
> \- solidity smart contracts
> \- noir/rust zk circuits
> \- relayer service
> \- snapshot and merkle reconstruction tooling
> \- typescript/react frontend ui/ux
> 
> Documentation: 
> 
> \- developer documentation 
> \- explainer for end-users
> 
> Maintenance:
> 
> \- six months of maintenance support including bug fixes, protocol updates, and security patches, as required to sustain acceptable uptime
> 
> 
> \### Dependencies
> 
> \- The Interfold Protocol
> \- CRISP SDK
> 
> 
> \### Technical Approach
> 
> This grant proposal builds upon three layers: The Interfold protocol, the CRISP voting framework, and Zcash-specific extensions. ​
> 
> Layer 1: The Interfold Protocol
> 
> \- The Interfold provides Encrypted Execution Environments (E3) for computation over encrypted data using:
> 
> - FHE (BFV scheme via fhe.rs): Operations on encrypted data 
> - ZKPs (Noir circuits): Verifies computation correctness
> - DKG & Threshold decryption: Ciphernode Committee FHE pubkey generation, and FHE result decryption
> - For further information on The Interfold’s implementation, please refer to this link: https://docs.theinterfold.com/architecture-overview 
> 
> \- The flow of an encrypted execution environment (E3) is as follows:
> - Request submitted to The Interfold contracts with specified computation parameters
> - Verifiable sortition process selects Ciphernode Committee, performs DKG, publishes shared public key
> - Data providers encrypt inputs, generate ZK proofs, submit to smart contract (validated and stored in a Merkle tree)
> - Compute Provider (currently Risc Zero ZKVM) executes computation over the encrypted inputs and produces an encrypted output + a proof of correct computation
> - Ciphernode Committee performs threshold decryption/s, and then publishes the plaintext result/s
> 
> 
> Layer 2: The CRISP Voting Framework
> - CRISP (Coercion Resistant Impartial Selection Protocol) is an E3 voting framework that provides coercion-resistant secret ballots on top of The Interfold. It is comprised of the following:
> - An FHE Program that homomorphically tallies the encrypted votes
> - Noir circuits for proving that votes are valid
> - CRISP Smart Contracts that validate proofs, store encrypted votes 
> - A TypeScript SDK for CRISP programs
> - A relayer service that monitors events, triggers off-chain zk-computation, relays votes, and publishes results 
> 
> ​
> Layer 3: Crisp \<\> Zcash Extension
> - Dual Signature Support:
> - Transparent wallets that use ECDSA 
> - Shielded wallets that use EdDSA
> - Implementation of EdDSA signature verification in Noir circuit for voter authentication
> - Cross-Chain Snapshot:
> - Snapshot eligible wallet balances on Zcash chain at specific block height
> - Generate merkle tree from snapshot, post merkle root to Sepolia/Ethereum contracts
> - CRISP validates voter eligibility against posted root 
> - Governance Features:
> - Bribery resistant multiple choice voting 
> - Abstain option
> - Balance-weighted (token-based) or constant (1 person = 1 vote) option
> - Definable quorum setting 
> 
> 
> \### Upstream Merge Opportunities
> 
> NA
> 
> \### Hardware/Software Costs (USD)
> 
> NA
> 
> \### Hardware/Software Justification
> 
> NA
> 
> \### Service Costs (USD)
> 
> The majority of the costs associated with this proposal are labor based, and are detailed below.
> 
> \### Service Costs Justification
> 
> 
> Please see attached budget breakdown
> 
> 
> \### Compensation Costs (USD)
> 
> Please see attached budget breakdown
> 
> \### Compensation Costs Justification
> 
> NA
> 
> \### Total Budget (USD)
> 
> 130000
> 
> \### Previous Funding
> 
> Yes
> 
> \### Previous Funding Details
> 
> Pre-seed round: $1m - April 2024
> Seed round: $1.25m March 2025
> 
> 
> \### Other Funding Sources
> 
> No
> 
> \### Other Funding Sources Details
> 
> NA
> 
> \### Implementation Risks
> 
> NA
> 
> \### Potential Side Effects
> 
> NA
> 
> \### Success Metrics
> 
> Included in milestones
> 
> \### Startup Funding (USD)
> 
> 50000
> 
> \### Startup Funding Justification
> 
> Gnosis Guild has spent approximately two years to building The Interfold in order to reach the point of being able to deliver a live demo of CRISP. As such, Gnosis Guild is applying for part retro-active and part pro-active grant funding to continue working on Zecret Ballots for ZecHub. 
> 
> As a small, specialized team focused on low-level privacy preserving infrastructure, this funding will enable us to allocate the necessary human capital toward a sustained focus, and successful delivery of Zecret Ballots. 
> 
> Our overarching objective is to build a closer relationship with the Zcash community, a deeply important ecosystem, and we view this initial engagement as a stepping stone in that direction. 
> 
> As such, 'Startup Funding' is the same (and not additional) as milestone 0 detailed below.
> 
> 
> 
> 
> \### Milestone Details
> 
> \`\`\`milestones.yaml
> Retroactive Milestones:
> 
> Milestone 0: - All Prior Major Milestones \[This is the start up funding detailed above\]
> 
> Amount (USD): $50,000
> Expected Completion Date: Completed
> 
> Weeks: 104 weeks @ approximately 4-7 FTE
> 
> \[Please note: This milestone is completed and constitutes as start up funding\]
> 
> Ciphernode Client
> Rust implementation of ciphernode DKG, threshold decryption, key share management, libp2p networking, encrypted local storage, operator CLI tooling, Docker / DappNode packaging, and multi-node supervision
> 
> Noir ZK Circuits
> Complete circuit suites for dkg, share encryption & decryption, threshold PVSS (publically verifiable secret sharing), recursive proof aggregation and automated Solidity verifier export
> 
> Smart Contracts
> TheInterfold coordinator contract managing the full E3 lifecycle state 
> CiphernodeRegistry for operator registration and on-chain committee sortition 
> Modular E3Program and DecryptionVerifier plugin interfaces for custom computation logic
> 
> Protocol Crypto-economics
> Non-fungible Bonding Registry and stablecoin-backed ticket system; deterministic sortition-based committee selection; Slashing Manager with two-lane penalties and appeal windows; E3 Refund Manager for proportional failure compensation and reward distribution to committee members mechanism 
> 
> FHE Integration
> BFV fully homomorphic encryption via fhe.rs, supporting development and production parameter sets; encrypted computation pipeline where data providers encrypt inputs under committee keys and compute providers execute homomorphic operations without decryption
> 
> CRISP Reference Application
> Full-stack coercion-resistant private voting primitive: Noir circuits for vote validity and eligibility proofs (including vote masking for anti-coercion), RISC Zero zkVM program for homomorphic vote tallying, on-chain round management, React frontend, Rust coordination server, and dedicated TypeScript SDK.
> 
> TypeScript SDK & React Hooks
> @enclave-e3/sdk for E3 lifecycle management, on-chain event subscriptions, FHE encryption/proof generation via WASM, and @enclave-e3/react hook layer with wagmi integration
> 
> Developer Tooling & Infrastructure
> Project template generator (enclave init), comprehensive documentation site, cross-platform CI/CD with automated crates.io/npm publishing, integration test suite, and one-command installer (enclaveup)
> 
> 
> Proactive Milestones - Zecret Ballots
> 
> Milestone: 1 - Core Implementation
> Amount (USD): $39,234
> Expected Completion Date: 6 weeks from commencement
> 
>   
> User Stories:
> As a transparent ZEC wallet holder, I want to connect my wallet and vote on proposals privately and without risk of coercion or bribery (vote buying) when participating in Zcash governance.
> As a shielded ZEC wallet holder, I want to connect my wallet and vote on proposals without risk of coercion or bribery (vote buying) when participating in Zcash governance.
> As a proposal creator, I want to include both transparent, and shielded addresses that meet the threshold balance requirement. 
>   
> 
> Deliverables: 
> EdDSA signature verification circuit for shielded wallets integrated into The Interfold’s FHE computation flow
> Zcash balance snapshot tooling for both transparent and shielded addresses 
> Smart contracts to accept Zcash merkle roots on Sepolia testnet, and subsequently Ethereum mainnet
> Wallet connector supporting both transparent (ECDSA) and shielded (EdDSA) Zcash wallets
> Backend relayer service for gasless transactions voting enabling no ethereum balance requirement for zec holders
> 
> 
> Success Criteria: 
> Transparent wallet address can authenticate and submit encrypted vote
> Shielded wallet addresses can authenticate and submit encrypted vote
> Snapshot successfully captures balances from Zcash mainnet block and generates valid merkle root
> Smart contract verifies voter eligibility against posted merkle root
> Vote is encrypted, submitted to The Interfold protocol, and decrypted only after poll closes
> 
> Milestone: 2 - Frontend & Governance Features
> Amount (USD): $13,078
> Expected Completion Date: 2 weeks from commencement
>   
> User Stories:           
> As a voter, I want to choose from multiple voting options or abstain, so that I can express my preference, without the risk of coercion or bribery (vote buying)
> As a proposal creator, I want proposals accepted only if the quorum is met
> As a proposal creator, I want to be able to choose between token-weighted voting and constant voting (ie 1 eligible wallet = 1 vote)
> As a voter, I want to be able to verify that my vote was actually encrypted and tallied using FHE
> As a ZEC community member, I want a clean Zcash branded UI/UX, so that the experience feels native to our ecosystem
> As a voter, I want to be able to spread my vote across different options if token-weighted voting is enabled
> 
> Deliverables:
> Multiple choice voting UI (extending binary yes/no to N options)
> Abstain option in voting interface
> A global quorum percentage setting 
> Links to all verifiable actions (vote submission status, E3 request ID, tx confirmation/s)
> A Zcash-branded frontend (if required)
> Token-weighted voting and constant voting options baked in
> Multiple token-weighted voting option 
> 
> 
> Milestone: 3 - Testing, Documentation, & Deployment 
> Amount (USD): $13,078
> Expected Completion Date: 2 weeks from commencement
>  
> User Stories:
> As an administrator, I want comprehensive setup documentation, so that I can deploy and operate the system independently
> As a developer, I want to understand the architecture, so that I can contribute to the codebase if I choose
> As a voter, I want confidence the system is secure and tested, so that I trust the voting results
>  
> Deliverables:
> End-to-end working application in testnet environment inclusive of both transparent and shielded wallet support, multiple choice ballots, and quorum 
> Deployment guide for Zechub
> User documentation (how to connect wallet, vote, view results)
> Developer documentation (snapshot process, circuit specifications, smart contract interfaces)
> A to-be-defined period of testing to ensure confidence in the application prior to a full deployment
> Full delivery of an end-to-end working application in both testnet and mainnet environment/s
> 
> 
> Success Criteria:
> 
> 10-20 test ballots (including edge cases such as tied votes, low turnout below quorum, etc) 
> Successful deployment 
> All critical user flows documented with screenshots as required
> 
> 
> Milestone: 4 - Maintenance
> Amount (USD): $17,001
> Expected Completion Date: 26 weeks from commencement 
>  
> User Stories:
> As a user, developer or governance committee, I want to have an on-going working product so that it can be used for governance related purposes
> 
>  
> Deliverables:
> 6 months post-launch maintenance support (bug fixes, protocol updates, security patches)
> All compatibility changes to The Interfold / CRISP as required to ensure on-going functionality of Zecret Ballots
> 
> 
> Success Criteria:
> 
> Critical issues resolved promptly without delay
> Zecret Ballots remains operational and accessible for governance activities as required
> Full compatibility maintained with regular updates throughout the 6-month period
> 
> Complete budget breakdown can be found in the next section 'Supporting Documents'
> \`\`\`
> 
> \### Supporting Documents
> 
> \`\`\`files.yaml
> Please see the complete budget break down with the link below: 
> 
> https://docs.google.com/spreadsheets/d/19Ch5sglLBZv4WJVeaSr2\_QZJGLT7WVYSRdq4kU2tPUs/edit?usp=sharing
> \`\`\`

Kind regards,  
Bryant

---

<div class="post-metadata">

**Author:** ![bryant.gnosisguild](https://avatars.discourse-cdn.com/v4/letter/b/3ab097/32.png) [@bryant.gnosisguild](https://forum.zcashcommunity.com/u/bryant.gnosisguild)\
**Post date:** [March 23, 2026, 10:28am UTC](https://forum.zcashcommunity.com/t/grant-application-zecret-ballots/55059/2 "2026-03-23T10:28:23Z")

</div>

I should also note that, in case anybody is confused by my username: I am no longer with Chainsafe (if anybody knows how to change this lmk!) ty! 🙂

---

<div class="post-metadata">

**Author:** ![Shawn](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/shawn/32/187_2.png) [@Shawn](https://forum.zcashcommunity.com/u/Shawn)\
**Post date:** [March 23, 2026, 4:04pm UTC](https://forum.zcashcommunity.com/t/grant-application-zecret-ballots/55059/3 "2026-03-23T16:04:27Z")

</div>

> [@bryant.gnosisguild](#):
>
> if anybody knows how to change this lmk!) ty! 🙂

Updated your username

---

<div class="post-metadata">

**Author:** ![ZCG](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/zcg/32/33712_2.png) [@ZCG](https://forum.zcashcommunity.com/u/ZCG)\
**Post date:** [April 3, 2026, 12:18pm UTC](https://forum.zcashcommunity.com/t/grant-application-zecret-ballots/55059/4 "2026-04-03T12:18:39Z")

</div>

Thank you for submitting your proposal. Following a thorough review by the ZCG and a period for community feedback on the forum, the committee has decided not to move forward with this proposal.

\*Due to Hanh’s involvement in coinholder voting, he abstained from voting on this grant.

We sincerely appreciate the time and effort you invested in your application and encourage you to stay involved and continue contributing to the Zcash community.

---

<div class="post-metadata">

**Author:** ![bryant.gnosisguild](https://avatars.discourse-cdn.com/v4/letter/b/3ab097/32.png) [@bryant.gnosisguild](https://forum.zcashcommunity.com/u/bryant.gnosisguild)\
**Post date:** [April 3, 2026, 3:52pm UTC](https://forum.zcashcommunity.com/t/grant-application-zecret-ballots/55059/5 "2026-04-03T15:52:51Z")

</div>

Hello Zcash Community Grants!

I believe there has been considerable confusion around this application.  
This can be especially seen due to the fact that Hanh developed a coin-weighted voting mechanism ( **not** the same mechanism as Zecret Ballots) and seemingly recused himself from voting because of it.

I have addressed all of the feedback here: [Zcash Community Grants Meeting Minutes 3/30/2026 - #8 by bryant.gnosisguild](https://forum.zcashcommunity.com/t/zcash-community-grants-meeting-minutes-3-30-2026/55196/8) , and would be happy to organise another demo or call to talk through any additional clarifications.
