# 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 Checkout 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, Unity, 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-checkout/overview.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) - [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) - [Unity Documentation](/docs/unity/llms.txt) - [React Native Documentation](/docs/react-native/llms.txt) - [Integrations Documentation](/docs/integrations/llms.txt) - [Overview](/docs/web-checkout): Let customers purchase products online via Stripe, then link them to your iOS app with one seamless flow. No authentication required. - [Adaptive Pricing](/docs/web-checkout/web-checkout-adaptive-pricing): Let web checkout customers pay in a local currency with Stripe Adaptive Pricing. - [Creating Products](/docs/web-checkout/web-checkout-adding-a-stripe-product): Create products in Stripe to show on your web paywalls. - [Stripe Setup](/docs/web-checkout/web-checkout-configuring-stripe-keys-and-settings): Connect Superwall to Stripe using the official Stripe app and configure your settings. - [Creating an App](/docs/web-checkout/web-checkout-creating-an-app): Add a Stripe app to an existing project within Superwall. - [Web Checkout Links](/docs/web-checkout/web-checkout-creating-campaigns-to-show-paywalls): Learn how to use campaigns and placements to present web paywalls using Superwall's web checkout links. - [App2Web](/docs/web-checkout/web-checkout-direct-stripe-checkout): Link U.S. customers from iOS paywalls to Safari for Stripe checkout. - [Discount Codes](/docs/web-checkout/web-checkout-discount-codes): Let customers enter a Stripe promotion code on your web paywall, update the price in place, and carry the discount through to Stripe checkout. - [Web Checkout FAQ](/docs/web-checkout/web-checkout-faq): Frequently asked questions about web checkout. - [Managed Payments](/docs/web-checkout/web-checkout-managed-payments): Sell on the web with Stripe as merchant of record for Stripe web checkout payments. - [Restoring & Managing Purchases](/docs/web-checkout/web-checkout-managing-memberships): Learn how users can manage and restore purchases made via the web. - [SDK Setup](/docs/web-checkout/web-checkout-sdk-setup): Set up your app to handle Web Checkout purchases, deep links, and post-checkout redirecting. - [Stripe One-Time Purchases](/docs/web-checkout/web-checkout-stripe-one-time-purchases): Use Stripe one-time prices for lifetime access or consumable purchases in web checkout. - [Sandbox Purchases](/docs/web-checkout/web-checkout-testing-purchases): Test with your web paywalls by using sandbox products. - [Web-Only Checkout](/docs/web-checkout/web-checkout-web-only): Use web checkout without a mobile app for web apps, websites, or any non-App-Store product.