Trystero
MIT serverless WebRTC rooms via Nostr/MQTT/BitTorrent/IPFS
Comms / Realtime · OSS/MIT · 2.8k
Reviewed 2026-09-09 · last push 2026-10-18 · repo checked 2026-10-19
What's Good
MIT. npm `trystero` by Dan Motzenbecker (dmotz). Same API across Nostr (default), MQTT, BitTorrent, IPFS, Supabase, Firebase, or an optional self-hosted WebSocket relay. Rooms, broadcast, automatic (de)serialization, chunking/throttling, media streams with metadata, end-to-end session encryption. Works in browsers; Node/Bun/Deno with a WebRTC polyfill. Homepage trystero.dev; source github.com/dmotz/trystero.
The Catch
Vs PeerJS, Colyseus, PartyKit, and Gatho: discovery+P2P data library — not a rooms product, not a state-sync game server, not Durable Object rooms, not a process-per-room toolkit, not a PeerServer you host. NAT/TURN still bites some networks even after signaling succeeds. You still own matchmaking UX, presence policy, and anything that needs a true authoritative server.
Verdict
MIT serverless WebRTC matchmaking. Free forever; pick it when discovery without your own signaling stack is the point.
Embed
Maintainer? Add the badge to your README. It is free, links to this review, and there is no paid version.
Markdown
[](https://stackgems.com/gems/trystero)
HTML
<a href="https://stackgems.com/gems/trystero"><img src="https://stackgems.com/badge/trystero.svg" alt="Trystero reviewed on Stack Gems" height="20"></a>