Skip to main content
MAIN CHAIN

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.

StatusMeaning
ACTIVEOpen for discussion
ARCHIVEDNo longer active
PROPOSEDConverted to a formal proposal
CANCELLEDWithdrawn 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):

VoteValueMeaning
Approve0Support
Reject1Oppose
Abstain2No 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 TypeMeaning
progressMilestone completed
rejectedMilestone rejected
terminatedProposal cancelled
changeownerOwnership transferred
finalizedAll work complete

Stage 6: Fund Withdrawal (On-Chain)

When a milestone is approved, funds are released in two steps:

  1. CRCProposalWithdraw (type 0x29) — initiates the withdrawal request
  2. CRCProposalRealWithdraw (type 0x2a) — executes the ELA transfer from CR Expenses to the recipient

On-Chain Status

The governance portal tracks whether each proposal transaction has been confirmed:

StatusMeaning
UNCHAINNot yet submitted
CHAININGTransaction broadcast, awaiting confirmation
CHAINEDConfirmed on-chain
FAILEDTransaction failed