Skip to main content
Offline Protocol is an offline-first mesh networking SDK and a set of hosted services for apps and devices. It gives your application device discovery, cryptographic identity, encrypted messaging, shared state and service invocation between phones, gateways and embedded devices over Bluetooth LE, local IP networks or a relay, with or without internet access. Integrate the SDK into each participating device or application, keep your existing backend and send it the records your workflow requires.

Get something running

Choose one of three paths. None of them needs an account.
  1. Try it. Clone the example apps and run one on two physical phones, following the repository README:
  2. With a coding agent. Connect the local MCP server, npx -y @offline-protocol/[email protected] mcp serve, to your coding agent, then give it a concrete brief.
  3. By hand. Exchange a message between two phones over BLE in your own React Native app. Building a gateway, firmware or web sign-in? Choose your SDK.
OfflineID and Proof of Location need your app’s public App ID (app_…) from the developer portal. An app API key is needed only for hosted MCP, Mesh SDK telemetry and CLI use in CI.

Choose a workflow

Local handoff

Exchange an update between nearby devices and record the receiving application’s acceptance.

Sync

Edit shared documents locally and merge changes when peers reconnect.

Invoke

Discover a service, choose a provider and handle its response.

Deliver to a backend

Retain readings and workflow records until your existing backend accepts them.

Start on your platform

React Native

Install the SDK on two physical phones and exchange a message over Bluetooth LE.

Python

Connect desktop or gateway processes over a local IP network or an internet relay.

Rust and embedded

Choose a full protocol engine or constrained leaf and connect it to your platform’s transport and storage.

Examples

Find the source, prerequisites and expected result for each example.

What runs where

The SDK runs in your application. Platform bindings provide radio and network I/O; the Rust core handles protocol state, routing and cryptography. Devices need a compatible, reachable path to exchange data. Internet access is optional for a local workflow. Hosted identity, telemetry and relay services are separate integrations. You do not need a developer-portal account or API key to run a local Mesh SDK example. Compare platforms and transports before choosing hardware. These guides target Mesh SDK v0.28.0. Use the CLI and MCP tooling to find packages, configure an agent and scaffold an integration.

Current releases