Vote once, count it forever.
Quorum is a Move package for small orgs that need a proposal, a deadline and a tally nobody can dispute. Every address gets exactly one vote per proposal, enforced on-chain — not by an admin's spreadsheet.
1
Vote per address, per proposal — object-enforced
0
Off-chain tallies to trust
2+
Options per proposal, minimum
testnet
Live now on Sui
01
A proposal, fixed at birth
An AdminCap holder opens a Proposal with its options and deadline set once, together. Nobody adds a choice mid-vote or moves the deadline after watching the tally — the shape of the question is locked before the first vote lands.
02
A receipt, not a row in a table
Voting mints a VoteReceiptstraight into the voter's wallet — non-transferable, unforgeable, and the reason a double vote can't happen: Sui already guarantees an object has exactly one owner, so that guarantee is the guard, not a lookup a bug could slip past.
03
A close, that closes
Only the matching AdminCap can call close(), and once closed a Proposal stays closed — the final tally is emitted as an event and stands, permanently attributable to the org that ran the vote.
Every guarantee is an object, not a promise
Move has no built-in access-control list, so Quorum doesn't reach for one. Administration is a capability you hold or don't; a cast vote is a receipt you hold or don't. The chain enforces the org, not a database somewhere trusting the frontend to ask nicely.
“We stopped arguing about who counted the votes. The chain counted them, and the receipt is sitting in everyone's wallet.”