Introduction
What is Calimero?
Section titled “What is Calimero?”Calimero is a peer-to-peer application layer for building self-sovereign, local-first apps. Users own their data, apps keep working offline, and state syncs directly between peers when they reconnect — with no central server in the middle.
Instead of reaching global agreement through consensus like a blockchain, Calimero uses CRDTs (Conflict-free Replicated Data Types): independent nodes apply changes locally and merge them, converging on the same state without leaders, ordering, or coordination.
New here for the bigger picture? Start with Why Calimero, then see how it compares to other P2P protocols.
The mental model
Section titled “The mental model”Four ideas cover most of Calimero. Learn them once and the rest follows:
| Concept | What it is |
|---|---|
| Applications | Your logic, written in Rust and compiled to WebAssembly. State is declared as CRDT collections; methods read and write it and emit events. |
| Contexts | A running instance of an app with its own isolated, encrypted state, shared among a group of members — a private network per app, per group. |
| Identity | Hierarchical keypairs: a root identity delegates per-device keys, and every operation is signed. |
| Nodes | merod — the runtime that executes apps, stores state, and syncs with peers. One node can run many contexts at once. |
How it works
Section titled “How it works”Under the hood, every change becomes a signed operation in a causal DAG, replicated on two complementary paths: a fast broadcast (~100–200 ms) for real-time updates, and a periodic catch-up sync so a peer that was offline still converges. Because the state is a CRDT, order doesn’t matter — everyone lands on the same result, and divergence is detected rather than prevented by locking.
For the full walkthrough, see Architecture at a glance; for the normative spec, the Core protocol reference.
What you can build
Section titled “What you can build”| Use case | Why Calimero |
|---|---|
| Collaborative editing | Real-time documents and boards; concurrent edits merge automatically. |
| Private team data | A group’s records replicated only among its members, with per-member access and revocation. |
| Multiplayer & real-time | Game and presence state that syncs in ~100 ms and heals after a disconnect. |
| Decentralized social | User-run nodes; data ownership and privacy by default. |
| Device & IoT coordination | Devices coordinate without a central server; offline-tolerant by design. |
See Examples for working apps.
Where to go next
Section titled “Where to go next”| If you want to… | Start here |
|---|---|
| Run something in minutes | Getting Started |
| Build an app | Builder Directory → Core Build reference |
| Understand the design | Architecture · Core Concepts |
| Add Calimero to a frontend | Client SDKs |
| Run or host a node | Operate Nodes · Calimero Cloud |
Questions? Join us on Discord or open a GitHub issue.