Superwall gives you the ability to remotely update your purchase screen (A.K.A. paywall), without shipping app updates. Changing things like pricing, design, location, text and discounts takes a few seconds from Superwall's dashboard.

Here's how:

  1. Configure Paywall, Superwall's iOS SDK within your app
  2. Paywall presents the right paywall at the right time, based on your dashboard settings
  3. Paywall calls its delegate telling you which product to purchase.

You can purchase however you like, using StoreKit, RevenueCat or any other payments SDK.

If you haven't already, sign up for a free account to start building.


Looking for the v3 beta?

We're in the process of releasing a new v3 version of the framework called SuperwallKit. It is currently in beta status. If you'd like to try the beta, follow our v3 docs.

How it Works

Superwall is built on 3 core principles:

  1. Paywalls
  2. Triggers
  3. Rules

When your app executes a trigger, evaluate a rule to decide which paywall to show the user.

Triggers and Rules are grouped in a concept we call Campaigns.

Rapid Iteration

Since Paywalls, Triggers and Rules are all defined in your dashboard, integrating Superwall into your app is usually the last time you'll have to write paywall related code.

This allows you to iterate on 5 key aspects of your monetization flow, without shipping app updates:

  1. Design
  2. Text / Copy
  3. Placement
  4. Pricing
  5. Discounts


Superwall uses Paywall.js to turn websites into paywall templates. Superwall's Client SDK loads these websites inside a webview, and executes JS on them to replace text and template product information. This gives you the flexibility to turn any design into a paywall and update it remotely.

Since building websites can be tedious, Superwall maintains a Webflow template including ~50 of the most prominent paywall elements we've seen across thousands of apps. You can clone the template or just wait for us to build you a free paywall πŸ‘‡


Everyone gets a free paywall

Superwall has built hundreds of paywalls for clients and has a unique vantage point on the industry. As a token of gratitude for signing up, we create a paywall for each customer, using best practices we've picked up along the way. Check your email for updates, we'll add it to your dashboard when it's ready.


A trigger is essentially an analytics event you can wire up to specific rules. Superwall's client SDK listens for these analytics events and evaluates their rules to determine whether or not to show a paywall when the trigger is fired.


Rules allow you to conditionally show a paywall to a user. For example, you may want to only show users paywalls if they have no remaining credits or if their account is over 24 hours old.

Rule evaluations happen client side, so no network requests are fired to determine whether or not to show a paywall.



Click to enlarge

What’s Next