Skip to content

Introduction

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.

Four ideas cover most of Calimero. Learn them once and the rest follows:

ConceptWhat it is
ApplicationsYour logic, written in Rust and compiled to WebAssembly. State is declared as CRDT collections; methods read and write it and emit events.
ContextsA running instance of an app with its own isolated, encrypted state, shared among a group of members — a private network per app, per group.
IdentityHierarchical keypairs: a root identity delegates per-device keys, and every operation is signed.
Nodesmerod — the runtime that executes apps, stores state, and syncs with peers. One node can run many contexts at once.

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.

Use caseWhy Calimero
Collaborative editingReal-time documents and boards; concurrent edits merge automatically.
Private team dataA group’s records replicated only among its members, with per-member access and revocation.
Multiplayer & real-timeGame and presence state that syncs in ~100 ms and heals after a disconnect.
Decentralized socialUser-run nodes; data ownership and privacy by default.
Device & IoT coordinationDevices coordinate without a central server; offline-tolerant by design.

See Examples for working apps.

If you want to…Start here
Run something in minutesGetting Started
Build an appBuilder DirectoryCore Build reference
Understand the designArchitecture · Core Concepts
Add Calimero to a frontendClient SDKs
Run or host a nodeOperate Nodes · Calimero Cloud

Questions? Join us on Discord or open a GitHub issue.