Proposal

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:

  • Proposal Application, with REQUIRED data;

  • Proposal metadata.

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

Lifecycle

The Proposal life cycle has four phases:

  1. Creation;

  2. Discussion & Submission;

  3. Vote & Review;

  4. Finalization.

Funding Types

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.

Funding Sizes

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

The funding size defines the timing of the Proposal lifecycle and the voting quorums.

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

SmallMediumLarge
Requested Amount\( A_\min ≤ A < A_{S,\max} \)\( A_{S,\max} ≤ A < A_{M,\max} \)\( A_{M,\max} ≤ A < A_{L,\max} \)
Discussion time\( D_S \)\( D_M \)\( D_L \)
Voting time (after discussion)\( V_S \)\( V_M \)\( V_L \)
Democratic Quorum\( Q_{d,S} \)\( Q_{d,M} \)\( Q_{d,L} \)
Weighted Quorum\( Q_{w,S} \)\( Q_{w,M} \)\( Q_{w,L} \)

📝 NOTE

Refer to the Proposal implementation configuration for the parameters’ value.

Metadata

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).

Finite-State Machine

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

StatusEnumDescription
EMPTY0The xGov Registry creates an empty proposal, the Proposer SHOULD open a draft (or it SHOULD be finalized for staleness)
DRAFT10The Proposer MAY submit (with updated metadata) or drop the draft (or it SHOULD be finalized for staleness)
SUBMITTED20The xGov Daemon SHALL assign the xGov Committee to the submitted proposal, which is then opened to vote
VOTING25The xGov Committee MAY vote the proposal until the voting session expires
APPROVED30The outcome of the vote scrutiny (quorum and majority) approved the proposal, the xGov Council SHALL review it
REJECTED40The outcome of the vote scrutiny (quorum and majority) rejected the proposal, it SHOULD be finalized
REVIEWED45The xGov Council positively reviewed the approved proposal (T&C, etc.), the xGov Payor MAY disburse the requested amount
BLOCKED60The xGov Council blocked the approved proposal with veto, it SHOULD be finalized, the requested amount MUST NOT be paid, the locked amount MUST be slashed
FUNDED50The xGov Payor paid the requested amount, it SHOULD be finalized
FINALIZEDboolThe 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.

Proposal Finite-State Machine

Escrow

The Proposal Escrow is an Address controlled by the Proposal Application.

Escrow Inflows

  • Partial Open Proposal Fees from xGov Treasury

  • Proposal Commitment Lock from the Proposer

Escrow Outflows

  • Operation Funds to xGov Daemon on Proposal submission

  • Proposal Commitment Lock to xGov Treasury if the Proposal is blocked with a veto

  • Decommissioned MBRs to xGov Treasury

Escrow MBRs

  • Proposal Application Account

  • Metadata Box

  • xGov Committee Voters Boxes