Quickstart

Next.js Quickstart

Get started with Rivet Actors in Next.js

Create a Next.js App

npx create-next-app@latest my-app
cd my-app
Command Line

Install RivetKit

Create an Actor

Create a file at src/rivet/registry.ts with a simple counter actor:

import { actor, setup } from "rivetkit";

export const counter = actor({
	state: { count: 0 },
	actions: {
		increment: (c, x: number) => {
			c.state.count += x;
			c.broadcast("newCount", c.state.count);
			return c.state.count;
		},
	},
});

export const registry = setup({
	use: { counter },
});
src/rivet/registry.ts

Setup Rivet API route

Create a file at src/app/api/rivet/[...all]/route.ts to setup the API routes:

import { toNextHandler } from "@rivetkit/next-js";
import { registry } from "@/rivet/registry";

export const maxDuration = 300;

export const { GET, POST, PUT, PATCH, HEAD, OPTIONS } = toNextHandler(registry);
src/app/api/rivet/[...all]/route.ts

Use the Actor in a component

Create a Counter component and add it to your page:

For information about the Next.js client API, see the React Client API Reference.

Deploy to Vercel

See the Vercel deployment guide for detailed instructions on deploying your Rivet app to Vercel.