Skip to main content

The primitive for
stateful workloads.

Rivet Actors are built for AI agents,
collaborative apps, and durable execution.

Start Building
Give this to your coding agent
The Thinker by Auguste Rodin
A Lady Writing by Johannes Vermeer
Portrait of a Man (Possibly Jan Snoeck) by Jan Gossaert

The Thinker

Auguste Rodin · modeled 1880

See it in action.

One primitive that adapts to agents, workflows, collaboration, and more.

backend.ts
const agent = actor({
  // In-memory, persisted state for the actor
  state: { messages: [] },

  // Long-running actor process
  run: async (c) => {
    // Process incoming messages from the queue
    for await (const msg of c.queue.iter()) {
      c.state.messages.push({ role: "user", content: msg.body.text });
      const response = streamText({ model: openai("gpt-5"), messages: c.state.messages });

      // Stream realtime events to all connected clients
      for await (const delta of response.textStream) {
        c.broadcast("token", delta);
      }

      c.state.messages.push({ role: "assistant", content: await response.text });
    }
  },
});
client.ts
const agent = client.agent.getOrCreate("agent-123").connect();
agent.on("token", delta => process.stdout.write(delta));
await agent.queue.send("hello!");
Rivet Actor/ AI Agent

Each agent runs as its own actor with persistent context, memory, and the ability to schedule tool calls.

How Actors Compare

Rivet Actors vs. traditional infrastructure.

Cold Start

Time to first request

lower is better
Rivet Actor~20ms
Kubernetes Pod~6s
Virtual Machine~30s

Memory Per Instance

Overhead per instance

lower is better
Rivet Actor~0.6KB
Kubernetes Pod~50MB
Virtual Machine~512MB

Read Latency

State read latency

lower is better
Rivet Actor0ms
Redis~1ms
Postgres~5ms

Idle Cost

Cost when not in use

lower is better
Rivet Actor$0
Virtual Machine~$5/mo
Kubernetes Cluster~$85/mo

Horizontal Scale

Maximum capacity

higher is better
Rivet ActorsInfinite
Kubernetes~5k nodes
Postgres1 primary

Multi-Region

Deploy actors close to your users

lower is better
RivetGlobal edge network
Traditional Deployment1 region

Runs where you do.

Serverless, containers, or your own servers — Rivet Actors work with your existing infrastructure, frameworks, and tools.

Rivet Inspector Dashboard

Built-In Observability

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

SQLite Viewer

Browse and query your actor's SQLite database in real-time

Workflow State

Inspect workflow progress, steps, and retries as they execute

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.

RivetKit is a library. Connect it to Rivet Cloud or self-host when you need scaling, fault tolerance, and observability.

Just a Library

Install a package and run locally. No servers, no infrastructure. Actors run in your process during development.

$npm install rivetkit

Self-Host

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

$docker run -p 6420:6420 rivetdev/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, permissively licensed.

Self-hosting matters for enterprise deployments, cloud portability, and avoiding vendor lock-in. Licensed Apache 2.0.

View on GitHub

The primitive for stateful workloads.

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