Iroh 1.0 wants you to dial a public key instead of an IP — 200M endpoints in a month

Iroh's pitch is that a device's address should be its cryptographic key, which stays the same as it roams between networks. The 1.0 release locks the wire protocol. The top thread complaint: the landing page never says what it is.

In brief

The numbers are real: 200 million endpoints created on the public relays in the last 30 days, with about 95% of traffic flowing directly device-to-device instead of through a cloud hop.

Two of Iroh's own developers showed up to field questions, including the hard one a 'really pretty old' networking veteran asked: how does a flat key-based address space scale without every node tracking every other?

Dial keys, not IPs

Iroh 1.0 announcement banner
Iroh 1.0 announcement banner

Iroh 1.0 is a peer-to-peer networking library whose core idea is a swap: instead of addressing a device by an IP that changes the moment it moves between Wi-Fi and cellular, you address it by a cryptographic key it owns and keeps. "Keys are created and controlled by you. They stay the same as your device moves." Iroh's job is to find a route — direct when it can, through a relay when it must — and encrypt it end to end. Think "a secure localhost" stretched across the internet.

The 1.0 milestone is mostly about promises you can build on: a stable wire protocol so v1 endpoints keep talking across minor versions, official Python, Node.js, Swift and Kotlin bindings, QUIC multipath and NAT traversal, and a hook for custom transports. The traction claim is the eye-catching part: 200 million endpoints created in the last 30 days alone on the public relays, with roughly 95% of data flowing directly between devices.

The maintainers came to argue

Unusually, the people who built it were in the thread. One introduced himself plainly — "hey, I helped make this :)" — and another answered the recurring transport question: Iroh ships only IPv4, IPv6 and relay out of the box, because supporting every exotic link "without turning the codebase into an unmaintainable maze of feature flags" isn't viable. Custom transports for Tor, Nym and BLE already live as separate crates.

The deepest challenge came from a self-described networking old-timer:

"the problem with a flat addressing space is that it requires every intermediate node to have state about every address, or perform a costly discovery mechanism… is there a clever answer to this?" — a veteran asking about the foundational tradeoff

The hint at the answer is in Iroh's address-lookup design, which leans on actual DNS and a key-based record system rather than asking every node to know every peer.

"This page is basically useless"

For a 947-point launch, the skepticism is bracing and aimed at one thing: the marketing.

"This page is basically useless in explaining what Iroh is or does and why I should care." — an established commenter

Others circled the same drain from different sides: what, exactly, distinguishes this from any other P2P network? And why does a thing pitched as IP-address infrastructure have a pricing page at all? The answer to that last one is the business model hiding in plain sight — the library is open, the hosted relays are the product.

A protocol is only as good as its second implementation

The thread's enthusiasm and its irritation point the same direction. The engineering is credible and the adoption numbers are not vanity — 200M endpoints is a real network. But infrastructure earns trust by being legible, and right now the clearest explanations of Iroh are coming from its developers in an HN thread, not from its front page. For a project asking you to rebuild your networking layer on dialed keys, that gap is the thing to close next.

Get breakdowns like this every day

The top Hacker News stories, unpacked — by email, Telegram, or RSS.

Next story · 5 of 22 Read more
🚀Tech

Apple's on-device AI API now has a cloud backdoor: Claude as a drop-in 'model'

Apple shipped a Swift API for its on-device model. Anthropic shipped a package that lets Claude answer through the exact same API. Same LanguageModelSession call, except the words are now leaving the phone.

★ 465 · 💬 215 · platform.claude.com · 3 min