## 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

- Auto
- Light
- Dark

# xGov Beta Architecture

The xGov Architecture provides the following classes of [ARC-28](https://dev.algorand.co/arc-standards/arc-0028) events:

- **xGov Registry Events**, emitted by the [xGov Registry singleton application](https://docs.xgov.algorand.co/specs/xgov-registry).

- **Proposal Events**, emitted by the [Proposal applications](https://docs.xgov.algorand.co/specs/proposal).

Clients can subscribe to these ARC-28 events using the [AlgoKit Subscriber Library](https://dev.algorand.co/algokit/subscribers/typescript/overview/#arc-28-event-subscription-and-reads).

## Subscribed and Unsubscribed xGov

### An xGov subscribed (either through self-onboarding or managed onboarding).

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| xGov | `address` | The address of the subscribed xGov |
| Delegate | `address` | The address of the delegated voter |

### An xGov unsubscribed (either through self-onboarding, managed onboarding, or absenteeism).

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| xGov | `address` | The address of the unsubscribed xGov |

### A Proposer subscribed.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| Proposer | `address` | The address of the subscribed Proposer |

### A Proposer KYC status update.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| Proposer | `address` | The address of the unsubscribed Proposer |
| Valid KYC | `bool` | The Proposer KYC is valid |

### A new xGov Committee has been elected.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| Committee ID | `byte[32]` | ARC-86 Committee ID |
| Size | `uint32` | Committee members |
| Votes | `uint32` | Committee votes |

### A new Proposal has been opened.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| Proposal ID | `uint64` | Proposal Application ID |
| Proposer | `address` | Proposer address |

### The Proposal has been opened.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| Funding Type | `uint8` | Enum: Retroactive (`10`), Proactive (`20`) |
| Requested Amount | `uint64` | Requested Amount (microALGO) |
| Category | `uint8` | Small (`10`), Medium (`20`), Large (`30`) |

### The Proposal has been submitted for voting.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| Vote Opening | `uint64` | Vote Opening UNIX timestamp |
| Vote Closing | `uint64` | Vote Closing UNIX timestamp |
| Quorum Voters | `uint32` | Democratic Quorum (voters) required to pass |
| Weighted Quorum Votes | `uint32` | Weighted Quorum (votes) required to pass |

### A vote has been cast on the Proposal.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| xGov | `address` | xGov address that expressed the vote |
| Approvals | `uint32` | Number of approvals in the vote |
| Rejections | `uint32` | Number of rejections in the vote |
| Nulls | `uint32` | Number of bulls in the vote |
| Boycotted | `bool` | The vote has been a boycott |
| Total Voters | `uint32` | Voters so far |
| Total Boycott | `uint32` | Boycotts so far |
| Total Approvals | `uint32` | Approval votes so far |
| Total Rejections | `uint32` | Rejections votes so far |
| Total Nulls | `uint32` | Null votes so far |

### The vote has been scrutinized.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| Approved | `bool` | The Proposal has been approved (both quorums reached and majority approved) |
| Plebiscite | `bool` | All Committee members voted |

### The xGov Council has reviewed the Proposal.

| ARGUMENT | TYPE | DESCRIPTION |
| --- | --- | --- |
| Veto | `bool` | The proposal has been blocked with a veto |
