Pricing philosophy
VibeMonetize is deliberately narrow: it targets the homogeneous shape of vibe-coded apps (Next/Vite, Tailwind, Stripe, credit-based or subscription pricing) instead of trying to be universal enterprise billing. That narrowness is what lets pricing be simple by default.
Start with one of three shapes
- Free / Pro — one gated feature (or usage cap) behind a single monthly price. The default for most solo apps; don't add a third tier until you have evidence a segment needs it.
- Credits — sell usage directly when your cost scales with usage (AI generations, exports, API calls). Credits stack additively on top of any subscription; use this when a flat monthly cap feels arbitrary to your users.
- Lifetime — a one-time purchase for tools where recurring billing would feel wrong to your audience (a utility, a single-use generator). Accept that this trades away recurring revenue for lower churn anxiety and simpler support.
Gate the activation moment, not the landing page
The highest-converting paywall placement is right after a user has experienced value once — not before they've tried anything. Let free users reach their "aha" moment, then gate the next unit of value (the second export, the tenth question) with <Paywall meter="..."> rather than gating the feature outright with <Paywall feature="...">.
Trials are memberships, not a special case
A trial is just a Membership with an expiresAt — the same entitlement resolution that handles paid plans handles trials, with no separate code path. Prefer a trial with a real usage cap (e.g. "10 free questions") over a pure time-boxed trial ("14 days free") when your value is usage-shaped — users who'd convert don't have to remember to come back before a deadline.
Bundles are for developers with multiple apps, not day one
Bundles fan a single subscription's grants out across every app you own — useful once you're running a small portfolio and want one price to unlock all of them. Don't reach for a bundle to avoid deciding on a single app's price; ship the single-app price first.
Recommended pricing templates
The dashboard's one-click templates (free/pro/lifetime) exist so you spend your first five minutes on a plan that's already reasonable, not on picking a number from scratch. Ship one of them, watch the funnel (visitors → signups → activation → paywall impression → checkout started → converted) for two weeks, then adjust — don't tune blind.
The 3% platform fee
VibeMonetize takes a 3% platform fee on top of Stripe's own processing fee, settled through the platform's Stripe account so a developer never has to complete Stripe Connect onboarding just to accept a first payment (deferred onboarding — onboard only when you're ready to claim earnings). That fee is fixed; it is never changed silently, and this platform's own pricing is built on the same primitives every app on it uses (dogfooding, not special-cased) — see below.
This platform's own pricing (dogfooding)
VibeMonetize gates itself with its own SDK. The Free tier caps your account at 3 registered apps; Pro lifts that cap. Upgrade from /pricing in your dashboard once you hit it.
Running the api/dashboard locally or self-hosting? That cap is enforced through the platform's own meter on its own tenant (app id vibemonetize), which only exists once you've run pnpm --filter @vibemonetize/api seed:platform against your database (see apps/api/scripts/seedPlatform.ts). Skip that seed and /pricing has nothing to render and self-serve upgrade won't work — app create still functions, it just won't be capped or unlockable from the dashboard until the platform tenant is seeded.