RevenueCat
In-app subscription infrastructure — receipt validation, entitlements, paywalls.
About
RevenueCat is the middleware between your app and the app stores' billing systems. You call its Purchases SDK instead of StoreKit or Play Billing directly; RevenueCat validates receipts server-side, keeps the canonical record of who is subscribed to what, and exposes entitlements (`customerInfo.entitlements["pro"].isActive) your app checks to unlock content. It is not a payment processor — Apple and Google still take their cut and pay out on their schedule — it replaces the receipt-validation server, subscriber-state database, and analytics dashboards you'd otherwise build and debug at 2am.
The platform covers iOS, Android, Amazon, web, and newer stores (Galaxy), with cross-platform entitlement sync, remotely-configured paywalls with A/B testing, real-time webhooks, and a support console for granting promotional access. SDKs are open source (MIT/Apache) and actively maintained — purchases-ios alone is pushed daily — while the backend is closed. The free tier covers up to $2,500/month in tracked revenue, which makes it the default choice for indie apps that shouldn't be building billing infrastructure.
Watch the edges: grace periods, billing retries, and store-specific quirks are handled for you, but complex web+mobile hybrid monetization still needs care, and there's no official .NET MAUI SDK (community wrappers fill the gap).
What it can do
- Server-side receipt validation across App Store, Play, Amazon, web, Galaxy
- Cross-platform entitlement management as the single source of truth
- Remote paywall builder with A/B testing and pricing experiments
- Real-time webhooks and integrations with analytics/marketing tools
- Unified subscription analytics: MRR, churn, LTV, trial conversion
- Open-source SDKs (iOS, Android, Flutter, React Native, Unity, KMP, web)
Setup
- Configure your products and entitlements in the App Store / Play Console FIRST.
- Create a RevenueCat project and link your store apps.
- Install the SDK (
react-native-purchases,purchases-ios, etc.) and `Purchases.configure({apiKey}). - Define offerings/paywalls, identify users, and gate features on entitlements.
Prerequisites
App Store Connect / Google Play Console access with configured products. Store configuration must be correct before touching the SDK.
Use cases
Works with
Trust score — 8/10
Scored 8/10 (metrics tier, metrics-v1). Evidence: 3,077 GitHub stars (RevenueCat/purchases-ios); MIT license; repo pushed 2026-10-15 (same-day activity); SDK family spans iOS, Android, Flutter, RN, Unity, KMP, web; Backend is closed; SDKs are open source — mixed openness; Receipt validation, entitlement sync, remote paywalls with A/B testing verified against official docs and handbook. Manual review: 'not a payment processor' positioning is accurate and well documented; no official .NET MAUI SDK (community wrappers only) — verified. License: MIT/Apache SDKs, closed backend.
★ 3,077 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 7.0/10
- Maintenance · recency, releases, issue load
- 9.0/10
- Openness · license + docs
- 9.0/10
- Manual review · sanity read + red-flag check
- 8.0/10
- · 3,077 GitHub stars (RevenueCat/purchases-ios); MIT license; repo pushed 2026-10-15 (same-day activity); SDK family spans iOS, Android, Flutter, RN, Unity, KMP, web
- · Backend is closed; SDKs are open source — mixed openness
- · Receipt validation, entitlement sync, remote paywalls with A/B testing verified against official docs and handbook
- · manual review: 'not a payment processor' positioning is accurate and well documented; no official .NET MAUI SDK (community wrappers only) — verified
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.