Skip to main content
MAIN CHAIN

Proposal System

Proposals are how changes get funded and enacted in Elastos. Any community member can submit a proposal, but it must be co-signed by a Council member to go on-chain. Approved proposals draw funds from the DAO Treasury.

Proposal Types

CategoryTypeCodeWhat it does
FundingNormal0x0000Request ELA from the treasury for a project
ProtocolELIP0x0100Elastos Improvement Proposal — protocol-level change
FLOWELIP0x0101Change to governance processes
INFOELIP0x0102Informational / design documentation
Chain UpgradesMainChainUpgradeCode0x0200ELA main chain code upgrade
DIDUpgradeCode0x0201EID sidechain code upgrade
ETHUpgradeCode0x0202ESC sidechain code upgrade
AdministrativeSecretaryGeneral0x0400Elect a new Secretary General
ChangeProposalOwner0x0401Transfer proposal ownership
CloseProposal0x0402Terminate an active proposal
RegisterSideChain0x0410Register a new sidechain
Custom DIDReserveCustomID0x0500Reserve a custom DID name
ReceiveCustomID0x0501Receive a reserved custom DID
ChangeCustomIDFee0x0502Change the custom ID fee rate

Proposal Lifecycle

Every proposal follows this path from submission to completion (or rejection):

Key stages:

  1. Registered — Proposal submitted on-chain (tx type 0x25), co-signed by a Council member
  2. CRC Review — The 12 Council members vote (7-day window). Requires majority to pass
  3. Community Review — 7-day public veto period. Token holders can vote against. If opposition exceeds the veto threshold, the proposal is vetoed
  4. Tracking — Milestones are executed, progress is reported, and funds are released per budget stage
  5. Finished / Terminated — Proposal completes all milestones or is terminated early

Budget Structure

Each funding proposal includes a multi-stage budget. Funds are released per milestone, not all at once.

Payment TypeWhenUse case
ImprestBefore work beginsUpfront capital for the team to start
NormalPaymentAfter milestone approvalReleased when a milestone is verified
FinalPaymentAfter full completionReleased when the project is finished

All amounts are denominated in sela (1 ELA = 100,000,000 sela).

Milestone Tracking

Each milestone in a proposal has its own lifecycle:

Progress is reported on-chain via a CRCProposalTracking transaction (type 0x27), which includes the milestone stage, a progress message, and co-signatures from the proposal owner and Secretary General.

ELIP Workflow

ELIPs (Elastos Improvement Proposals) follow a more rigorous path than standard funding proposals since they affect the protocol itself:

ELIPs come in three types:

  • Standard Track — changes to the protocol (requires code upgrade proposal)
  • Process — changes to governance procedures
  • Informational — design documentation, no code change

Once an ELIP is approved, it becomes an on-chain proposal using the appropriate upgrade type (MainChainUpgradeCode, DIDUpgradeCode, or ETHUpgradeCode).

Fund Withdrawal

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

StepTransaction TypeWhat happens
1. RequestCRCProposalWithdraw (0x29)Owner requests withdrawal for the approved milestone
2. ExecuteCRCProposalRealWithdraw (0x2a)ELA transferred from CREXPENSES... to the recipient address

Withdrawal fee: 10,000 sela (0.0001 ELA) per withdrawal.

On-Chain Transaction Reference

TransactionType CodePurpose
CRCProposal0x25Submit a new proposal
CRCProposalReview0x26Council member votes on a proposal
CRCProposalTracking0x27Report milestone progress
CRCProposalWithdraw0x29Request fund withdrawal
CRCProposalRealWithdraw0x2aExecute fund transfer

For the full transaction type list, see Transaction Reference.