Overview - iroh
iroh is available in Rust, Python, Swift, Kotlin, and JavaScript. Pick the language that fits your app and follow its guide to get a working endpoint in minutes.
| Language | Status | Platform notes |
|---|---|---|
| Rust | Official | Primary implementation |
| Python | Official | Prebuilt wheels |
| Swift | Official | iOS + macOS |
| Kotlin | Official | JVM + Android |
| JavaScript | Official | Node.js via N-API |
All five official bindings share the same basic API surface for sending streams or datagrams over QUIC. The Rust language bindings are the most complete and up-to-date, and contain custom configuration and protocol features.
Platform support
The n0.computer team offers official support for the following platforms.
| Platform | Rust | Python | Swift | Kotlin | JavaScript |
|---|---|---|---|---|---|
| iOS (device + sim) | ✓ | — | ✓ | — | — |
| Android (aarch64, armv7) | ✓ | — | — | ✓ | ✓ |
| macOS arm64 | ✓ | ✓ | ✓ | ✓ | ✓ |
| macOS x86_64 | ✓ | ✓ | ✗ | ✓ | ✗ |
| Linux x86_64 (glibc) | ✓ | ✓ | — | ✓ | ✓ |
| Linux x86_64 (musl) | ✓ | ✗ | — | ✗ | ✓ |
| Linux aarch64 (glibc) | ✓ | ✓ | — | ✓ | ✓ |
| Linux aarch64 (musl) | ✓ | ✗ | — | ✗ | ✓ |
| Linux armv7 | ✓ | ✗ | — | ✗ | ✓ |
| Windows x86_64 | ✓ | ✓ | — | ✓ | ✓ |
| Windows aarch64 | ✓ | ✗ | — | ✗ | ✓ |
Build your own wrapper
If you’re comfortable with a little bit of Rust, you can write your own wrapper around iroh, a small application-specific binary that exposes functionality over a local HTTP server or daemon, or a full FFI wrapper from Rust to your target language. Either way, this gives you:
- Full control over the API surface you expose
- The ability to tailor it to your specific use case
- Type-safe bindings for your language (with FFI)
- Calls from any language (with an HTTP wrapper)
While it’s easy to get a first version working, ongoing maintenance and testing is the hard part. iroh is under active development, and keeping wrappers up to date with new releases, testing across platforms, and handling edge cases takes sustained effort. The number0 team runs a testing lab for this purpose. If you need help, schedule a meeting or contact us.
WebAssembly and browsers
iroh compiles to WebAssembly for use in browsers. See WebAssembly browser support for the constraints and a working browser-echo example.