> For the complete documentation index, see [llms.txt](https://docs.useicaria.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.useicaria.xyz/compliance/model.md).

# Compliance model

The thinking behind Icaria's compliance design, and the machinery that enforces it.

{% hint style="info" %}
How the protocol enforces compliance is what this section describes. None of it is legal advice.
{% endhint %}

## Principle

Custody is not something the protocol takes. Since the assets themselves carry no on-chain restrictions, compliance gets enforced at the **protocol boundary**.

Stock Tokens are ordinary ERC-20s. Eligibility is something Robinhood applies at its own interface and through KYC'd issuance and redemption. On-chain the tokens will sit in anyone's wallet, which leaves every venue listing them to answer the question of who may trade for itself. Icaria answers it at each entry point through the [eligibility registry](/architecture/eligibility.md), and it copies the issuer's jurisdiction list rather than writing a more permissive one.

## What is enforced

| Boundary              | Rule                                                                                                      |
| --------------------- | --------------------------------------------------------------------------------------------------------- |
| Swapping              | A `TRADER` attestation: KYC'd, in an unrestricted jurisdiction, tracking the Stock Token eligibility list |
| Providing liquidity   | An `LP` attestation, restricted to professional clients at launch                                         |
| Making markets        | A `MAKER` attestation, restricted to professional trading firms                                           |
| Vault share transfers | An `LP` attestation on the recipient                                                                      |
| Front-end access      | Geo-fencing against restricted jurisdictions                                                              |

Nothing gates a withdrawal. Holding shares is what entitles an LP to exit, and no permission stands between the two, because a compliance system capable of trapping funds has quietly become a custodian.

## The mechanics of enforcement

1. **Attestations, not allowlists.** Once identity, sanctions and residency checks pass, the KYC provider writes an EAS attestation to the wallet carrying role, jurisdiction class and expiry, and nothing personal.
2. **Continuous re-screening.** Attestations expire and get renewed, and a revocation applies from the next action onward.
3. **Two screening layers.** The KYC provider screens at attestation and at renewal, while the sequencer runs its own sanctions screening, with TRM Labs integrated at the chain level.
4. **Modular policy.** Because the registry works through adapters, both the policy engine (EAS, ONCHAINID, Chainlink ACE) and the accepted issuer set can move through the timelock without redeploying anything. Rules can therefore tighten quickly if a regulator or the issuer requires it.
5. **Permissionless reads.** Every view function stays open, so explorers and aggregators can index the protocol freely.

## What the protocol stays out of

* It holds no user funds beyond atomic settlement and the LP-owned vaults.
* It converts nothing into or out of fiat.
* It exercises no discretion over an individual fill. Quotes are arithmetic over public state, settlement is a signature check, and nobody at Icaria can improve, worsen or stop a particular trade.

Those properties are what keep the regulatory footprint narrow. Users are faced by the operating company through the front-end, and that company gets assessed for authorisation where authorisation is required, while the protocol itself stays non-custodial, non-discretionary software.

## Privacy

Personal data remains with the KYC provider and never reaches the chain. Through the optional zero-knowledge credential route, a wallet can establish that it is eligible without disclosing which provider checked or what any underlying attribute says.

## How this tracks the issuer's own rules

Trader eligibility here tracks the Stock Token eligibility list. Tighten that list at Robinhood and the attestation issuer's rules tighten with it. Should Stock Tokens acquire on-chain transfer hooks later, whether ERC-7943 or ERC-3643, the vaults and settlement contracts will respect them and will be allowlisted in turn. See [Asset roadmap](/assets/asset-roadmap.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.useicaria.xyz/compliance/model.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
