# Trust Registries

### Purpose

A **Trust Registry** is a structured list of **who is trusted to issue compliance proofs**.

It provides a governance layer over issuers, roles, schemas, and revocations.

Trust registries answer:

* *Which keys can sign Merkle roots or attestations?*
* *Which issuers are recognized for specific KYC levels or jurisdictions?*
* *How are compromised keys or outdated schemas revoked?*

***

### Why They Matter

* **Multi-Issuer ecosystems** → more than one regulated entity can issue proofs.
* **Key rotation** → issuers can update or revoke signing keys without breaking dApps.
* **Schema governance** → define which compliance schemas are valid at a given epoch.
* **Cross-chain consistency** → same “who do we trust?” logic works for Cardano and EVM.

***

### Current State (MVP)

Fairway MVP runs in **single-issuer mode**:

* **Fairway** is the sole trusted issuer.
* DApps validate proofs by checking **Fairway’s signature** on:
  * Cardano: Merkle UTXO `{root, epoch, midnight_ref}`
  * EVM: EAS attestation under Fairway’s key

**Trust Registry (today)** = just the Fairway pubkey(s), hardcoded or stored in a simple on-chain datum for rotation.

***

### Future Roadmap (Planned Expansion)

Fairway will expand Trust Registries into a **multi-issuer governance primitive**:

1. **Issuer List**
   * Map of issuer addresses/keys → roles (KYC provider, accreditor, sanctions oracle).
2. **Schema & Version Registry**
   * Declare valid schema IDs for different compliance checks.
3. **Revocation Epochs**
   * Registry tracks when an issuer key or schema was revoked, ensuring dApps enforce freshness.
4. **DAO Governance**
   * Institutions stake Fairway token to onboard new issuers.
   * Curated by a governance process, not a single operator.

***

### Example: Future Multi-Issuer Registry

```json
{
  "issuers": [
    {
      "address": "0xIssuerBank",
      "roles": ["KYC_L2", "Accreditor"],
      "schema_versions": [2,3],
      "revoked": false},
    {
      "address": "0xSanctionsOracle",
      "roles": ["SanctionsFeed"],
      "schema_versions": [1],
      "revoked": true,
      "revoked_epoch": 205
    }
  ],
  "last_updated": "2025-09-22T10:00:00Z"
}

```

***

### Diagrams

#### Evolution Path

```mermaid
flowchart LR
  MVP[Single Issuer: Fairway key] --> Phase1[Key rotation support]
  Phase1 --> Phase2[Multi-Issuer: banks, accreditors, oracles]
  Phase2 --> Phase3[DAO-governed Trust Registry with staking + curation]

```

***

### Benefits

* **For Developers** → stable pubkey source for eligibility checks.
* **For Institutions** → ability to recognize multiple issuers under governance.
* **For Regulators** → clear audit trail of “who was trusted when.”

***

### Roadmap Clarification

* **MVP (2025)** → single issuer, Fairway signature only.
* **Mid stage (2026)** → introduce Trust Registry module (multi-issuer).
* **Late stage (2029)** → DAO-governance and full decentralization \*\*\*\*
* **Docs** → early page included so developers and partners understand where Fairway is heading.

***

### Next Steps

* See [Build on Cardano](https://docs.fairway.global/~/revisions/LmhbGZ8szY6vRl5kdqPa/developers/build-on-cardano) for how the current single-issuer signature is enforced.
* See [Build on EVM](https://docs.fairway.global/~/revisions/LmhbGZ8szY6vRl5kdqPa/developers/build-on-evm) for how attestations are verified today.
* Follow [roadmap](https://docs.fairway.global/~/revisions/LmhbGZ8szY6vRl5kdqPa/developers/changelog-and-roadmap) updates for when Trust Registry functionality ships.


---

# 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.fairway.global/developers/core-concepts/trust-registries.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.
