Skip navigation
XChain Docs

6 · The Seven Primitives

Last updated: 08/06/20262 min read

The narrow waist is a small set of primitives, each specified hard (RFC 2119 — MUST / MUST NOT / SHOULD), so everything above plugs in with total freedom. The table gives each primitive's module and invariant; the maturity column is a design-level summary — the precise, current implementation state lives in Status & Live Network.

#PrimitiveModuleCore invariantMaturity
1UIR — Universal Identity Rootx/uirOne global identity; per-chain accounts derived deterministically; one signature authorizesReal
2UAC — Universal Asset Commitmentx/uacTotal-supply invariant total == Σ perChain + lockedInTransit; minimum security-class per asset; enforces the 2-Domain boundaryReal
3XMP — XChain Messaging Protocolx/xmpTrust-minimized messaging; clean split of READ and WRITEReal (anti-replay + containment)
4PAI — Proof Aggregation Interfacex/paiA parent verifies children without re-executing; recursive aggregationAggregation real · prover: see Status
5DA Interface (tiered)fabric/da + tools/dasidecarCommitted data stays retrievable / sampleable per the tier's policyReal (Celestia)
6VLC — Verifiable Log Commitmentx/vlcAppend-only logs: tamper-evident + timestamped + inclusion-provable; value-freeReal (RFC 6962 Merkle)
7SC — Settlement Contractx/settlementMinimal Settlement-Layer logic: finalize cross-region value, consume aggregated proofsReal (no blind commitments)

⚠️ The proof system is deliberately separable. PAI's aggregation (STC → Cell → Root) is real, but the cryptographic prover is a swappable component; by design ProofSystem.MOCK is rejected on every non-testnet network. Whether the running network uses MOCK or a real prover at any moment is a status question, answered in Status & Live Network — so this design page does not go stale when the prover advances.

The primitives compose in a strict dependency order: UIR → (UAC, XMP) ; DA → (VLC, PAI) ; (UAC, XMP, PAI, VLC) → SC.

Figure 3 — Dependency graph of the seven primitives.

Takeaway: freeze a small, correct core and thousands of people can build wildly different things above it that still interoperate. The internet did this with TCP/IP; XChain does it for verifiable data. With the core fixed, the fair question is where this design sits among the systems it borrows from — asked and answered next, on axes defined before any ranking.