The coordination layer for physical systems

Offline Protocol puts transport, identity, discovery, shared state, and execution in one SDK, so applications, machines, and agents stay authenticated, in sync, and working across local, mesh, gateway, and cloud paths. Your cloud stays the system of record.

Table: the platform as a stack. Your application on top. Connect: DORS transport and OfflineID identity. Sync: edge sync and telemetry. Invoke: service discovery, and Capability Exchange, which is coming soon. Underneath, the four paths a request can take: nearby, mesh, gateway, and cloud.

Your app
Fleet coordination, agent runtimes, field apps, messagingOne surface in TypeScript, Python, or Rust
Invoke
Service discovery→Advertise, discover, and call capabilities across the mesh with no DNS Capability ExchangeEvidence-based routing across nearby, gateway, and hosted providersComing soon
Paths
Nearbya device in radio rangeMeshup to 8 hops awayGatewaya provisioned carrierCloudyour system of record
350,000+devices reached to date
140+countries
5transports, one API
1Rust core under every binding

What a coordination layer is

Every product rebuilds the same plumbing. Pairing, store and forward, retry, recovery, and who is allowed to talk to whom get written again for each app and each radio, and the same failures get rediscovered each time.

One contract above every path. Your code sends a request once. Whether it is answered by the device next to it, a peer eight hops away, a provisioned gateway, or your cloud is decided underneath. The guarantees are the same on every one.

Your cloud stays the system of record. Offline Protocol is the system of local execution. Work happens where the devices are, and reconciles with the database you already run when a link returns.

DORS

The Dynamic Offline Relay Switch routes over BLE, WiFi Direct, internet, Reticulum, and Nostr, scores each transport on live signal, congestion, energy, and reliability, and moves every message to the best path. Multi-hop relay up to 8 hops, MLS encryption by default, and a reliability layer of acknowledgment, retry, and deduplication underneath.

How mesh networking works

Demonstration of transport failover on the offline mesh networking stack: a field unit whose internet link is down stays connected to a fleet dashboard over an active Bluetooth LE mesh link, with WiFi Direct on standby.

BLE, active
WiFi Direct, standby
Internet, down
10:32●●● 84%
fleet-opsunit-07
Connectivity
InternetDown
Mesh5 peers
Transports
ble✓ active
wifi directstandby
internetdown
Session
2Hops0Drops0Drops
ops.offlineprotocol.com/fleet
Fleet overviewLive
U-04 U-12 U-19 U-07, live
5Units live0Drops3Hops max

OfflineID

An Ed25519 keypair made on the device, with an address derived from the key, so two devices verify each other with one signature check and no server, certificate authority, or signal. Accounts bind through a signed challenge, credentials carry a fixed lifetime, and field data is signed at capture.

How offline identity works

Demonstration of offline identity verification: a phone holding an Ed25519 OfflineID authenticates against a gate access panel device-to-device with zero connectivity, and access is granted offline.

Zero connectivity
Verified, offline
10:32●●● 92%
OfflineIDunit-07
amara k. ed25519:8f3a…4c9
Key fingerprint8F3A 91C2 55E0 4C9D
Verify identity
Recent
gate-01✓ now
scout-12✓ 2m
relay-04✓ 1h
gate-01.local/access
Gate 01, North entryLocal
OfflineID check✓ Key on device✓ Credentialissuer-signed
Access granted, offline

Service discovery

A device announces what it can do, the announcement travels hop by hop, and any peer up to 8 hops away calls it like an API endpoint. Caller and provider verify each other with OfflineID, and request and response ride the same encrypted session.

How service discovery works

Demonstration of serverless service discovery on the offline mesh: a phone discovers a thermal camera service advertised three hops away and invokes it request/response, streaming imagery with no server and no DNS.

Discover, then invoke
10:32●●● 78%
Discoverunit-42
NearbyServices
unit-19thermal-cam.v1 Invoke
IdentityOfflineID verified ✓Routevia relay-04, 3 hops
scout-12gps-fix.v2 Invoke
relay-04relay-uplink.v1 Connected
Mesh, 5 peers
thermal-cam.v1, stream
10:32:14 UTC Thermal, 240 ms Max 61.4°C
Advertising on meshReq 14, res 14

Edge sync

Map, list, text, and counter documents that any member of a space edits while disconnected. When replicas meet, only the changes travel and every replica lands on the same result, with no server deciding who wrote last. On by default, on storage you already own.

How edge sync works

Demonstration of replicated documents: two field units edit the same work order while disconnected, exchange compact deltas when they meet, and converge on the same document with no server.

Delta, 212 B
No server
10:32●●● 84%
work-orderunit-07
Offline edits
statusin progress
visits+1
readings61.4 C
Connectivity
InternetDown
Meshunit-12
3Edits1Peer0Conflicts
work-order, unit-12
Merged documentConverged
statusin progress visits3 readings61.4 C assigneeunit-12
Same result on every replica

Gateways and paths

A gateway is something you deploy and configure, not a role a phone drifts into. It attaches a unit, carries what the mesh cannot deliver, and returns a verdict. Only the recipient ever settles a message, and a message with no path is parked and re-driven the moment one appears.

How reliable delivery works

Demonstration of gateway routing: a field unit with no internet reaches a provisioned gateway over the mesh, the gateway attaches the unit, carries the message, and returns a verdict.

Mesh, 2 hops
Gateway, attached
Upstream, returns
10:32●●● 78%
field-opsunit-07
Connectivity
InternetDown
Mesh5 peers
GatewayGW-01
Outbox
report-0412✓ carried
report-0413parked
2Hops1Parked0Lost
gw-01, contract v1
Gateway 01, YardAttached
Attach✓ signed Submit✓ report-0412 Verdictcarried Presence3 reachable
Carried, reconciles on return

One SDK surface

One Rust core underneath every binding, so the guarantees are the same on a phone, a laptop, a server, and a Cortex-M part.

TypeScriptReact Native

iOS and Android through React Native, the surface most field apps ship on. Early native Swift and Android packages need no React Native.

PythonDesktop

macOS, Linux, and Windows, for gateways, tooling, and analysis. pip install offline-protocol-sdk.

RustCrates

The core itself, for anything that links a crate.

no_std leafCortex-M

A 449.5 KiB image that speaks real MLS on a constrained part. Embedded and OEM →

Go deeper

See the platform against your fleet. One workflow, agreed criteria, 4 to 16 weeks.