Multiplayer by
Default.
Stop managing WebSocket fleets. Rivet Actors give you instant, stateful rooms for collaborative documents, whiteboards, and chat.
Room-Based Architecture
Every document or session gets its own dedicated Actor. This isolates state, prevents database contention, and guarantees order of operations.
Instant Presence
Broadcast cursor positions and selection states to 100+ users in the same room with <10ms latency.
Authoritative State
The Actor holds the "source of truth" in memory. Resolve conflicts on the server or relay operations for client-side CRDT merging.
Connection Limits
Automatically scales to handle thousands of concurrent active rooms. Each room hibernates when the last user leaves.
The Engine for Collaboration
Primitives designed for high-concurrency, low-latency interactive apps.
WebSockets Included
No need for Pusher or separate socket servers. Actors speak WebSocket natively. Just connect() and listen.
Broadcast & Pub/Sub
Send a message to everyone in the room, or target specific users. Built-in channels for effortless event routing.
Ephemeral Storage
Perfect for 'who is typing' indicators or selection highlights that don't need to be saved to the database.
Conflict Resolution
Run logic on the server to validate moves or merge edits before they are broadcast to other players.
History & Replay
Keep a running log of actions in memory. Allow users to undo/redo or replay the session history.
Yjs & Automerge
A perfect host for CRDT backends. Store the encoded document state in the Actor and sync changes effortlessly.
Infinite Canvases
Build the next Figma or Miro. Store thousands of vector objects in memory and stream updates only for the viewport.
- Spatial Indexing: Query objects by x/y coordinates
- Delta Compression: Only send changed attributes
- Locking: Prevent two users from moving the same object
Integrates with
Ready to go multiplayer?
Build the collaborative features your users expect, without the infrastructure headache.