offline_protocol, that hosts the engine on iOS and Android from Dart. It is a preview. It compiles the same native bridge sources as the React Native module, so a transport fix reaches both, but it exposes a smaller API. For a phone app you ship today, use React Native.
The plugin is not on pub.dev. Depend on it by path from a checkout of the SDK repository at the release tag.
Requirements
Add the plugin
Check out the SDK at the release tag and build the mobile libraries, the same steps as the React Native module:pubspec.yaml:
bluetooth-central and bluetooth-peripheral background modes on iOS, and the Bluetooth, location and nearby Wi-Fi runtime permissions on Android. See React Native installation.
On iOS, pod install copies the shared Swift bridge sources into the plugin. If you change those sources, run bindings/flutter/offline_protocol/ios/sync_bridge_rn.sh and pod install again, or the build compiles the old copy.
Quick start
Subscribe to events beforecreateFromConfig if you need every event, including gap recovery through native replay:
What the plugin covers
Not in the plugin yet: Nostr, Reticulum, telemetry and the React Native foreground mesh service.
createFromConfig refuses a configuration with reticulumEnabled or nostrEnabled set. Groups, shared documents, services and file transfer are not in the Dart API in this release; use React Native for those.
CI runs the plugin’s Dart tests and builds its Android library. No CI job compiles the iOS plugin yet.
Reference
- Flutter plugin README, including the example app.
- Flutter bridge contract: threading, shared sources and event delivery.

