> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encorekit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Subscription Product with Superwall

> Let Superwall observe the App Store purchase Encore makes, so its subscription state stays in sync.

## Overview

You still pick the product in App Store Connect and the Encore Dashboard exactly as in [Add Subscription Product](/publishers/ios/quickstart/add-subscription-product). What changes with Superwall is how the purchase completes and how Superwall learns about it.

***

## Let Superwall observe the purchase

Turn on observer mode at configure time. Encore purchases through StoreKit 2, and Superwall picks the transaction up on its own:

```swift theme={null}
let options = SuperwallOptions()
options.shouldObservePurchases = true
Superwall.configure(apiKey: "YOUR_SW_KEY", options: options)
```

<Note>
  No [`onPurchaseComplete()`](/publishers/ios/sdk-reference/on-purchase-complete) handler is needed. Superwall detects the StoreKit transaction itself.
</Note>

<Warning>
  Observer mode requires iOS 17.2 or later and disables `Superwall.shared.purchase()`. All purchases go through StoreKit directly.
</Warning>

***

## Or complete the purchase yourself

Register [`onPurchaseRequest()`](/publishers/ios/sdk-reference/on-purchase-request) and Encore hands your handler the product id instead of purchasing itself. Superwall exposes no purchase API in observer mode, so the handler is the StoreKit 2 one from the quickstart step, unchanged.

***

## Next

* [Configure Analytics](./configure-analytics) - point Superwall's webhook at Encore
