Interface reference
One interface, every language. The driver handles discovery, connections, background, and power behind the scenes, so the code you write is nearly the same whichever language you're in. Pick yours; every example below switches with you.
Hand-maintained during early access. These samples are kept in sync with the real API by hand today; the intent is to generate them from the C ABI (sdk/hop.h) and its language wrappers per release. Java rides the JVM binding; Objective-C bridges from the Swift binding; Python lands as its binding does.
Open a node
Open a node from your 32-byte secret. The driver owns key storage and the radios, you just hand it the key, and the secret is the address.
Send to a device
Address a sealed payload to another device by its public key. You don't pick a route or a bearer, the driver relays it across whatever it has.
Reach the internet from offline
Egress is a hops:// service request addressed to an endpoint node by its key: it fetches the URL and the sealed response routes back to your key. You still pick no route or bearer.
Receive
Drain your inbox of sealed bundles addressed to you, and open them. Delivery acknowledgements and dedup are handled for you.
Subscribe to a topic
Join a pub/sub topic and receive whatever is published to it across the mesh, one-to-many, region-aware, the same on every platform.
Where this goes next
This is the shared, flow-level interface, the part that's the same everywhere. The full per-language reference (rustdoc, Swift DocC, Kotlin/Java Dokka) is generated per release from the same interface and linked here as it lands. Building on a platform that isn't here yet?Tell us.