Shadow DAO

a private DAO gated by zero-knowledge proofs

Hackathon project · 2023 · Blockchain

See the app → Code on GitHub

The Shadow DAO app for a verified member, with proposals, treasury and pass rate

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 ZKPVerifier and 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.