How Elastos DAO Governance Works
Governance in Elastos follows a structured lifecycle from idea to funded execution. Every stage has both an off-chain component (the governance portal at elastos.com) and an on-chain component (ELA main chain transactions). Anyone can submit ideas; the 12-member Council decides what gets funded.
Stage 1: Suggestion (Off-Chain)
Anyone can submit a suggestion through the governance portal. Suggestions are stored in MongoDB — they are not on-chain.
| Status | Meaning |
|---|---|
ACTIVE | Open for discussion |
ARCHIVED | No longer active |
PROPOSED | Converted to a formal proposal |
CANCELLED | Withdrawn by author |
Council members tag suggestions as UNDER_CONSIDERATION, INFO_NEEDED, or ADDED_TO_PROPOSAL.
Stage 2: Proposal Creation (On-Chain)
A Council member takes a suggestion and converts it into a formal on-chain proposal by submitting a CRCProposal transaction (type 0x25). This is the critical transition from discussion to governance.
The proposal includes:
- Proposal type (Normal, ELIP, Secretary General, etc.)
- Draft document hash
- Budget breakdown by milestone
- Recipient address for funds
- Council member's DID and co-signature
Stage 3: Council Review (On-Chain)
Each of the 12 Council members reviews the proposal and submits a CRCProposalReview (type 0x26):
| Vote | Value | Meaning |
|---|---|---|
| Approve | 0 | Support |
| Reject | 1 | Oppose |
| Abstain | 2 | No position |
Timelines:
- Council review window: 7 days
- Community veto window: 7 days (after council approval)
- Required for passage: 8 of 12 members (2/3 majority)
Stage 4: Registration
If the proposal receives 2/3 approval, it moves to Registered status. The budget is allocated from the DAO treasury, and execution begins.
Stage 5: Tracking (On-Chain)
The proposal team reports progress via CRCProposalTracking transactions (type 0x27):
| Tracking Type | Meaning |
|---|---|
progress | Milestone completed |
rejected | Milestone rejected |
terminated | Proposal cancelled |
changeowner | Ownership transferred |
finalized | All work complete |
Stage 6: Fund Withdrawal (On-Chain)
When a milestone is approved, funds are released in two steps:
CRCProposalWithdraw(type0x29) — initiates the withdrawal requestCRCProposalRealWithdraw(type0x2a) — executes the ELA transfer from CR Expenses to the recipient
On-Chain Status
The governance portal tracks whether each proposal transaction has been confirmed:
| Status | Meaning |
|---|---|
UNCHAIN | Not yet submitted |
CHAINING | Transaction broadcast, awaiting confirmation |
CHAINED | Confirmed on-chain |
FAILED | Transaction failed |