EntitleHub docs

EntitleHub is the entitlement layer between your app and the app stores. Stop checking raw product IDs; check entitlements, durable capabilities like premium or pro, and let EntitleHub own the messy mapping from SKUs, plans, and platforms.

This wiki walks you from a fresh account to a working integration. If you're evaluating whether you can set your app up on EntitleHub, start with the Quickstart, it gets you to a green entitlement check in a few minutes, no store credentials required.

How the pieces fit

  • You define entitlements (what a user can unlock) and products (the SKUs sold in each store), then map products → entitlements.
  • When a user buys, your backend reports the purchase (or its receipt) to EntitleHub. EntitleHub validates it server-side and writes a grant.
  • Your app asks "is this user entitled to X?" and EntitleHub answers authoritatively, consistent across devices, platforms, and reinstalls.
  • EntitleHub emits webhooks (new sub, renewal, cancel, refund) to your backend.

Two ways to talk to EntitleHub

  • An SDK: native Swift and Kotlin, Flutter, React Native / Expo, and @entitlehub/sdk (TypeScript, anywhere JS runs). Same surface everywhere: configure, purchase(), isEntitled(). See Mobile SDKs and SDK, client & server.
  • The REST API: every SDK call maps to a plain /v1 HTTP endpoint you can hit from any language. See REST API reference.
Coming from RevenueCat?

The model and SDK are intentionally close to RevenueCat's. Jump to Migrating from RevenueCat for a one-to-one mapping of concepts and calls.

Set-up checklist

The rest of this wiki, in the order you'll do it:

  1. Create a project, sign up and get your tenant.
  2. Entitlements & products, define your catalog and mappings.
  3. API keys, grab your publishable and secret keys.
  4. Store credentials, add a Play service account / Stripe key for real receipt validation.
  5. Integrate an SDK (or the REST API) and wire webhooks.
  6. Build a paywall, configure offerings and, optionally, A/B test them.