Skip to content

Find your plans without rewriting your product

Your first Free and Pro tiers are a starting point. As you learn your customers’ needs, Entitler lets you change your plans and introduce add-ons while early customers keep their original terms, without changing the checks in your code.

Early access. We invite teams in small groups.

Explore the example
Example preview
  1. Oct 2024 · Launch release · One productFreePro
  2. May 2025 · Add-ons release · Three productsFreeAI writerPDF toolsTeam space
  3. Aug 2026 · Tiers release · One product with tiersFreePro basicProTeamSSOStandard support
Entitlements.CheckFeature: export_pdfThe same check in every app since Oct 2024

Three packages, one unchanged check

A notes app tries one paid plan, separate feature packages and then Free, Pro and Team. Its existing features keep the same entitlement checks as the commercial model changes.

Step 1 of 5: Launch with one product

Step 1 of 5: Launch with one product

Start with Free and Pro, released as Launch. The app checks export_pdf and uses the response to show eligible upgrades.

Oct 2024One product: Free and ProReleased as Launch
Search
Plans
  1. freeActiveFreeFree, no billing1 featurev1
  2. proActiveProMonthly · Yearly4 featuresv1
Changes in Entitler
  • Created features such as export_pdf and ai_credits
  • Built Free and Pro, with 300 AI credits in Pro
  • Added a path from Free to Pro, so Free customers can upgrade
  • Released the first change as the Launch release and rolled it out to Production
Changes in your apps: none
Your web app
Unchanged
const { entitlement } = await entitlements.checkFeature(
  { customer: { customer: { case: 'externalId', value: user.id } }, featureKey: 'export_pdf' },
  { headers: { Authorization: `Bearer ${key}` } },
)

if (entitlement?.entitled) exportPdf()
else showUpgrade(entitlement?.upgrades)
Feature access for Bob Marsh on Free
{
  "customer": { "externalId": "cust_1002", "customerId": "c3CB6KvqET4mCFN9LRYmAhc" },
  "served": {
    "track": { "id": "t7Rw2NcQ5vLp8ZsKx3MhYd1", "name": "All customers" },
    "release": { "id": "rhx1JM6PisL5k9tXgFGsQPa", "number": "1" }
  },
  "entitlement": {
    "featureKey": "export_pdf",
    "kind": "ENTITLED_FEATURE_KIND_SWITCH",
    "value": { "switch": false },
    "entitled": false,
    "sources": [],
    "upgrades": [
      { "planId": "pZSftqtbSu2oCVUwLK6BCdt", "planKey": "pro", "planName": "Pro", "kind": "UPGRADE_KIND_PLAN", "move": "UPGRADE_MOVE_UPGRADE", "action": "UPGRADE_ACTION_BUY" }
    ]
  },
  "asOf": "1730107800"
}

Start from a working example

Explore the Sample app project to see how plans, inheritance, releases, rollouts and customer access work before setting up your own catalogue.

8 plans and add-ons

Explore 11 features, inherited plans, a legacy plan, two releases and an open change that a Beta track follows.

  • Free20 AI credits, the default planActive
  • StarterNo longer soldLegacy
  • Pro basicInherits from ProActive

14 test customers

Development

Twelve are on All customers, where the More AI credits on Pro release was rolled out: Pro’s Version 1 signups stay where they are and its Launch offer cohort moves at renewal. Two more try the new Team plan on the Beta track, which follows the open change. They cover add-ons, grants of extra access, cancellations and scheduled changes, and live in Development, a test environment, with no billing.

  • Alice Ngtest_1001Pro, with SSO. Launch offer
  • Bob Marshtest_1002Free
  • Chen Wutest_1003Pro. Grant of 1,000 AI credits

Your first hour

  1. 1Open a test customerIn Development, enter a feature key in the access checker to inspect the response your app receives.
  2. 2Skip ahead a monthMove Development’s clock forward to test renewals, scheduled changes and grant expiry.
  3. 3Reshape a planStart a change, update a limit, release it and choose how existing customers move to the new version.
  4. 4Connect your appCreate a secret key in Development, starting ky, and call the customer entitlement API from your server. Customer tokens are on every plan, Free included.

More moments when plans change

Common packaging changes as your product grows.

  • You want to try a cheaper tier

    Some customers need a lower-priced tier with fewer features. In a change, create a plan based on Pro and remove selected features to form a lower tier, as shown by the sample Pro basic plan.

    More on building a new plan
  • The old products still have customers

    You merged three products into tiers, but people still pay for the old add-ons. Mark old add-ons as legacy in a change. Once the release reaches a track, new subscriptions stop there; existing customers keep them until you change their subscription or they select an eligible upgrade.

    More on retiring a plan
  • A launch deal for early customers

    You promised your launch-week subscribers something extra. Start a cohort for launch week, and every customer subscribing while it is open joins it. Release later versions for new customers and keep that cohort on the version it joined on.

    More on launches
  • Your first large customer asks for SSO

    One company wants single sign-on, and nobody else needs it yet. Add SSO as an add-on for Pro and Team in a change. Once released, it appears in eligible feature-specific upgrade options.

    Explore custom plans

Questions founders ask

Yes. Ask whether “Pro” will still mean the same thing for every customer in two years. Most teams expect their first plans to last, then change them sooner than they planned: a new tier, a price rise, an add-on, a deal for early customers. A check against a feature key costs the same to write as one against a plan name, but it keeps working through every one of those changes. Entitler also records each customer’s terms from their first day, so you can keep early customers on their original terms without reconstructing the promises you made them. Adding entitlements later means finding and rewriting plan-name checks in every app.

Try your plans in Entitler

Start with sample plans and customers. Then try a change you expect to make, such as a new tier, a usage allowance or an exception for an early customer. Request an invite to try it with your team.

Early access. We invite teams in small groups.