Skip to main content

AI apps with subscription

  • July 6, 2026
  • 1 reply
  • 19 views

Forum|alt.badge.img

For people building AI apps with subscriptions: how are you handling free/pro AI limits? Are you using a backend, Firebase/Supabase counters, RevenueCat entitlements, or just trusting the client?

This post has been closed for comments

1 reply

Tarek
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • July 7, 2026

Hey ​@alex-cha-f9e1cd!

Thank you for reaching out, that's a great question!

I'm Tarek from RevenueCat's Developer Support team.

It will depend heavily on your use case, but you RevenueCat can usually take care of most, if not all the monetization aspects, and you optionally can set up your own backend if needed.

 

Here's how the different pieces fit together:

Entitlements are for access, not counting. A RevenueCat entitlement is a yes/no flag that answers "does this user have Pro?". It's great for unlocking a feature or giving Pro users a higher cap, but it doesn't track something like "7 of 10 free generations used". So don't try to store a usage counter in an entitlement, that isn't what it's for.

 

The usage count lives server-side. Two options here:

  1. RevenueCat Virtual Currencies, if you want a credits or tokens model. RevenueCat tracks the balance for you, grants credits automatically on purchase or subscription, and supports expiring (subscription) vs non-expiring (consumable) credits. Full walkthrough here: https://www.revenuecat.com/blog/engineering/how-to-monetize-your-ai-app-with-virtual-currencies/
  2. Your own backend, Firebase or Supabase for instance. Keep the counter there and check it on every request, then reset monthly counters on a schedule or when the subscription renews. This is the most common setup.

 

A couple of links that go deeper:

 

Generally speaking you shouldn't trust the client, as it's easily tampered with. Instead, rely on server-side checks, provided either by RevenueCat (see Trusted Entitlements for instance), or your own backend.

 

I hope that helps! Let me know if there's anything else I can help with.

 

Best regards,