> For the complete documentation index, see [llms.txt](https://docs.fractit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fractit.com/canton-network/on-ledger-architecture.md).

# On-Ledger Architecture

***

### What lives on-ledger

| Event                         | On-ledger record                                                                            |
| ----------------------------- | ------------------------------------------------------------------------------------------- |
| Token issuance (subscription) | New DFMREIT holding recorded deterministically at the moment of issuance                    |
| Token transfer                | Ownership state updated; whitelist and transfer restriction checks enforced by the contract |
| AMM swap                      | Every buy and sell through the pool recorded — price, quantity, and LP fee distribution     |
| LP deposit                    | LP token issuance and pool share recorded                                                   |
| LP withdrawal                 | LP token burn, pool share reduction, and fee distribution recorded                          |
| Token redemption              | DFMREIT burn and CC/USDC release recorded atomically                                        |

***

### DAML contracts

Fractit uses DAML contracts to govern every lifecycle stage. A DAML contract is not just a state record — it is a formal specification of who has rights to do what, under which conditions, and what happens when those rights are exercised.

For DFMREIT, the key contracts govern:

* **Issuance rights** — which entities may mint new DFMREIT tokens and under what conditions
* **Transfer restrictions** — whitelist validation enforced on every transfer, regardless of the interface used
* **Redemption obligations** — the protocol's obligation to redeem tokens for CC/USDC during open windows
* **LP pool state** — the invariant relationship between pool assets and LP share tokens

***

### Whitelist enforcement

The Canton compliance module enforces whitelist checks at the contract layer. This means:

* A DFMREIT token cannot be transferred to a non-whitelisted wallet under any circumstances
* Jurisdiction-restricted wallets are blocked from receiving tokens even if they were previously whitelisted
* Compliance status is checked on every transfer — not cached from a previous check

This enforcement is independent of the Fractit application UI. It is not possible to bypass it by interacting with the contract directly.

***

### Settlement currencies

Fractit supports two settlement currencies:

| Currency         | Type                 | Use                                    |
| ---------------- | -------------------- | -------------------------------------- |
| CC (Canton Coin) | Canton-native asset  | Subscriptions, redemptions, AMM trades |
| USDC             | Stablecoin on Canton | Subscriptions, redemptions, AMM trades |

Both currencies settle on Canton Network with the same sub-second finality and deterministic guarantees. Supporting CC enables Fractit products to participate directly in Canton-native market activity and composability with other Canton applications.

***

### Auditability

Every mint, swap, transfer, and redemption is recorded immutably on Canton and mirrored to an institutional ledger. This creates a complete, verifiable audit trail that is independent of Fractit's application servers. Token holders, auditors, and regulators can verify the full history of any token or position from the ledger record alone.
