Stack Gems
Menu
← Catalog

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.

Reviewed on Stack Gems

Markdown

[![Reviewed on Stack Gems](https://stackgems.com/badge/trystero.svg)](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>

Related

Comms →