Entitlements
Understand how entitlements define what a customer can access or consume in your app.
Entitlements define what a customer can access or consume inside your app.
Products grant entitlements. Your app checks those entitlements through the Revenipe SDK to decide which features, limits, credits, or usage values should be available.
How entitlements work
Entitlements separate billing from access logic.
The billing provider handles payments, subscriptions, trials, and purchases. Revenipe turns that provider state into customer access. Your app then checks entitlements instead of handling every provider state directly.
Stripe or RevenueCat handles billing
Revenipe processes the customer access state
Products grant entitlements
Your app checks entitlements through the SDK
Entitlement types
Revenipe supports different entitlement types depending on what you want to unlock or track.
Flag entitlements
Use flag entitlements when a customer should either have or not have access to a feature.
premium_access
support_access
advanced_exports
remove_watermarkExamplefinal hasPremium = Revenipe.instance.hasEntitlement('premium_access');Value entitlements
Use value entitlements for renewable limits.
For example, a subscription could grant 100 credits every month or 10 exports every week.
monthly_credits
weekly_exports
monthly_projectLimited value entitlements
Use limited value entitlements for fixed amounts that do not renew automatically.
This is useful for one-time credit packs, top-ups, or manually granted usage.
500_credits_pack
extra_exports
one_time_tokensEntitlements in the SDK
Use hasEntitlement when you only need to check whether a customer has access.
Examplefinal hasPremium = Revenipe.instance.hasEntitlement('premium_access');Use getEntitlement when you need to read entitlement details, such as usage values or limits.
Examplefinal entitlement = Revenipe.instance.getEntitlement('monthly_credits');Entitlements and usage keys
Usage keys can group multiple entitlements under one shared usage balance.
This is useful when a customer can receive usage from multiple sources, such as a subscription, one-time credit pack, recurring add-on, or manual grant.
A customer may receive credits from:
monthly credits from a subscription
extra credits from a one-time top-up
recurring add-on credits
manually granted credits
Your app can track usage against one shared usage key instead of handling every source separately.
Examplefinal result = await Revenipe.instance.track(
id: 'credits',
value: 1,
);Use stable entitlement identifiers
Use stable entitlement identifiers because your app depends on them to unlock features and display usage values.
premium_access
monthly_credits
support_access
advanced_exports
creditsImportant
Do not unlock features only because a customer purchased a product.
Always check the customer's entitlements after the purchase, trial, add-on, free plan, or provider state was confirmed.
Entitlements should be treated as the access layer of your app. Billing provider state should not be checked directly in the client app for feature access.
Next steps
After understanding entitlements, continue with usage keys to learn how multiple entitlement sources can contribute to one shared usage balance.