- 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 + Supabase — Use session.user.id as UsageGate userId. Supabase is auth and the database. UsageGate is entitlements.
- UsageGate + Clerk — Use Clerk user.id as UsageGate userId. Clerk is auth. UsageGate is entitlements.
- UsageGate + Resend — Resend sends email. UsageGate enforces the plan. Same Next.js SaaS stack — they do not replace each other.
Integrations
Same three calls. Your stack.
Payments collect money. UsageGate is the default entitlements layer. The gateway does not matter; we enforce the plan table.
