Rivet is an open-source platform for building stateful backends using Actors, long-lived processes that keep state in memory alongside compute. No more database round-trips for every request.
import { actor } from "rivetkit";
export const chatRoom = actor({
// In-memory, persisted state
state: { messages: [] },
// Type-safe RPC
actions: {
sendMessage: (c, user, text) => {
// High performance writes
c.state.messages.push({ user, text });
// Realtime built-in
c.broadcast("newMessage", { user, text });
},
},
});Each actor is like a tiny server with its own memory. Create millions of them (one per user, per document, per game session) and they scale automatically.
|
The TypeScript library for building actors. Works with any backend framework. npm install rivetkitRun standalone for development, deploy to Cloudflare Workers, or connect to Rivet Engine for scale. |
High-performance Rust orchestration layer for production scale. Handles actor lifecycle, state persistence, and multi-region distribution.
|
You don't need Rivet Engine to get started. RivetKit runs standalone for development and simpler deployments. Add Rivet Engine when you need to scale.
- Stateful Compute: State lives with compute for sub-millisecond reads/writes, no database queries
- Realtime Built-In: WebSocket events without extra infrastructure
- Hibernation: Actors sleep when idle and wake instantly with no cold starts
- Infinitely Scalable: Auto-scale from zero to millions of actors
- Fault Tolerant: Automatic failover with state integrity
- Type-Safe: End-to-end TypeScript types from actor to client
- Run Anywhere: Your infrastructure, your cloud, your rules
|
Deploy your backend anywhere, then connect to Rivet Cloud for actor orchestration: Vercel • Railway • Kubernetes • AWS ECS • Google Cloud Run • Hetzner • VM & Bare Metal
# Docker
docker run -p 6420:6420 rivetkit/engine
# macOS (Apple Silicon)
curl -o rivet-engine "https://releases.rivet.dev/rivet/latest/engine/rivet-engine-aarch64-apple-darwin" && chmod +x rivet-engine && ./rivet-engine start
# macOS (Intel)
curl -o rivet-engine "https://releases.rivet.dev/rivet/latest/engine/rivet-engine-x86_64-apple-darwin" && chmod +x rivet-engine && ./rivet-engine start
# Linux (x86)
curl -o rivet-engine "https://releases.rivet.dev/rivet/latest/engine/rivet-engine-x86_64-unknown-linux-musl" && chmod +x rivet-engine && ./rivet-engine startFrameworks: Hono • Elysia • tRPC
Clients: JavaScript • React • Next.js • Rust
| Project | Description |
|---|---|
| RivetKit TypeScript | Client & server library for building actors |
| RivetKit Rust | Rust client (experimental) |
| RivetKit Python | Python client (experimental) |
| Rivet Engine | Rust orchestration engine |
| ↳ Pegboard | Actor orchestrator & networking |
| ↳ Gasoline | Durable execution engine |
| ↳ Guard | Traffic routing proxy |
| ↳ Epoxy | Multi-region KV store (EPaxos) |
| Dashboard | Inspector for debugging actors |
| Website | Source for rivet.dev |
| Documentation | Source for rivet.dev/docs |
- Discord - Chat with the community
- X/Twitter - Follow for updates
- Bluesky - Follow for updates
- GitHub Discussions - Ask questions
- GitHub Issues - Report bugs
- Talk to an engineer - Discuss your use case