Leave Localhost logoLeave LocalhostDocs
Reference

Billing Plans

The built-in billing plan catalog — plan keys, intervals, capabilities, and the provider env vars that map real products to each plan.

The plan catalog is the single source of truth for what plans exist, what each unlocks, and how provider products map to them. It is provider-neutral: the same catalog works with Stripe, Polar, or Lemon Squeezy. Source: packages/backend/convex/billing/plans.config.ts.

For concepts and how to add a plan, see Billing Catalog.

Plan catalog

Plan keyDisplay nameIntervalCapabilities
freeFree(none)
pro_monthlyPromonthfeature.pro, workspace.members.invite, workspace.members.limit.10, billing.portal
pro_yearlyProyear(same as pro_monthly)
pro_lifetimePro Lifetimelifetime(same as pro_monthly)

See Capabilities for what each capability unlocks, and Free, Pro, and Lifetime Plans for how the default tiers behave.

Provider mappings

Each plan is linked to a real provider product through environment variables (providerPlanEnvMappings). Set only the variables for the provider you use:

PlanStripePolarLemon Squeezy
pro_monthlySTRIPE_PRO_MONTHLY_PRICE_IDPOLAR_PRO_MONTHLY_PRODUCT_IDLEMON_SQUEEZY_PRO_MONTHLY_VARIANT_ID
pro_yearlySTRIPE_PRO_YEARLY_PRICE_IDPOLAR_PRO_YEARLY_PRODUCT_IDLEMON_SQUEEZY_PRO_YEARLY_VARIANT_ID
pro_lifetimeSTRIPE_PRO_LIFETIME_PRICE_IDPOLAR_PRO_LIFETIME_PRODUCT_IDLEMON_SQUEEZY_PRO_LIFETIME_VARIANT_ID

The active provider is selected with BILLING_PROVIDER. See Billing Overview.

On this page