This framework provides a modular, reusable governance system written in the Move language for the Sui blockchain. It abstracts common governance actions—proposal creation, voting, state evaluation, and execution—so your app can focus on its own logic.
Time units: All durations are in milliseconds (ms) to match Sui’s on-chain
Clock::timestamp_ms().
- 🚀 End-to-end governance lifecycle out of the box
- 🧩 Pluggable
ProposalKindpayload (your app-specific action/enum) - 🔐 Capability-based access via
AdminCap(gate config changes & admin flows) - 📦 Sui-native integrations (
clock,coin,tx_context) - 📈 Fixed or fractional quorum strategies (fractional uses 100,000-denominator precision)
- 🧠 Clean events for indexers and UIs
- DAOs on Sui
- Staking / liquidity protocols with community control
- Appchains or modules that require structured, on-chain governance
A shared GovernanceSystem object owns configuration and a table of proposals. Voting locks a Coin<Token> per voter, and quorum is checked via either a fixed minimum or a fractional snapshot. See the Architecture diagram for the big picture.
Define a ProposalKind enum for your actions (e.g., parameter changes), initialize governance with your AdminCap, and call the framework’s create_proposal, cast_vote, and execute_proposal flows. Full walkthrough: Integration Guide.
Next: Read the quickstart guide → then follow the Integration Guide.