Architecture Overview
The xGov Architecture consists of the following components:
| COMPONENT | IMPLEMENTATION |
|---|---|
| xGov Portal | Front-End |
| xGov Registry | Algorand Application (Factory) |
| xGov Treasury | Algorand Application Account |
| xGov Manager | Algorand Address |
| xGov Committee Manager | Algorand Address |
| xGov Daemon | Algorand Address, Back-End + DB |
| xGov Council | Algorand Address |
| xGov Payor | Algorand Address |
| xGov Subscriber | Algorand Address |
| xGov | Algorand Address + Box |
| Managed Subscriber | Algorand Address |
| xGov (Un)Subscription Request | Box |
| xGov Committee | JSON (ARC-86) |
| Proposer | Algorand Address + Box |
| KYC Provider | Algorand Address |
| Proposal | Algorand Application (Child) |
| Proposal Metadata | Box |
| Proposal Escrow | Algorand Application Account |
| Proposal Voters | Boxes |
The on-chain components are used for:
- On/off-boarding xGovs;
- Whitelisting Proposers (KYC required);
- Creating and submitting Proposals;
- Binding xGov Committees to Proposals;
- Voting on Proposals;
- Managing the xGov Treasury and funding approved Proposals.
The off-chain components are used for:
- Selecting xGov Committees periodically and verifiably, according to ARC-86;
- Intermediate Proposers’ KYC;
- Intermediate on/off-boarding of xGovs that cannot execute a self-subscription or self-unsubscription.