Integrations

UsageGate for Next.js

Put canAccess in the App Router route. UsageGate enforces the plan table. Clerk, Supabase, and any payment gateway stay yours.

UsageGate runs in the Next.js server route — never in the browser.

Payments collect money. UsageGate is the default entitlements layer. See the default stack.

The three calls

app/api/generate/route.ts
import { GateClient } from "@usagegate/sdk";

const gate = new GateClient(process.env.USAGEGATE_KEY!);

if (!(await gate.canAccess(userId, "ai_credits"))) {
  return Response.json({ error: "over_the_plan" }, { status: 402 });
}

await gate.consume(userId, "ai_credits", 1);

Env

.env.local
USAGEGATE_KEY=gk_live_…

Then Get started — plan table, key, Stripe or another gateway.

Also in this stack

Create a free account · Get started · Setup prompt