Version 1.0 — Issued by CrownThrive, LLC “Trading & Licensing‑as‑a‑Service: Listings, Escrow, Auctions, and Compliance Gates for the On‑Chain License Exchange.”
Audience: LEX market designers, exchange ops, product engineers, compliance leads, oracle agents, integrators, and Help Center editors curating the TLaaS for LEX category. Scope: Canonical reference for what TLaaS (LEX) is, how it’s built, how it runs in production, and which 30+ follow‑on docs to read next. (This master is explicitly for the LEX; it does not cover TLaaS for DLA.)
0 · How to Use this Master Doc (Help Center Index)
- Start here for the big picture and concrete build paths for LEX listings, orders, auctions, escrow, and settlement.
- Each section ends with “What to read next” cross‑links into the TLaaS (LEX) category.
- Code examples are illustrative; the authoritative sources are the runtime repository, policy votes, and LEX playbooks.
1 · System Overview
TLaaS (LEX) provides a full License Exchange service: list → discover → bid/buy → escrow → settle for License NFTs and Fractional Units (FUs). It enforces ROFR/ROFO, applies jurisdictional restrictions, checks DLA freezes/holds read‑only, and emits auditable receipts with royalty interlocks. Market microstructure supports fixed price, Dutch auctions, sealed‑bid commit‑reveal, and optional batch auctions to reduce MEV.
1.1 High‑Level Architecture
+-----------------------------+ +---------------------+ +------------------------------+
| LEX Portals & Ops Console |<--->| API / RPC Gateway |<-->| Reference Chain (Runtime) |
| (White‑label TLaaS UI) | | (REST/WS/RPC) | | FRAME Pallets |
+-----------------------------+ +---------------------+ +------------------------------+
| chlom_lex / chlom_licensing |
+-----------------------------+ +---------------------+ | chlom_ownership / chlom_rofr |
| Oracles & Off‑chain |<--->| Oracle Gateway | | chlom_royalty / compliance |
| (TWAP, KYC, sanctions) | | + Off‑chain Workers| | dla(read‑only) / treasury |
+-----------------------------+ +---------------------+ | gov / scheduler / zkprivacy |
+------------------------------+
+-----------------------------+ +---------------------+
| Indexers & Analytics |<--->| SubQuery/Subsquid |
| (Depth, spreads, fills) | | + Sidecar |
+-----------------------------+ +---------------------+
1.2 Consensus & Accounts
- Consensus: BABE + GRANDPA.
- Staking: NPoS for network security; LEX roles permissioned via governance where applicable.
- Accounts: SS58; sr25519/ed25519; multisig via
What to read next: Doc 01 — LEX Architecture & Domain Model; Doc 02 — Network & Keys Handbook.
2 · Core Protocols (Functional Specs)
2.1 Listing Lifecycle Protocol (LLP)
Deterministic flow: Create Listing → Policy Gates → Live → Match → Settle → Archive.
Extrinsics (examples):
- lex.list(item_id|unit_id, terms, price_model, policy_id)
- lex.update(listing_id, fields)
- lex.cancel(listing_id)
2.2 Order & Auction Protocol (OAP)
Supports fixed, Dutch, sealed‑bid commit‑reveal, and batch auctions.
- lex.bid(listing_id, commitment)
- lex.buyNow(listing_id, qty?)
- lex.settleAuction(listing_id)
2.3 Escrow & Settlement Protocol (ESP)
Atomic escrow for assets and consideration; integrates royalty holds and fee routing.
- lex.escrow(listing_id, buyer, amount)
- lex.settle(listing_id)
- lex.refund(listing_id)
2.4 Compliance Gate Protocol (CGP)
Pre‑trade checks: ROFR/ROFO, region restrictions, DLA freeze/hold (read‑only), pack bindings, identity gates.
2.5 Fee & Rebate Protocol (FRP)
Maker/taker schedules; activity rebates; fee burns; sustainability routing (1%→5%).
What to read next: Doc 03 — LLP Spec; Doc 04 — OAP Spec; Doc 05 — ESP Spec; Doc 06 — CGP Spec; Doc 07 — FRP Spec.
3 · Runtime Pallets (FRAME)
Pallet | Purpose | Key Storage | Key Extrinsics | Events/Errors |
pallet_chlom_lex | Listings, orders, auctions, escrow | Listings, Orders, Escrows | list , bid , reveal , buyNow , settle , cancel | TradeSettled , ListingLive |
pallet_chlom_licensing | License NFT authority | Licenses, Constraints | transfer , sublicense | LicenseTransferred |
pallet_chlom_ownership | Fractional units | FUs, CapTable | split , merge , transfer | UnitSplit , UnitMerged |
pallet_chlom_rofr | ROFR/ROFO policies | Policies, Windows | registerRofr , exerciseRofr , waiveRofr | RofrExercised |
pallet_chlom_royalty | Royalty routes & holds | Splits, Holds | route , setHold , releaseHold | RoyaltySettled , HoldPlaced |
pallet_chlom_compliance | Read‑only trade gates | Bindings, Packs | bindLicense (issuer), read‑checks | LicenseBound |
pallet_chlom_dla | Freeze/hold source (read‑only) | Cases, Sanctions | — | SanctionApplied |
pallet_price_oracle | TWAP/price feeds | Feeds, TWAP | submitPrice , finalizeTwap | PriceUpdated |
pallet_transaction_payment + asset_tx_payment | Fee calc & alt‑asset fees | FeeMultiplier, AcceptedAssets | setFeeMultiplier | TransactionFeePaid |
pallet_treasury | Fee routing, rebates | Approvals | proposeSpend , awardBounty | TreasuryProposed |
pallet_scheduler | Timed auctions & windows | ScheduledCalls | schedule | Scheduled |
pallet_sustainability | Impact ledger & offsets | Impacts, Routes | recordImpact , routeOffset | ImpactRecorded |
What to read next: Doc 08 — Pallet Design Deep Dives (LEX Set).
4 · Data Model & Schemas
- Listing:
- Order:
- Auction:
- Escrow:
- FeeSchedule:
- RestrictionPolicy:
What to read next: Doc 09 — Runtime Storage & Schemas (LEX).
5 · Protocol Flows (Sequence Specs)
5.1 Listing → Match → Settle
Seller list
→ CGP gates pass → buyer buyNow
or bid
→ ESP escrows → settle
transfers License/FU and routes royalty/fees → receipts emitted.
5.2 Sealed‑Bid Commit‑Reveal
bid(commitment)
during window → reveal(bid, nonce)
→ best valid wins → settleAuction
→ settlement similar to 5.1.
5.3 ROFR Window
rofr.open
on new listing → eligible parties exerciseRofr
or waiveRofr
→ if waived/expired → listing becomes public.
What to read next: Doc 10 — Sequence Diagrams & State Machines (LEX).
6 · Governance & DAO Mechanics
DAO sets listing standards, fee schedules, auction parameters, rebate budgets, allowlisted bridges/venues, policy gates, and delisting procedures. Council fast‑track for market integrity events; post‑hoc referendum.
What to read next: Doc 11 — Governance Parameters & Processes (LEX).
7 · Token Model (Runtime View)
- CHM (governance): stake/vote on fee tables, market standards, bridge allowlists.
- CHLOM (utility): pay fees (maker/taker), escrow dust, rebates; a portion burned; 1%→5% routed to sustainability.
What to read next: Doc 12 — Token Implementation & Fee Model (LEX).
8 · Oracles & Off‑Chain Workers
TWAP price feeds, sanctions/KYC, geo‑restrictions. OCWs compute auction clears, finalize TWAPs, throttle under outage, and publish signed attestations.
What to read next: Doc 13 — Oracle Gateway & OCW Patterns (LEX).
9 · Indexing & Analytics
Dashboards: volumes, depth, spreads, time‑to‑fill, cancel ratios, auction participation, ROFR outcomes, fee/burn/sustain splits, rebate ROI.
What to read next: Doc 14 — Indexing Blueprints; Doc 15 — Observability & Telemetry.
10 · Security, Privacy, and Compliance
Threats: frontrunning/MEV, wash‑trading, oracle spoofing, escrow reentrancy, ROFR griefing. Controls: commit‑reveal, batch auctions, nonce salts, non‑reentrant escrows, anti‑wash detectors, deposits for suspect patterns, time‑locks for parameter updates, selective disclosure via ZK.
What to read next: Doc 16 — Security Standards & Threat Model; Doc 17 — Privacy/ZK Patterns.
11 · Sustainability & Impact Hooks
Every trade can route a programmable slice to Stripe Climate (1%→5%) and rotating EcoDrive campaigns (clean water, food, kelp, plastic removal, trees, jobs). recordImpact(kind, amount, ref)
links to public dashboards.
What to read next: Doc 18 — Sustainability Module & API.
12 · Developer Environment & Tooling
12.1 Prereqs
Rust stable + nightly; wasm32-unknown-unknown
; node template; subkey
; Docker; Polkadot‑JS Apps.
12.2 Build & Run (Reference Chain)
rustup target add wasm32-unknown-unknown
cargo build -p node --release
./target/release/chlom-node --dev
12.3 Testing
Unit/integration tests; try-runtime
; proptest
/fuzzing; scenarios for auctions, escrow, ROFR, policy gates, fee splits.
What to read next: Doc 19 — Local Dev & Testing Guide.
13 · Deployment Topologies
DevNet (mock oracles, faucet), TestNet (permissioned feeds; chaos tests), MainNet (oracle SLAs; governed fee tables; snapshots/backups; incident response SOPs).
What to read next: Doc 20 — Networks & Chain Specs; Doc 21 — Upgrade Playbook (Forkless Upgrades).
14 · SDKs & API Surfaces
TypeScript SDK (high‑level wrappers), Rust client (oracles/indexers), JSON‑RPC (standard + lex_*
).
Example:
await api.tx.chlomLex.list(itemId, { kind: 'fixed', price: 1000 }, policyId)
.signAndSend(account)
What to read next: Doc 22 — TS SDK Reference; Doc 23 — Custom JSON‑RPC Extensions.
15 · Royalty Engine Interop (Trade‑time)
Settlement triggers royalty.route
with holds if DLA flags exist; Merkle receipts for audit and revenue share.
What to read next: Doc 24 — Royalty Engine Spec (LEX Interop).
16 · KPI Catalogue & Market Integrity
Market KPIs: time‑to‑fill, cancel rate, depth @ top‑of‑book, spread %, auction participation, ROFR exercise rate, wash‑trade detector score, oracle uptime.
What to read next: Doc 25 — KPI Library & Policies (LEX).
17 · DLA Interaction (Escalation Only)
Suspicious patterns escalate to DLA via case open webhook/RPC. LEX respects DLA freezes/holds but does not adjudicate.
What to read next: Doc 26 — DLA Interop (Escalation Hooks).
18 · Casebook & Playbooks (LEX Ops)
Templates for common events: failed reveal, escrow dispute, ROFR abuse, wash‑trade alarms, oracle outage. Includes checklists and resolution ladders.
What to read next: Doc 27 — LEX Ops Casebook.
19 · Cross‑Chain & Bridging (Listings & Settlements)
XCM‑based listing mirroring; bridge allowlist with rate limits; foreign asset ID mapping; circuit breakers on abnormal flows.
What to read next: Doc 28 — Cross‑Chain Strategy (LEX).
20 · Compliance Packs by Jurisdiction (Trade Gates)
Region/sector packs encode who can list/buy, disclosure artifacts, cooling‑off periods, and resale limits.
What to read next: Doc 29 — Regional Compliance Packs (LEX).
21 · Operational Runbooks (LEX Desk, Surveillance)
LEX desk SOPs: listing QA, ROFR windows, auction calendars, settlement checks, fee table updates. Surveillance SOPs: alerts, thresholds, escalation routes.
What to read next: Doc 30 — LEX Desk Runbook; Doc 31 — Market Surveillance Manual.
22 · Contribution, Versioning, and SLA
Semantic versions; migration notes; state bumps; deprecation policy; doc SLAs; change control; post‑mortems for market incidents.
What to read next: Doc 32 — Contributing & Release Process.
23 · Full Documentation Roadmap (30+ Items)
- LEX Architecture & Domain Model
- Network & Keys Handbook (SS58, Sessions, Staking)
- LLP Spec (Listings)
- OAP Spec (Orders & Auctions)
- ESP Spec (Escrow & Settlement)
- CGP Spec (Compliance Gates)
- FRP Spec (Fees & Rebates)
- Pallet Design Deep Dives (LEX Set)
- Runtime Storage & Schemas (LEX)
- Sequence Diagrams & State Machines (LEX)
- Governance Parameters & Processes (LEX)
- Token Implementation & Fee Model (LEX)
- Oracle Gateway & OCW Patterns (LEX)
- Indexing Blueprints (SubQuery/Subsquid)
- Observability & Telemetry (Prometheus/Otel)
- Security Standards & Threat Model
- Privacy & ZK Patterns
- Sustainability Module & API
- Local Dev & Testing Guide
- Networks & Chain Specs
- Upgrade Playbook (Forkless Upgrades)
- TS SDK Reference
- Custom JSON‑RPC Extensions
- Royalty Engine Spec (LEX Interop)
- KPI Library & Policies (LEX)
- DLA Interop (Escalation Hooks)
- LEX Ops Casebook
- Cross‑Chain Strategy (LEX)
- Regional Compliance Packs (LEX)
- LEX Desk Runbook
- Market Surveillance Manual
- Disaster Recovery & Backups
- Performance & Benchmarking (LEX)
24 · Final Notes for Help Center Editors
- Keep this master current with each runtime and governance release.
- Every new market policy/upgrade must link back to this index and add a child doc entry.
- Cross‑check examples against the repository CI snapshot and latest policy votes before publishing.
Appendix A — Example Types (Rust)
pub struct Listing { pub listing_id: u64, pub asset: AssetRef, pub seller: AccountId32, pub price_model: PriceModel, pub policy_id: u32, pub state: u8, pub created_at: u64 }
pub struct Escrow { pub escrow_id: u64, pub listing_id: u64, pub payer: AccountId32, pub payee: AccountId32, pub asset: AssetRef, pub amount: u128, pub state: u8 }
pub struct FeeSchedule { pub maker_bps: u16, pub taker_bps: u16, pub burn_bps: u16, pub sustain_bps: u16, pub rebate_model: u8 }
Appendix B — Example TS SDK Calls
await api.tx.chlomLex.list(itemId, { kind: 'sealed', reserve: 1000, commitWindow: 600, revealWindow: 600 }, policyId).signAndSend(account)
await api.tx.chlomLex.reveal(listingId, bidAmount, nonce).signAndSend(account)
Disclaimer: Technical documentation; not legal advice. Market parameters are governed on‑chain. Always align deployments with applicable laws and CHLOM Governance decisions.