Shadow DAO
a private DAO gated by zero-knowledge proofs
The problem
A DAO wants one member, one vote, without collecting anyone’s identity.
Outcome
Contracts, app and credential schemas in one repo
Stack
- Solidity
- Polygon ID
- Zero-knowledge proofs
- Hardhat
- React
- wagmi
What I built
A DAO where membership is a zero-knowledge proof. A member holds a ProofOfDaoMembership credential in their Polygon ID wallet and proves it to the contract. The contract verifies the proof on-chain and learns nothing else about the person.
How it works
- Credentials. Members and the owner receive claims from an issuer, following the schemas in the repo.
- Proofs. The app shows a QR proof request; the wallet generates a zero-knowledge proof and submits it to the contract.
- On-chain verification. The DAO inherits Polygon ID’s
ZKPVerifierand checks proofs with the credential-query validators. - Sybil resistance. Each identity registers exactly one wallet. The owner can revoke a member, or reset an identity for a new wallet.
- Governance. Anyone can donate. Members create proposals and vote within a deadline, and passed proposals are paid from the treasury.