# 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 # Dashboard 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/dashboard/dashboard-settings/overview-settings-apple-search-ads.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) - [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) - [Web Checkout Documentation](/docs/web-checkout/llms.txt) - [Assets](/docs/dashboard/assets): Upload and reuse images and videos across paywalls for easy branding and asset management. - [Active Subscriptions](/docs/dashboard/charts/active-subscriptions): Learn what the Active Subscriptions chart measures and when to use it. - [Active Users](/docs/dashboard/charts/active-users): Learn what the Active Users chart measures and when to use it. - [ARR](/docs/dashboard/charts/arr): Learn what the ARR chart measures and when to use it. - [Auto Renew Status](/docs/dashboard/charts/auto-renew-status): Learn what the Auto Renew Status chart measures and when to use it. - [Checkout Conversion](/docs/dashboard/charts/checkout-conversion): Learn what the Checkout Conversion chart measures and when to use it. - [Cohorted Proceeds](/docs/dashboard/charts/cohorted-proceeds): Learn what the Cohorted Proceeds chart measures and when to use it. - [Conversions](/docs/dashboard/charts/conversions): Learn what the Conversions chart measures and when to use it. - [Charts](/docs/dashboard/charts): View charts detailing important metrics about your app's subscription performance, paywalls, users, and revenue. - [Initial Conversion](/docs/dashboard/charts/initial-conversion): Learn what the Initial Conversion chart measures and when to use it. - [MRR](/docs/dashboard/charts/mrr): Learn what the MRR chart measures and when to use it. - [New Subscriptions](/docs/dashboard/charts/new-subscriptions): Learn what the New Subscriptions chart measures and when to use it. - [New Trials](/docs/dashboard/charts/new-trials): Learn what the New Trials chart measures and when to use it. - [New Users](/docs/dashboard/charts/new-users): Learn what the New Users chart measures and when to use it. - [Paid Conversion](/docs/dashboard/charts/paid-conversion): Learn what the Paid Conversion chart measures and when to use it. - [Paywall Conversion](/docs/dashboard/charts/paywall-conversion): Learn what the Paywall Conversion chart measures and when to use it. - [Paywall Rate](/docs/dashboard/charts/paywall-rate): Learn what the Paywall Rate chart measures and when to use it. - [Paywalled Users](/docs/dashboard/charts/paywalled-users): Learn what the Paywalled Users chart measures and when to use it. - [Proceeds](/docs/dashboard/charts/proceeds): Learn what the Proceeds chart measures and when to use it. - [Realized LTV per new user](/docs/dashboard/charts/realized-ltv-per-new-user): Learn what the Realized LTV per new user chart measures and when to use it. - [Realized LTV per paid user](/docs/dashboard/charts/realized-ltv-per-paid-user): Learn what the Realized LTV per paid user chart measures and when to use it. - [Refund Rate](/docs/dashboard/charts/refund-rate): Learn what the Refund Rate chart measures and when to use it. - [Sales](/docs/dashboard/charts/sales): Learn what the Sales chart measures and when to use it. - [Subscriber Churn](/docs/dashboard/charts/subscriber-churn): Learn what the Subscriber Churn chart measures and when to use it. - [Subscription Retention](/docs/dashboard/charts/subscription-retention): Learn what the Subscription Retention chart measures and when to use it. - [Trial Conversion](/docs/dashboard/charts/trial-conversion): Learn what the Trial Conversion chart measures and when to use it. - [Creating Projects](/docs/dashboard/creating-applications): Projects are how Superwall groups the same app together across platforms. - [Rules](/docs/dashboard/dashboard-campaigns/campaign-rules): Rules allow you to decide _which users_ see a paywall. - [Audiences](/docs/dashboard/dashboard-campaigns/campaigns-audience) - [Paywalled Users](/docs/dashboard/dashboard-campaigns/campaigns-paywalled-users) - [Priority Placements](/docs/dashboard/dashboard-campaigns/campaigns-placements-prioritized): Preload your most important campaign's paywalls before the rest of your app's campaigns. - [Placements](/docs/dashboard/dashboard-campaigns/campaigns-placements) - [Standard Placements](/docs/dashboard/dashboard-campaigns/campaigns-standard-placements) - [Starting an Experiment](/docs/dashboard/dashboard-campaigns/campaigns-starting-an-experiment) - [Campaign Structure](/docs/dashboard/dashboard-campaigns/campaigns-structure) - [Understanding Experiment Results](/docs/dashboard/dashboard-campaigns/campaigns-understanding-experiment-results) - [Campaigns](/docs/dashboard/dashboard-campaigns/campaigns): Campaigns are logical groupings of paywalls to show when certain _events_ are registered and _conditions_ are met. They are an incredibly powerful tool for creating experiments and managing best-in-class monetization flows. - [Flows Analytics](/docs/dashboard/dashboard-creating-flows/analytics): Understand Flow Journey analytics, drop-off, page transitions, and how users move through multi-page flows. - [Flow Elements](/docs/dashboard/dashboard-creating-flows/flow-elements): Add interactive elements to your flows: multiple choice, text entry, progress indicators, and date pickers. - [Getting Started with Flows](/docs/dashboard/dashboard-creating-flows/getting-started): Create multi-page experiences like onboarding flows, cancellation surveys, and more. All within the same Superwall editor you're familiar with. - [How Flows are Structured](/docs/dashboard/dashboard-creating-flows/how-flows-are-structured): Understand the key concepts of a Flow: the navigation element, pages, routes, and branching. - [Linking Pages](/docs/dashboard/dashboard-creating-flows/linking-pages): Connect pages with routes, configure animations, and set up conditional branching. - [Navigation](/docs/dashboard/dashboard-creating-flows/navigation): Control how users move through your flow with forward and backward navigation. - [Ordering Screens](/docs/dashboard/dashboard-creating-flows/ordering-screens): Understand how page order works in Flows and how to organize your Canvas. - [Permission Prompts](/docs/dashboard/dashboard-creating-flows/permission-prompts): Request system permissions like notifications, location, and camera at the right moment in your flows. - [The Canvas](/docs/dashboard/dashboard-creating-flows/the-canvas): See your entire flow at a glance, zoom in and out, and use the mini-map to navigate complex flows. - [Tips](/docs/dashboard/dashboard-creating-flows/tips): Practical advice for building effective flows. - [AI Chat Builder](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-ai-chat): Use AI Chat in the paywall editor to build, inspect, and refine paywalls with natural language. - [Autoscroll](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-autoscroll-component): Use Superwall's autoscroll component to create marquee-like content that automatically scrolls. - [Carousel](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-carousel-component): Use Superwall's carousel component to have items automatically progress through slides. - [Debugger](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-debugger) - [Drawers](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-drawer-component): Use Superwall's drawer component to display content presented in response to a button tap or a variable changing. - [Duplicating Paywalls](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-duplicating-paywalls) - [Dynamic Values](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-dynamic-values) - [Floating Toolbar](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-floating-toolbar) - [Indicator](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-indicator-component): Show users their progress through a flow with the indicator element. - [Input](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-input-component): Capture typed responses from users with the input element for names, emails, feedback, and more. - [Layout](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-layout) - [Liquid](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-liquid) - [Local Resources](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-local-resources): Use images, videos, and other media bundled in your app for faster paywall loading and offline support. - [Paywall Localization](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-localization) - [Connect an Agent with MCP](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-mcp): Connect Claude Code, Codex, Cursor, or another MCP-compatible agent to the paywall currently open in the Superwall editor. - [Multiple Choice](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-multiple-choice-component): Capture user selections with multiple choice elements for branching, personalization, and data collection. - [Navigation](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-navigation-component): Use Superwall's navigation component to navigate through pages of content. - [Notifications](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-notifications) - [Getting Started with the Paywall Editor](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-overview): Use Superwall's best-in-class editor to bring virtually any paywall design to life, complete with advanced U.X. patterns. Or, browse our growing list of paywall templates to get started quickly. - [Previewing](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-previewing) - [Products](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-products) - [Publishing](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-publishing) - [Renaming Paywalls](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-renaming-paywalls) - [Settings](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-settings) - [Slider](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-slider-component): Let users choose a numeric value or scrub progress directly inside a paywall or flow. - [Slides](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-slides-component): Use Superwall's slides component to create a horizontal or vertical slide UX driven by a user's gesture. - [Stacks](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-stacks) - [Styling Elements](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-styling-elements) - [Surveys](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-surveys) - [Theme](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-theme) - [Variables](/docs/dashboard/dashboard-creating-paywalls/paywall-editor-variables) - [Using Demand Score in Campaigns](/docs/dashboard/dashboard-demand-score/demand-score-experiments): Learn how to create audiences based on demand score ranges to run targeted experiments and improve conversion. - [Understanding Demand Score Insights](/docs/dashboard/dashboard-demand-score/demand-score-insights): Learn how to read and interpret the charts and breakdowns on the Demand Score page, including conversion rates, volume, trial outcomes, and per-placement and per-country analysis. - [Using Demand Score](/docs/dashboard/dashboard-demand-score/demand-score): Demand Score is a 1-100 value assigned to each user by Superwall, indicating their likelihood to convert. Use it to understand your audience and target users with the right offers. - [Access Controls](/docs/dashboard/dashboard-settings/overview-settings-access-controls): Manage organization roles, project access, and scoped API keys. - [Advanced](/docs/dashboard/dashboard-settings/overview-settings-advanced) - [All teams](/docs/dashboard/dashboard-settings/overview-settings-all-teams) - [Apple Search Ads](/docs/dashboard/dashboard-settings/overview-settings-apple-search-ads): Integrate Apple Search Ads with Superwall. View details on users acquired via search ads, visualize conversions from Apple Search Ads in charts, and create powerful campaign filters to target users using search ad data. Search ad integration requires 3.12.0 of the Superwall SDK or higher. - [Audit Log](/docs/dashboard/dashboard-settings/overview-settings-audit-log): Review organization activity in Dashboard v2. - [Billing](/docs/dashboard/dashboard-settings/overview-settings-billing) - [Keys](/docs/dashboard/dashboard-settings/overview-settings-keys) - [Localization](/docs/dashboard/dashboard-settings/overview-settings-localization) - [Projects](/docs/dashboard/dashboard-settings/overview-settings-projects) - [Public Beta](/docs/dashboard/dashboard-settings/overview-settings-public-beta) - [Refund Protection](/docs/dashboard/dashboard-settings/overview-settings-refund-protection) - [Google Play Revenue Tracking](/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking-google-play) - [Revenue Tracking](/docs/dashboard/dashboard-settings/overview-settings-revenue-tracking) - [Team](/docs/dashboard/dashboard-settings/overview-settings-team) - [General](/docs/dashboard/dashboard-settings/overview-settings): Use the Settings area to set up API keys, metadata and more. - [RevenueCat Migration Guide](/docs/dashboard/guides/migrating-from-revenuecat-to-superwall): A guide to migrating from RevenueCat to Superwall. - [Pre-Launch Checklist](/docs/dashboard/guides/pre-launch-checklist): Ready to ship your app with Superwall? Here is a last minute checklist to give you confidence that you're ready to ship without issue. - [Presenting Paywalls from One Another](/docs/dashboard/guides/presenting-paywalls-from-one-another): Learn how to present a different paywall from one that's already presented. - [Query ClickHouse](/docs/dashboard/guides/query-clickhouse): Use the Superwall API to query your organization's ClickHouse-backed analytics data. - [Superwall CLI](/docs/dashboard/guides/superwall-cli): Set up the SDK, manage products, campaigns, and paywalls, query your analytics data, and call the API from your terminal or coding agent using the Superwall CLI. - [Superwall MCP](/docs/dashboard/guides/superwall-mcp): Manage Superwall projects, paywalls, campaigns, products, and more from AI tools like Claude Code and Cursor using the Superwall MCP. - [Superwall Skill](/docs/dashboard/guides/superwall-skill): Give AI coding agents up-to-date Superwall docs, authenticated API access, and hands-on control of the paywall editor using the Superwall Skills. - [Abandoned Transaction Paywalls](/docs/dashboard/guides/tips-abandoned-transaction-paywall): Learn how to respond when a user starts a purchase, then cancels the transaction. - [First Touch Paywalls](/docs/dashboard/guides/tips-first-touch-paywall): Learn how to present a paywall the moment users interact with your app. - [Showing Unique Paywalls](/docs/dashboard/guides/tips-paywalls-based-on-placement): Learn how to present a unique paywall based on the audience that was matched within a campaign. - [Feature Gating](/docs/dashboard/guides/tips-paywalls-feature-gating): Learn how to toggle feature gating in a paywall. - [Custom Actions](/docs/dashboard/guides/tips-using-custom-actions): Learn how to use custom actions. - [Using Flows for Onboarding](/docs/dashboard/guides/using-superwall-for-onboarding-flows): Build first-run app onboarding with Flows, branching, user attributes, permission prompts, paywalls, and Flow Journey analytics. - [Web Flows](/docs/dashboard/guides/web-flows): Build web-to-app flows that qualify campaign traffic, personalize offers, and activate users before sending them to your app. - [Welcome](/docs/dashboard): Welcome to the Superwall Dashboard documentation - [Account Management](/docs/dashboard/manage-account): Manage your Superwall account preferences, security settings, and authentication methods. - [Managing Localization Updates](/docs/dashboard/overview-localization) - [Overview](/docs/dashboard/overview-metrics): The Overview page gives you a holistic look at how your app is performing, complete with easy-to-find key metrics and top-level campaign data. - [Users](/docs/dashboard/overview-users): Get a snapshot view of users who recently triggered a placement in your app, see their user journey, revenue events and more. - [Paywalls & Flows](/docs/dashboard/paywalls): Create, preview, duplicate, and archive paywalls and flows for the selected app. - [Adding Products](/docs/dashboard/products) - [Subscription Management](/docs/dashboard/subscription-management): See how Superwall manages subscription states end-to-end, surface that data in the dashboard, and distribute updates across your stack. - [Superwall AI](/docs/dashboard/superwall-ai): Ask questions about Superwall, your account, and your data with Superwall AI, the assistant built into the dashboard, the docs, and superwall.com. - [Surveys](/docs/dashboard/surveys): Adding a paywall exit or post-purchase survey is a great way to boost conversion and get feedback on why users declined or purchased from your paywall. Once you've configured a survey, it can be attached to multiple paywalls. A user will only ever see a specific survey once unless you reset its responses. - [Templates](/docs/dashboard/templates): Use our template library to jump-start your paywall design process. Either plug in your products, switch them up to fit your needs, or remix them altogether.