Relay and MESH
Open specifications for decentralized social networks.
About
Relay splits a social protocol into two layers. The truth layer holds signed, content-addressed facts: identities, an append-only event log, state and attestations. The view layer holds deterministic projections over those facts, such as feeds and ordered lists. The stack spec has gone through several drafts and is now at version 2.
MESH, the Modular Extensible Social Hybrid Protocol, is a sibling specification that layers privacy, integrity, moderation, views and network over a self-sovereign identity, with a Python implementation.
What it does
Facts first
Relay's truth layer is signed, content-addressed facts: identity, an append-only event log, state and attestations.
Deterministic views
Feeds and lists are projections over those facts. Anyone who computes a view from the same inputs gets the same answer.
Self-sovereign identity
In MESH an Ed25519 key is your identity, with device keys for multiple devices and optional social, custodial or hardware recovery.
Private by default
MESH uses X25519 and AES-256-GCM for direct messages and groups.
Composable moderation
Third parties publish attestations, and each person chooses whose to trust.
A working reference
MESH has a Python implementation on SQLite or PostgreSQL, and the repository reports its own benchmarks.
The Pitch

Facts first, feeds second
Read the specifications and the reference code.
Progress
Resources
At a glance
- Relay
- Stack spec, drafts v1.0 to v2
- MESH
- Spec v1.1 with a Python implementation
- Compared with
- Nostr, ActivityPub, SSB, AT Protocol
- Source
- Open repositories
Role
Author. Protocol specifications and reference implementations.