# Components

### Guardian Network

The Unit Protocol is supported by a distributed leader-verifier network of independent operators known as **Guardians**. Each Guardian independently runs the **Agent**, an implementation of the protocol that:

* **Operates and uses blockchain indexers** for each supported chain, verifying on-chain activity and transaction finality.
* **Participates in a 2-of-3 Multi-Party Computation (MPC) threshold signature scheme (TSS)**, ensuring no single Guardian can unilaterally perform operations.
* **Maintains key shares** generated and stored in a distributed manner.

A leader is predetermined to coordinate proposals. The leader runs a relay server for message passing only—no key material resides there. Followers independently verify all leader messages.

### Agent

Every Guardian’s **Agent** enforces the rules and logic needed for cross-chain flows. Four main components provide structure and clarity:

1. **Chain Services** track incoming deposits, confirm finality of on-chain transactions, and build or broadcast transaction payloads.
2. A **Flow Manager** oversees a multi-step state machine enforcing strict sequencing and ensuring adherence to protocol requirements.
3. The **Consensus Service** implements t-of-n quorum rules (commonly 2-of-3), requiring Guardians to agree on critical operations before proceeding.
4. The **Wallet Manager** handles MPC-based key operations, running within secure enclaves (e.g., AWS Nitro). It stores encrypted secret shares and coordinates threshold signatures.

### Initial Guardian Network Participants

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td>Unit</td><td><a href="https://1996930769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F41RTutUTr9Yn1SkWRs3v%2Fuploads%2FqVbxBz9m2quSABxYx1rM%2FLogo%20(6).png?alt=media&#x26;token=40f735d0-5bf1-4c85-b65f-0d69a269a17f">Logo (6).png</a></td></tr><tr><td>Hyperliquid</td><td><a href="https://1996930769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F41RTutUTr9Yn1SkWRs3v%2Fuploads%2FX6mRm5z3uLBQ5zfjjptQ%2FLogo%20(10).png?alt=media&#x26;token=e2c18872-eb1c-47bc-bbdc-7bdb9675c0b3">Logo (10).png</a></td></tr><tr><td>Infinite Field</td><td><a href="https://1996930769-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F41RTutUTr9Yn1SkWRs3v%2Fuploads%2Fe9sjyR5esAkQB3Ac4vH9%2Finfinite-field-400x400.jpg?alt=media&#x26;token=f830221d-9a75-47e0-ba86-e5164c6e06e2">infinite-field-400x400.jpg</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hyperunit.xyz/architecture/components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
