Welcome

Welcome to the Superwall Web SDK documentation

Beta

The Web SDK is in beta. The API may change between releases. If something does not match these docs, open an issue.

The Superwall Web SDK brings paywalls, placements, and entitlements to the browser. It uses the same campaigns, audience rules, and experiments as the iOS, Android, and Flutter SDKs. Events use the standard addEventListener. State can be read synchronously or subscribed to. Import only the parts you use and bundlers leave the rest out of your app. React 19 bindings are included.

Packages

The SDK ships as ESM-only packages. Most apps need one or two of them.

PackageWhat it doesRuns in
@superwall/paywalls-jsHeadless core. createSuperwall, placements, entitlements, events. No DOM references at module load.Node, Bun, edge, workers, SSR, browser
@superwall/paywalls-js/browserBrowser presenter and storage. Mounts the paywall iframe and persists identity.Browser-intended; imports safely anywhere
@superwall/paywalls-reactSuperwallProvider plus hooks. React 19.Browser
@superwall/serverServer-side entitlement gating for your own routes.Node, Bun, edge
@superwall/verifyVerification of Superwall-signed entitlement tokens against bundled keys.Node, Bun, edge

Gate real resources on the server.

Subscription state in the browser can be edited from DevTools. Use @superwall/paywalls-js to decide what UI to show. Use @superwall/server or @superwall/verify to control what your backend returns.

Feedback

To report an SDK bug, open an issue on GitHub. To rate these docs, use the buttons at the bottom of any page.

How is this guide?

On this page