Proposal - xGov Beta Architecture

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

xGov Beta Architecture

A Proposal is a funding request from the xGov Treasury, which is approved or rejected by the xGov Committee vote and reviewed by the xGov Council.

A Proposal consists of:

The Proposal Application is created and funded by the xGov Registry App (see Creation section) through the Open Proposal Fee.

The Proposal life cycle has four phases:

  1. Creation;
  2. Discussion & Submission;
  3. Vote & Review;
  4. Finalization.

The Proposals have two different funding types:

  1. Retroactive

    • Claim: “I have done X, which has benefited the Algorand ecosystem because of Y metrics, I would like to receive Z as compensation for the work”.
    • Positive outcome: funding is immediately disbursed if the Proposal is approved by the xGov Committee vote, and the xGov Council does not apply a veto according to the terms and conditions.
  2. Proactive (NOT AVAILABLE YET)

    • Claim: “I want to do X, it has the potential Y for the Algorand ecosystem, I would like to receive Z staggered behind these milestones”.
    • Positive outcome: funding will be disbursed if the Proposal is approved by the xGov Committee vote, after milestone reviews from the xGov Council, and if the xGov Council does not apply a veto according to terms and conditions.

The Proposal’s requested amount (AA) MUST be bounded as follows:

Small Medium Large
Requested Amount Amin≤A<AS,maxAmin≤A<AS,max AS,max≤A<AM,maxAS,max≤A<AM,max AM,max≤A≤AL,maxAM,max≤A≤AL,max

Proposals have different funding sizes based on the requested amount of funds.

The funding size defines the timing of the Proposal lifecycle.

Small Medium Large
Discussion time DSDS DMDM DLDL
Voting time (after discussion) VSVS VMVM VLVL

Note
Refer to the Proposal implementation configuration for the Proposal lifecycle timing values.

Proposals have two quorum thresholds based on the requested amount of funds.

The quorum thresholds define the minimum number of (regular and weighted) votes required to approve a Proposal:

Given the xGov Committee assigned to the Proposal, with its members and voting power (see the xGov Committee definition), the quorum thresholds are defined as follows:

Where:

Note
Refer to the Proposal implementation configuration for the minimum and maximum quorum values.

The Proposal Metadata byte length MUST NOT exceed 30 kB.

The Proposal Metadata is stored in a Box on the Proposal Application, called Metadata Box.

The Proposal Metadata Box ID is equal to metadata.

The Proposal Metadata Box body has no ABI schema (raw bytes).

A Proposal SHALL be in one of the following enumerated statuses:

Status Enum Description
EMPTY 0 The xGov Registry creates an empty proposal, the Proposer SHOULD open a draft (or it SHOULD be finalized for staleness)
DRAFT 10 The Proposer MAY submit (with updated metadata) or drop the draft (or it SHOULD be finalized for staleness)
SUBMITTED 20 The xGov Daemon SHALL assign the xGov Committee to the submitted proposal, which is then opened to vote
VOTING 25 The xGov Committee MAY vote the proposal until the voting session expires
APPROVED 30 The outcome of the vote scrutiny (quorum and majority) approved the proposal, the absentees SHALL be deleted, the xGov Council SHALL review it
REJECTED 40 The outcome of the vote scrutiny (quorum and majority) rejected the proposal, the absentees SHALL be deleted, it SHOULD be finalized
REVIEWED 45 The xGov Council positively reviewed the approved proposal (T&C, etc.), the locked amount MUST be returned to the Proposer, the xGov Payor MAY disburse the requested amount
BLOCKED 60 The xGov Council blocked the approved proposal with veto, it SHOULD be finalized, the locked amount MUST be slashed, the requested amount MUST NOT be paid
FUNDED 50 The xGov Payor paid the requested amount, it SHOULD be finalized
FINALIZED bool The proposal life cycle is terminated and MAY be deleted

Note
The FINALIZED boolean flag is not an enumerated state, since it can be superposed to several states (i.e., EMPTY, DRAFT, REJECTED, BLOCKED, and FUNDED).
Example: a Proposal can be FUNDED and FINALIZED.