Coordination for the disconnected edge,no servers required.
Offline Protocol is the transport, identity, and coordination layer for devices operating beyond reliable connectivity. Live on 350,000+ devices across 80+ countries.
When the edge goes dark, coordination has to survive it and everything built on it
Connectivity assumptions fail exactly where autonomous systems, on-device AI, and field operations run. These are the shipped capabilities that keep working when the internet does not.
One message layer, five transports
DORS runs Bluetooth LE, WiFi Direct, internet, Reticulum, and Nostr at once and scores them live, so a message follows whatever link is working. No route configured, no server in the path.
Identity that verifies offline
OfflineID is Ed25519 self-sovereign identity, verified device to device with zero connectivity. 300,000+ identities issued.
Services without servers
Advertise a capability, discover it, and invoke it request and response, with no server or DNS.
Observability with no backend
Opt-in telemetry emits nothing until your app installs a sink. Then a single in-process stream carries metrics, transport switches, routing decisions, and MLS lifecycle, with identifiers scrubbed by default.
Running today wherever the signal can't be trusted
The same SDK ships across fleets, field teams, and autonomous systems. A few of the places it already runs.
A unified infrastructure stack,empowering global connectivity.
Ship the mesh in an afternoon
Rust core, React Native binding, MLS (RFC 9420) encryption by default. Initialize, join the mesh, advertise a service, discover and invoke.
import { OfflineProtocol, MeshServices } from '@offline-protocol/mesh-sdk';
// Initialize and join the mesh
const protocol = new OfflineProtocol({ appId: 'fleet-app', userId: 'unit-42' });
await protocol.start();
// Advertise a capability to the mesh
const services = new MeshServices();
await services.registerService('thermal-cam.v1', '1.0', { format: 'json' });
// Discover and invoke it from any peer, up to 8 hops away
await services.discoverServices('thermal-cam.v1');
protocol.on('service_discovered', (event) =>
services.sendServiceRequest(event.provider_peer_id, event.service_id,
'capture', JSON.stringify({ zoom: 2 })));
protocol.on('service_response_received', (event) => handle(event.body)); Verified against the Mesh SDK reference. iOS and Android ship through the React Native binding over the Rust core.
The network is already deployed
Every consumer install deploys a node. The network grew to 350,000+ devices on product pull alone, and every app built on the SDK extends coverage for every other app.
See the live network →Frequently asked questions
What is Offline Protocol?
Offline Protocol provides a privacy-focused mesh networking platform that enables secure communication, self-sovereign identity, and offline coordination for mesh-compatible devices and hardware, as well as offline telemetry and data insights.
How does the mesh work?
DORS runs BLE, WiFi Direct, internet, Reticulum, and Nostr transports concurrently and switches between them based on live signal, congestion, energy, and reliability. Messages relay across multiple hops with acknowledgment, retry, and deduplication built in, up to an 8-hop TTL.
What is Service Discovery?
Service Discovery lets any device advertise a capability and any device within hop range discover, authenticate, and invoke it with a request/response pattern. No server, no DNS, no infrastructure. A device five hops away is invocable like an API endpoint.
How is data secured?
Sessions are encrypted with MLS (RFC 9420). Identities are Ed25519 keypairs with trust-on-first-use verification. Keys never leave the device.
What platforms are supported?
iOS and Android through a React Native SDK, backed by a shared Rust core. See the developers page for SDK downloads and quickstarts.
How does telemetry work?
Telemetry is opt-in and emits nothing until your app installs a sink. Once installed, a single stream carries protocol events, MLS lifecycle, transport-state transitions, routing decisions, and device-capability changes.
What happens during outages?
Nothing changes for the mesh. Devices keep discovering, authenticating, and invoking each other over local transports, and state syncs opportunistically when a connection returns.
How large are the files the mesh can move?
Chunked transfer supports files up to 100MB across the mesh, with per-chunk acknowledgment and resume.
How do we pilot this?
We run scoped pilots of 6 to 10 weeks against your fleet, environment, and success criteria. Use the contact form to book one.






