The
home of software monetization.
The home of
software
monetization.
built by builders, for builders
A single merchant of record and payment system. Run subscriptions, entitlements, usage metering, and global tax.
You’re on the list.
Check your inbox to verify your email address. If you do not see the message shortly, please check your spam folder.
Revenue logic, decoupled
Set prices, define entitlements, meter usage, and control access from a single dashboard. All without writing a line of code. No pull requests. No redeploys.
Flexible pricing models
Deploy flat fee, per seat, usage, volume, credits, one-time payments, overages, and hybrid pricing.
Global payments & tax
Accept 135+ currencies and local payment methods. We handle tax nexus, VAT, and liability as your merchant of record.
Dynamic entitlements
Gate features, cap usage, and enforce credit limits. Issue license keys and deliver digital downloads.
Real-time metering
Ingest events at scale with zero latency. Track every AI token, API call, compute unit, or active user.
The logic layer between you and the customer
We meter usage, handle the tax, and grant access. From a simple checkout link to complex usage billing, we keep your revenue stack in sync.
Billing and usage in one system
Run subscriptions, usage, and one-time payments side-by-side. We keep them in sync so your invoices always match reality.
Model any pricing strategy
Mix flat fees, per-seat, and tiered usage in one plan.
Handle overages, minimum spend, and rollover credits.
Change limits and prices without touching code.
Meter usage in real-time
Track API calls, tokens, AI agents, storage, or custom units.
Update meters instantly. No processing lag.
Link every invoice line item back to a raw event log.
Scale globally without the tax liability
Sell in every major global market without opening a local entity. We act as the merchant of record to shield you from global tax nexus and compliance risk.
Global payments and payouts
Accept 135+ currencies and local payment methods. We handle the FX conversion and route clean revenue to your bank.
Audit defense and risk
We assume the tax liability, manage VAT/GST filings, monitor global thresholds, and fight chargebacks on your behalf.
Checkout and customer portal
Don't build billing UI. Use our hosted pages to let customers buy, upgrade, and manage invoices.
High-conversion checkout
Secure checkout for web or mobile.
Turn on cards, wallets, and local payment methods.
Enable trials, coupons, and upgrades without new code.
Self-serve customer portal
Let customers change plans and payment methods.
Show invoices, usage history, and download receipts.
Reduce support tickets with a complete self-service space.
Automate access control
Stop hard-coding permissions. We link the billing plan directly to the user state, so features unlock the moment payment succeeds.
Feature gating and limits
Gate features by plan tier (e.g., Basic vs. Pro).
Enforce limits on seats, usage, or API calls automatically.
Sync access state to your app in real-time without webhooks.
License keys and downloads
Issue license keys instantly upon payment.
Deliver secure files and private download links.
Manage validity, expirations, and renewals automatically.
SDKs that feel native to your stack
Use our pre-built UI for speed, or go headless for complete control. Fully typed for TypeScript and React, with native SDKs for Node and Python.
import { Checkout } from "@kelviq/react";
export default function Subscribe({ customerId }) {
return (
<Checkout
planId="pro_monthly"
customerId={customerId}
theme="system"
/>
);
}
import { Kelviq } from "@kelviq/node";
const kelviq = new Kelviq({ key: process.env.KELVIQ_KEY });
export async function trackGeneration(userId: string) {
await kelviq.meter.ingest({
user_id: "usr_123",
event: "ai_generation",
value: 1,
});
}
import { Kelviq } from "@kelviq/node";
const k = new Kelviq({ key: process.env.KELVIQ_KEY! });
export async function generate(userId: string, licenseKey: string) {
const lic = await k.licenseKeys.verify(licenseKey);
if (!lic.valid || (lic.customerId && lic.customerId !== userId)) throw new Error("Invalid license");
const ent = await k.entitlements.get(userId, "ai_generation");
if (!ent.hasAccess || ent.remaining <= 0) throw new Error("Upgrade required");
await k.meter.ingest({user_id: userId, event: "ai_generation", value: 1,});
return { ok: true };
}
Start your
software monetization.
Global tax, billing, metering, and entitlements. Ship your revenue stack in one deploy.