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

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.