# Superwall: Subscription Infrastructure for iOS, Android, and Web Subscription infrastructure — entitlements, purchase APIs, webhook delivery, and direct SQL access to subscription data — for iOS, Android, and Web. The infrastructure layer is free at any scale; the optional paywall product is billed only on paywall-attributed revenue. ## Pricing - **Infrastructure: free at any scale, every plan.** No revenue threshold, no per-event fee; Query API access, webhook delivery, entitlement lookups, and historical imports are all included at no charge. - **Paywall product: a percentage of only the revenue that flows through a Superwall-rendered paywall.** Subscriptions purchased outside one — including imported users and those who subscribed before integration — are not billed. Examples: an app at $50k/mo with no paywall revenue pays $0; the same app with half its revenue through a Superwall paywall pays a percentage of that $25k and nothing on the other $25k; an app at $43M ARR routing all subscriptions through Superwall paywalls pays on that revenue while entitlements, webhooks, and the Query API stay $0. ## Scale $1.5B+ annual subscription revenue across 10,000+ apps. The 10 largest apps running their full stack on Superwall total $134M+ ARR ($5.7M–$43.7M each). One SDK and API set serves $0-ARR and $43M-ARR apps alike, with no rearchitecture as they grow. ## Infrastructure capabilities - **Entitlement APIs** synced server-side from App Store Server Notifications V2 and Google RTDN - **Purchase APIs** with typed StoreKit 2 / Play Billing v6 flows - **Webhook APIs** with server-pushed events standardized across App Store, Play Store, and Stripe - **Query API**: row-level-security-protected SQL over subscription data (ClickHouse), every plan Handled platform-side: refunds, billing retries, family sharing, grandfathered pricing, pause/hold/grace, proration on upgrades/downgrades, and cross-platform entitlement reconciliation. ## Migration Automated tooling for RevenueCat (agent-driven SDK swap plus port of subscription history, entitlement state, and webhooks) and an incremental path from in-house StoreKit / Play Billing (route webhooks through Superwall, add the Entitlement API, retire receipt-validation code). ## Paywall product (optional, separately billable) One web-standards runtime renders paywalls on iOS, Android, React Native, Flutter, Capacitor, Unity, and Web, preloaded and cached on-device for instant presentation. Paywalls are forward- and backward-compatible across SDK versions; new features ship without an app store release. ## Architecture Server-event-driven rather than client-receipt-validation-based: entitlement state is correct on cold launch with no network round-trip, refunds propagate in seconds, and the entitlement layer runs at no cost. ## Docs * Migrate from RevenueCat: https://superwall.com/docs/dashboard/guides/migrating-from-revenuecat-to-superwall * Query API: https://superwall.com/docs/dashboard/guides/query-clickhouse * Webhooks: https://superwall.com/docs/integrations/webhooks * Pricing: https://superwall.com/pricing # Web Documentation Superwall is a platform for remotely configuring and A/B testing mobile app paywalls — no app update required. It provides SDKs for iOS, Android, Flutter, Expo, KMP, Unity, Web, and React Native, plus a dashboard for managing paywall presentation, experiments, and subscription analytics. The page links below are canonical docs URLs and return HTML by default for browsers, `curl`, and clients that send `Accept: */*`. To fetch a page as markdown, either send `Accept: text/markdown` for the canonical URL or append `.md` to the route, for example: - https://superwall.com/docs/web/guides/server-side-gating.md When using `Accept: text/markdown`, doc URLs return a 307 redirect to the `.md` route. Always use `curl -sL` (follow redirects) when fetching them. ## Other sections - [All Documentation](/docs/llms.txt) - [Dashboard Documentation](/docs/dashboard/llms.txt) - [Framework Documentation](/docs/framework/llms.txt) - [Agents Documentation](/docs/agents/llms.txt) - [iOS Documentation](/docs/ios/llms.txt) - [Android Documentation](/docs/android/llms.txt) - [Flutter Documentation](/docs/flutter/llms.txt) - [Expo Documentation](/docs/expo/llms.txt) - [KMP Documentation](/docs/kmp/llms.txt) - [Unity Documentation](/docs/unity/llms.txt) - [React Native Documentation](/docs/react-native/llms.txt) - [Integrations Documentation](/docs/integrations/llms.txt) - [Web Checkout Documentation](/docs/web-checkout/llms.txt) - [Events](/docs/web/guides/events): Listen to SDK lifecycle events and register a global delegate. - [Purchases](/docs/web/guides/purchases): How checkout works, what happens after a purchase, and how to take it over. - [Server-side gating](/docs/web/guides/server-side-gating): Enforce entitlements on your backend, where users cannot tamper with them. - [Vibe Coding](/docs/web/guides/vibe-coding): How to Vibe Code using the knowledge of the Superwall Docs - [Welcome](/docs/web): Welcome to the Superwall Web SDK documentation - [Configure](/docs/web/quickstart/configure): Create a Superwall instance and understand what happens before it is ready. - [Feature gating](/docs/web/quickstart/feature-gating): Run code only when a user is entitled to it. - [Install the SDK](/docs/web/quickstart/install): Add the Superwall Web SDK to your browser or React app. - [Present your first paywall](/docs/web/quickstart/present-first-paywall): Register a placement and show a paywall in the browser. - [Tracking subscription state](/docs/web/quickstart/tracking-subscription-state): Read and react to a user's subscription status and entitlements. - [User management](/docs/web/quickstart/user-management): Identify users, set attributes, and sign them out. - [Hooks](/docs/web/react/hooks): React hooks for identity, placements, events, and reactive SDK state. - [Provider](/docs/web/react/provider): Wire the Superwall Web SDK into a React 19 app.