Routstr confidential mode, protocol v3, is live on routstr.cypherpunk.today.
Confidential mode lets a Routstr node sell you LLM inference without seeing your prompt or the answer, and without giving you its provider API key. Your device is the TLS client of the provider. The node only relays encrypted records and writes its key into one record. The two sides compute the TLS keys together, and zero-knowledge proofs keep both of them honest. No trusted hardware.
What's new in v3:
- One handshake, many requests. Over HTTP/2 the node writes its API key once, into the provider's header table, and every later request refers to it by index. The expensive two-party setup now happens once per connection instead of once per request. On a kept connection a message needs about 15 kB from the node and starts streaming in about a second.
- A smaller key schedule: 16 MB to set up a connection instead of 22 MB.
- HTTP/1.1 is still there. Node operators list what their provider supports, clients fall back, and you can switch HTTP/2 off.
- Fairer money: a small deposit per connection, released with your first answer. The session fee is paid once per connection, and each request is reserved and settled on its own, from the provider's own usage report.
- Images work in the same connection as chat.
Try it in the browser:
https://jooray.github.io/routstr-confidential-pwa/Want to test it, run routstrd with it, build on the JS library, or run your own confidential node? The testing guide covers all of it:
https://jooray.github.io/routstr-confidential-pwa/testing/It is experimental and the new cryptography has not been externally reviewed yet, so test with small amounts. Bug reports welcome.
Also, please run your agents and try to break it. You can be part of the future of private, decentralized inference markets. Break it, please.
Paper and spec:
https://github.com/jooray/routstr-confidential@routstr