Process payments in minutes. Handle subscriptions, one-time payments, and complex billing scenarios. Integrate with Stripe and other providers seamlessly.
Control access to every feature. Define plans, manage quotas, and gate features with real-time entitlement checks and usage tracking.
Team Collaboration
5/10 users
API Calls
847/1000 this month
Advanced Analytics
Upgrade to unlock

"Lumen saved me weeks of building usage tracking and billing. I added metered billing and real-time usage tracking to ramon.chat in an hour."
Ramon Garate
Co-Founder and CTO (YC W24)
Get Started in Minutes
Four simple steps to integrate payments and feature access
Install the Packages & Pricing Table
The recommended way is to use our shadcn component so you can easily edit the styling with Cursor or similar tools
npm install @getlumen/react @getlumen/server
npx shadcn@latest add https://getlumen.dev/pricing-table.json
Frontend Integration
Import the PricingTable component and add it to your NextJS pricing page
import { PricingTable } from '@/components/ui/pricing-table';
// OR if you don't want to use shadcn
// import { PricingTable } from '@getlumen/react'
export default function PricingPage() {
return (
<PricingTable
lumenPublishableKey={process.env.NEXT_PUBLIC_LUMEN_PUBLISHABLE_KEY}
userId={session?.user?.id}
loginRedirectUrl="/login"
/>
);
}
Backend Integration
Check if a user has access to a feature and record usage with 1 line of code
import { sendEvent, isFeatureEntitled } from "@getlumen/server";;
export async function POST(request: NextRequest) {
const supabase = await createClient();
const { data: { user } } = await supabase.auth.getUser();
// Check if user still has credits
if (
await isFeatureEntitled({
feature: "ai-chat-requests",
userId: user.id
})
) {
// Do something here ...
// after completion you can record usage with:
sendEvent({
name: "ai-chat-requests",
userId: user.id,
});
}
}
Complete billing for any scale. Engineered for speed, designed for developer experience.
Stop building billing infrastructure from scratch. Lumen handles usage tracking, complex pricing models, and entitlements so you can focus on shipping features.
Real-time Usage Tracking
Track usage in real-time without building your own system. Same data powers both billing and entitlements—no duplicate tracking needed.
Complex Billing Made Simple
Monthly, yearly, credits, overrides, multiple billing dates. Build sophisticated pricing models that would take weeks with Stripe—in minutes.
Zero State Management
No subscription tables in your DB. No feature flags to maintain. We handle all user state—you just check entitlements with one API call.
Instant Pricing Changes
Move features between plans, adjust credit limits, test new pricing—all without code changes. Perfect for rapid experimentation.
Everything Connected
Credits → Usage → Billing → Entitlements. One unified system where changes ripple through automatically. No manual syncing required.
Lightning Fast Setup
What takes weeks with traditional billing solutions takes minutes with Lumen. Import our component, check entitlements—you're done.
Taxes & Invoices Included
Global tax calculation and professional invoice generation handled automatically. No need to integrate separate tax providers or build invoice systems.