Product Requirements (PRD)
Problem
DAO governance is broken - whoever has the most tokens wins. Plutocracy dressed as democracy. 1 human = 1 vote changes the game entirely.
Solution
Governance system where each World ID-verified member gets exactly 1 vote regardless of token holdings. Extends Arkora's existing poll infrastructure.
Features
- Proposal Creation - any member above karma threshold can propose
- Voting - 1 human = 1 vote, time-limited, quorum requirements
- Delegation - delegate your vote to another verified human (transparent, revocable)
- Treasury Proposals - propose spending from shared treasury
- Execution - approved proposals auto-execute onchain (for onchain actions)
Revenue
- Free for small DAOs (< 100 members)
- Pro ($19/mo): unlimited members, treasury management, analytics
Technical Requirements (TRD)
New Schema
CREATE TABLE daos (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL,
description TEXT,
creatorHash TEXT NOT NULL,
memberCount INTEGER DEFAULT 0,
quorumPercent INTEGER DEFAULT 51,
proposalThresholdKarma INTEGER DEFAULT 10,
createdAt TIMESTAMP DEFAULT NOW()
);
CREATE TABLE dao_members (
daoId UUID REFERENCES daos(id),
nullifierHash TEXT NOT NULL,
role TEXT DEFAULT 'member', -- 'admin', 'member'
delegatedTo TEXT, -- nullifierHash of delegate
joinedAt TIMESTAMP DEFAULT NOW(),
UNIQUE(daoId, nullifierHash)
);
CREATE TABLE dao_proposals (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
daoId UUID REFERENCES daos(id),
proposerHash TEXT NOT NULL,
title TEXT NOT NULL,
body TEXT,
type TEXT DEFAULT 'signal', -- 'signal', 'treasury', 'parameter'
status TEXT DEFAULT 'active', -- 'active', 'passed', 'rejected', 'executed'
yesVotes INTEGER DEFAULT 0,
noVotes INTEGER DEFAULT 0,
abstainVotes INTEGER DEFAULT 0,
endsAt TIMESTAMP NOT NULL,
createdAt TIMESTAMP DEFAULT NOW()
);
CREATE TABLE dao_votes (
proposalId UUID REFERENCES dao_proposals(id),
nullifierHash TEXT NOT NULL,
vote TEXT NOT NULL, -- 'yes', 'no', 'abstain'
isDelegated BOOLEAN DEFAULT FALSE,
UNIQUE(proposalId, nullifierHash)
);
Product Requirements (PRD)
Problem
DAO governance is broken - whoever has the most tokens wins. Plutocracy dressed as democracy. 1 human = 1 vote changes the game entirely.
Solution
Governance system where each World ID-verified member gets exactly 1 vote regardless of token holdings. Extends Arkora's existing poll infrastructure.
Features
Revenue
Technical Requirements (TRD)
New Schema