OPEN COMMUNICATION PROTOCOL
An open communication network built for self-sovereign identity
Meshline is an open communication protocol for user-owned identity. Users choose their communication service, while applications rely on end-to-end encryption, cross-relay routing, and offline sync for reliable messaging.
01 · IDENTITY
From platform accounts to user-owned identity
Meshline does not put messages on-chain. The chain anchors shared, verifiable state such as public relay membership; messages, contacts, history, and private keys stay off-chain.
02 · EVOLUTION
Designed to evolve toward multi-chain identity
Protocol 1.0 and the reference implementation currently use Neo N3. The long-term direction is to support address and signature systems from more chains; this is a roadmap direction, not a current capability.
Current implementation
Neo N3 accounts, signatures, and RegistryEvolution direction
Address and signature systems from more chainsAccount keys authorize devices; device keys handle daily messaging
Wallet and account private keys are never sent to relays and are not used to encrypt every message.
03 · ROUTING
Identity and relay are independent
When a user changes their home relay, an updated signed route changes where messages arrive while account identity stays the same.
Verify a new relay
Publish an updated signed route
Keep receiving messages
Account identity stays the same. The receiving relay can change.
04 · DELIVERY
End-to-end encryption with reliable offline delivery
Private and group messages create a separate key box for every receiving device. Relays store ciphertext while clients complete sync through push, pull, and acknowledgement.
Per-device key boxes
Content keys are wrapped only for authorized recipient devices.
Direct cross-relay delivery
The source relay connects to the target relay without a central service.
Persistent offline Inbox
The target relay stores ciphertext while a device is offline.
Pull and ack after recovery
Clients fill gaps after reconnecting, then acknowledge processing.
Relays handle routing and ciphertext without holding message decryption keys.
E2EE covers private and group messages. Public channel content is treated as public.05 · DISCOVERY
Verifiable discovery for an open relay network
Clients read relay candidates from the public Registry, then verify membership, RelayDescriptor signatures, HTTPS endpoints, and libp2p Peer identity.
Registry membership
Descriptor signature and expiry
HTTPS endpoint
libp2p Peer identity
06 · BUILD
Protocol, SDK, and reference implementations
Meshline includes a C# SDK, an ASP.NET Core Relay, a WPF reference client, and a MeshlineRegistry contract implementation.
var setup = new MeshlineClientSetup(options);
var relays = await setup.DiscoverRelaysAsync();
await using var session = await setup.RegisterAsync(
credential, "Alice", "Laptop", relays[0]);
await session.ConnectAsync(credential);MESHLINE / START
Start with Meshline
Read the protocol overview or run the SDK sample and reference implementations.
