What is the entity system?

The entity system is a substrate for distributed information: a small core protocol, a set of extensions, and the conventions that let independent peers work together. With it you can keep your own data, sync it between your own machines, and build applications that don't depend on anyone else's servers --- up to a distributed operating system.

Most software keeps your data on someone else's computer, under someone else's terms; moving it, or building on it, means asking permission. That follows from how those systems were built, and it can be built otherwise. The entity system is built so that independent peers, run by different people with no prior arrangement, genuinely interoperate: the data has a definite form, anyone can hold it, and no single party sits in the middle.

None of which requires anyone else to show up. One person running it on their own machines is a complete use case, not a waiting room — connecting to other peers adds to it rather than being the point of it.

The six primitives

The whole system is built from six primitives, which divide into three domains:

The temporal primitives depend on the informational ones; the spatial primitive depends on both. Everything above is composition of these six.

How it is built up

The system is a layered stack. Two peers that agree on the core protocol (L1) interoperate at the substrate; everything above it is optional and composes.

LayerWhat it is
L0 — Algorithmscanonical CBOR, SHA-256, Ed25519, Base58, content chunking, Merkle trie operations — the spec-fixed interop floor
L1 — Core protocolthe six primitives, dispatch, capabilities, emit, the type system
L2 — Compositionhow extensions coordinate on the same write
L2.5 — Extensionsthe optional capability library
L3 — SDKthe protocol in a host language (Go, Rust, Python)
L4 — Shared patternscommon compositions made reusable
L5 — Applicationsuser-facing software built on the substrate

Entity Core Protocol — the floor

The mandatory layer every peer speaks. Its surface is small: content-addressed typed data as the unit; a mutable named tree over an immutable content store; universal addressing (peer/path); two message types (EXECUTE and its response, with query/subscribe/update all expressed as EXECUTE against handlers); four-dimensional capability grants (handlers, operations, resources, peers) with cryptographic attenuation; and peer-to-peer communication between content-identified peers. The core protocol has been re-derived across more than forty languages — a cohort of peers generated from the spec, alongside three independently-written reference implementations (Go, Rust, Python): spec-forced convergence across languages, not many separate codebases independently agreeing, since the generated peers share a generation lineage. Conformance is a tracked, moving state — the current cohort-wide measurement, and each peer's known gaps, are published in the conformance matrix rather than summarized as a badge.

The full specification

Entity System Extensions — the capability layer

Everything above core is optional and opted into: each extension is a contract a peer adds without changing the core. The real structure is a dependency topology, not the folder layout — a foundational tier (continuation, subscription, revision, inbox, history, query), an identity stack (identity, attestation, quorum, role, group), and the converging network/resolution frontier (network, relay, route, registry, discovery).

The distinction matters more than the list. The core is what is left after reduction — the part that cannot be removed and still have two strangers interoperate. What sits above it is design space, and the set described here is one traversal of it: the extensions we found we needed, in the order the work demanded them. A peer that adopts a different set, or writes its own, is not a fork and is not less conformant — it still meets every other peer at the substrate, because agreement is required at the floor and divergence is expected above it. That is the property the conformance gate measures, and the reason it measures the core rather than the whole stack.

The architecture, in full

The Distributed Entity Operating System

An operating system coordinates state, dispatch, processes, events, and authorization. The standard peer — the core protocol plus the architecture-supplied substrate-bridge extensions — provides each of these from the same six primitives, in the same typed, content-addressed substrate. The unit is not the machine but the fleet: all of a person's or an organization's peers, run as one coordinated system. The kernel services map across cleanly — the tree is the filesystem, EXECUTE the system call, a continuation a process, the inbox IPC, a subscription a signal, capabilities the permission system.

The framing is deliberate: the core is a substrate, not a system, so this is one operating system the substrate can host — the reference build — not the only one it could. The posture is exploratory: a map of what the substrate can carry, not a claim that this is the way to build one.

Stewardship and where it stands

A standard people can rely on has to be owned by everyone and beholden to no one. The Entity Church Foundation is the neutral steward of the protocol: it keeps the standard open, documented, and free to build on, and governs the process, not the asset. That stewardship has a shape worth stating plainly:

Explore the system

Where this comes from

A closing note on stance, because it shapes everything above.

The entity system is an exploratory research project, and we believe it was found, not invented. It came out of analysing how existing information systems already work; the six primitives are a structure that was there to be noticed. It is also a dependent technology — an arrangement of cryptography, encoding and distributed-systems work done by other people. It would not exist without the committed work of scientists and practitioners over decades.

That is why these pages describe rather than sell, and why the gaps are stated as plainly as the results: overclaiming would break the same promise the technology makes. The goal is a common shared resource for distributed computing and data exchange, and that requires a community to work with the technology and share the ownership of its future.

1.0 gets reached with the community, not declared at it. You're a peer here, not a prospect — there's nothing to buy. Read the ideas, build a peer and try it, disagree with us in public, or help steward the standard, as you like.