Offerings are the SDK surface for your purchase catalog. They are created in the AppActor dashboard, returned by the SDK, and used by your app to render its own paywall UI.
The AppActor SDK purchase path is offering-first: fetch offerings, pick an offering, render packages, purchase a package.

Fetch the current offering

Use current for the default paywall. The dashboard decides which offering is current for the project, so your app does not need a release to change the default package set.

Dashboard creation checklist

For the first offering, create a small, obvious setup:
  1. Offering ID or lookup key: default.
  2. Current offering: enabled.
  3. Package slots: monthly and annual.
  4. Package order: monthly first or annual first, matching your paywall design.
  5. Product mapping: each package maps to the correct iOS and Android product.
  6. Metadata: optional labels such as badge: "Best value" or placement-specific copy.
If your app fetches offerings.current.monthly, both the current offering and the monthly package slot must exist for the running platform.

Use package helpers

Package helpers are convenient, but they only exist when the dashboard package slot exists.
If monthly is null, the SDK is usually telling you the dashboard offering does not contain a monthly package for that app/platform.

Fetch by offering id or lookup key

Use current for most paywalls. Use explicit IDs or lookup keys only when the product design needs a specific surface, such as onboarding versus settings.

Use cached and fallback offerings deliberately

Wrappers expose cached offerings for fast UI and fallback offerings for offline resilience:
Use cached data to paint quickly. Use fresh data before release testing, support debugging, and purchase recovery.

Troubleshooting empty offerings

Empty offerings are almost always a configuration issue, not a rendering issue. Check:
  • the app uses the right public app SDK key
  • the project has a current offering
  • the offering has at least one package
  • package products exist for the running platform
  • products are available in App Store Connect or Google Play for the tester account
  • the package’s products are attached to the entitlement you check after purchase
Once offerings load, continue with Displaying Products.