Skip to main content

The primitive for
software that thinks.

Rivet Actors are a serverless primitive for stateful workloads.

Start Building
Give this to your coding agent
Classical artwork depicting contemplation
Classical artwork depicting contemplation
Classical artwork depicting contemplation
Classical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thoughtClassical artwork depicting contemplation and deep thought

Each Rivet Actor has built-in:

And could be a:

AI broke the way we build backends.

Long-running tasks, persistent sessions, real-time streaming — AI apps need all of it. So teams stitch together 7+ services just to ship one feature.

An Actor is just a function. Import it like a library, write your logic, and these capabilities come built in — making Actors natively suited for agent memory, background jobs, game lobbies, and more.

The status quo

session stateRedis
persistencePostgres
job queuesKafka
workflowsTemporal
real-time streamingSocket.io
background computeLong-running workers
sleep, wake, retriesCustom logic

7 services. Weeks of integration.

One Actor

session stateActor (State)
persistenceActor (Storage)
workflowsActor (Workflows)
job queuesActor (Scheduling)
real-time streamingActor (WebSockets)
background computeActor (Long-running)
sleep, wake, retriesActor (Lifecycle)

One lightweight primitive. All the capabilities built-in.

A different architecture.

A simple primitive for stateful software with serverless benefits. No services to stitch, no database to share, no infrastructure to scale. Lightweight enough to run one per agent, session, or user, and they hibernate when idle.

AI Agents

Long-running agents with persistent memory and context.

Traditional

Shared database for all agent sessions, manual state management, timeouts on long tasks

With Actors

Each agent is an actor with its own memory, streams updates in real-time, hibernates when idle

Game Servers

Real-time multiplayer with authoritative state.

Traditional

Dedicated servers per region, complex matchmaking, scaling infrastructure

With Actors

One actor per game room, built-in WebSockets, scales to millions of rooms

Collaboration

Shared state with real-time sync.

Traditional

CRDT libraries, separate WebSocket servers, external pub/sub

With Actors

Actor holds document state, broadcasts changes to all connected clients

Per-Tenant Data

Isolated databases per customer or user.

Traditional

Row-level security, shared tables, complex access control

With Actors

Each tenant gets their own actor with isolated SQLite database

Workflows

Durable execution with retries and scheduling.

Traditional

External workflow engine, message queues, separate scheduler

With Actors

Built-in workflow runtime, scheduling, and state, all in one actor

Your Existing Stack

Add actors alongside what you already have.

Traditional

Adopt a whole new platform, migrate your database, rewrite your backend

With Actors

Actors supplement your existing infrastructure. Keep your database, add actors where you need state

How Actors work.

Define state, write a run loop, broadcast events.

01/04

Define the Actor

An Actor is an independent process with its own isolated state. Create one per user, per agent, or per session.

actor({
});
02/04

Declare State

State is automatically persisted and loaded into memory when the Actor wakes. No database queries. No ORM. Just an object.

state: { messages: [], history: [] },
03/04

Process Messages

The run loop executes continuously. Wait for messages from a queue, process them with your logic. The Actor stays alive as long as it needs to.

run: async (c) => {
while (true) {
const message = await c.queue.next("message");
const response = await ai(message);
c.state.history.push({ message, response });
04/04

Broadcast in Real-time

Push updates to all connected clients instantly. WebSockets and SSE are built in — no Socket.io, no pub/sub layer, just one line.

c.broadcast("response", response);
}
},

Runs where you do.

Rivet Actors integrate with your existing infrastructure, frameworks, runtimes, and tools.

Rivet Inspector Dashboard

Built-In Observability

Powerful debugging and monitoring tools that work seamlessly from local development to production at scale.

Live State Inspection

View and edit your actor state in real-time as messages are sent and processed

Network Inspector

Monitor active connections with state and parameters for each client

Event Monitoring

See all events happening in your actor in real-time and track every state change and action as it happens

REPL

Debug your actor in real-time by calling actions, subscribing to events, and interacting directly with your code

Start local. Scale to millions.

Three options, same API. Pick what works for you.

Self-Host

Single Rust binary or Docker container. Works with Postgres, file system, or FoundationDB. Full dashboard included.

$docker run -p 6420:6420 rivetkit/engine
Rivet

Rivet Cloud

Fully managed. Global edge network. Connects to your existing cloud — Vercel, Railway, AWS, wherever you already deploy.

  • Global Edge Network
  • Scales Seamlessly
  • Connects To Your Cloud

Open Source

Apache 2.0. Audit the code, contribute features, run it however you want.

$git clone https://github.com/rivet-gg/rivet
$cd rivet && cargo run -p rivet-engine

Infrastructure for software that thinks.

The next generation of software needs a new kind of backend. This is it.