Architecture Overview

The xGov Architecture consists of the following components:

COMPONENTIMPLEMENTATION
xGov PortalFront-End
xGov RegistryAlgorand Application (Factory)
xGov TreasuryAlgorand Application Account
xGov ManagerAlgorand Address
xGov Committee ManagerAlgorand Address
xGov DaemonAlgorand Address, Back-End + DB
xGov CouncilAlgorand Address
xGov PayorAlgorand Address
xGov SubscriberAlgorand Address
xGovAlgorand Address + Box
Managed SubscriberAlgorand Address
xGov (Un)Subscription RequestBox
xGov CommitteeJSON (ARC-86)
ProposerAlgorand Address + Box
KYC ProviderAlgorand Address
ProposalAlgorand Application (Child)
Proposal MetadataBox
Proposal EscrowAlgorand Application Account
Proposal VotersBoxes

xGov Architecture

The on-chain components are used for:

  1. On/off-boarding xGovs;
  2. Whitelisting Proposers (KYC required);
  3. Creating and submitting Proposals;
  4. Binding xGov Committees to Proposals;
  5. Voting on Proposals;
  6. Managing the xGov Treasury and funding approved Proposals.

The off-chain components are used for:

  1. Selecting xGov Committees periodically and verifiably, according to ARC-86;
  2. Intermediate Proposers’ KYC;
  3. Intermediate on/off-boarding of xGovs that cannot execute a self-subscription or self-unsubscription.