Offline Protocol vs Berty
Berty is an open-source, privacy-first messenger built on the Wesh protocol, which works over the internet through IPFS and libp2p and nearby over Bluetooth LE, Android Nearby, and Apple Multipeer Connectivity. Wesh can be used as a Go library, and Berty's own documentation says the protocol is still being implemented and has not been thoroughly audited. Offline Protocol is a mesh SDK packaged for iOS and Android apps, with multi-hop relay, MLS group encryption, and device identity.
Covers itPartly, or with conditionsNot part of the product Taken from each product's own documentation. The detailed table below carries the specifics.
The specifics
| Capability | Offline Protocol | Berty |
|---|---|---|
| Form factor | SDK you build into your own app | Messaging app, plus the Wesh protocol as a Go library |
| Platforms | iOS and Android through React Native, with early native Swift and Android packages and a preview Flutter plugin; Rust; Python on PyPI; Java on Maven Central; Ruby on RubyGems; a C API; an experimental browser build | iOS and Android app; Wesh in Go with a gRPC API |
| Transports | BLE mesh, internet relay, and Nostr or Reticulum through infrastructure you provide | IPFS and libp2p over the internet; Bluetooth LE, Android Nearby, Multipeer Connectivity, and mDNS nearby |
| Relay | Up to 8 hops with ack, retry, deduplication | Direct links nearby; asynchronous messaging over the internet |
| Encryption and identity | MLS (RFC 9420), Ed25519 OfflineID | End-to-end encrypted; no phone number |
| Maturity | In active development; current release v0.31.0 | Not yet thoroughly audited and partly implemented, per Berty's protocol docs |
| Licensing and cost | Mesh SDK free under AGPL-3.0, including in production. Closed-source and App Store apps need the commercial license; contact us for pricing. Hosted services from $0 (Free), $99 a month (Pro), $499 a month (Scale). Local mesh traffic is never metered. Pricing | Free and open source under Apache-2.0 or MIT. Wesh on GitHub |
How they differ
Berty (berty.tech) is a messenger with no phone number and no central server, built on Wesh, an open-source asynchronous protocol. Over the internet Wesh uses IPFS and libp2p. Nearby, it uses Android Nearby on Android, Multipeer Connectivity on iOS, and Bluetooth LE between the two. Both are dual licensed under Apache-2.0 or MIT.
Wesh can be used as a Go library with a gRPC interface, so other languages can call it. Berty's documentation says the protocol has not been thoroughly audited and that some described features are not implemented yet, and its React Native package for Expo is marked as not usable yet.
Offline Protocol is packaged for app teams: a Rust core with a React Native binding for iOS and Android, installed from npm. It routes across up to 8 hops, so phones out of direct range reach each other through relays, encrypts sessions and groups with MLS (RFC 9420), and adds an Ed25519 identity per device, replicated documents, and service discovery.
When to choose each
Choose Berty if you want a privacy-first messenger with no phone number, or a Go library for asynchronous peer-to-peer messaging over IPFS. Choose Offline Protocol if you are building an iOS and Android app and need a packaged mesh SDK with multi-hop relay, MLS group encryption, and shared documents.
Choose Berty when
You want a finished privacy-first messenger, or your team works in Go and wants Wesh's asynchronous messaging over IPFS and libp2p, and the project's own maturity notes fit your timeline.
Choose Offline Protocol when
You are shipping a React Native app on iOS and Android and need relay across nearby phones, MLS group encryption, device identity that verifies offline, and replicated documents from one SDK.
See how the mesh carries messages in offline messaging, or the security model.
Offline Protocol vs Berty FAQ
Is there a Berty or Wesh SDK for React Native?
Wesh, the protocol under Berty, is a Go library with a gRPC API. Its Expo package for React Native is marked work in progress and not usable yet. Offline Protocol publishes a React Native package for iOS and Android, @offline-protocol/mesh-sdk, on npm.
How is Berty different from Offline Protocol?
Berty is a messenger app, and Wesh is its open-source protocol, using IPFS and libp2p over the internet and Bluetooth LE, Android Nearby, and Multipeer Connectivity nearby. Offline Protocol is a mesh SDK you build into your own app, with up to 8 hops of relay, MLS (RFC 9420) group encryption, Ed25519 device identity, and replicated documents.
How mature is the Wesh protocol?
Berty's protocol documentation says the protocol has still not been thoroughly audited and that its implementation is in progress, with some described features not implemented yet. Check its repository for the current status. Read the Berty protocol docs.
How do licensing and cost compare with Berty?
The Offline Protocol mesh SDK is free under AGPL-3.0-only, including in production, and local mesh traffic is never metered on any plan. Closed-source apps and apps distributed through the Apple App Store need the commercial license, which has no published price, so contact us for pricing. Hosted services are optional and run on Free ($0), Pro ($99 a month), Scale ($499 a month), and Enterprise plans. Berty and Wesh are free and open source under Apache-2.0 or MIT. See Wesh on GitHub.

