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
/v1HTTP 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:
- Create a project, sign up and get your tenant.
- Entitlements & products, define your catalog and mappings.
- API keys, grab your publishable and secret keys.
- Store credentials, add a Play service account / Stripe key for real receipt validation.
- Integrate an SDK (or the REST API) and wire webhooks.
- Build a paywall, configure offerings and, optionally, A/B test them.
