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

# RevenueCat

> Connect RevenueCat to manage subscriptions, display paywalls, run pricing A/B tests, and track revenue — all without writing payment code in Rey.

RevenueCat is the industry-standard platform for managing in-app subscriptions and one-time purchases on iOS and Android. It handles subscription state, receipt validation, paywall UI, A/B testing, and revenue analytics in one place. By connecting RevenueCat to Rey, you can fully monetize your app without writing any payment or billing code.

## What RevenueCat Does

RevenueCat sits between your app and the App Store / Google Play billing systems. It validates receipts, tracks subscriber status in real time, and gives you a unified revenue dashboard across both platforms. You also get built-in tools to design paywalls and run experiments to find the pricing that converts best.

## Prerequisites

Before connecting RevenueCat to Rey, make sure you have:

* A [RevenueCat account](https://www.revenuecat.com) with a project created.
* Your in-app products configured in **App Store Connect** (iOS) and/or **Google Play Console** (Android).
* Your **RevenueCat public API key** — find it in RevenueCat under **Project Settings → API Keys**.

## Connect RevenueCat to Rey

<Steps>
  <Step title="Set up products in RevenueCat">
    Log in to your RevenueCat dashboard, create a new project, and add your products. Make sure each product ID matches exactly what you've configured in App Store Connect or Google Play Console. RevenueCat's [quickstart guide](https://www.revenuecat.com/docs/getting-started) walks through this in detail.
  </Step>

  <Step title="Copy your public API key">
    In RevenueCat, go to **Project Settings → API Keys** and copy your **Public SDK key**. This is a read-safe key used to initialize the SDK — do not use a secret key here.
  </Step>

  <Step title="Enter your API key in Rey">
    In the Rey editor, open the **Integrations** panel, select **RevenueCat**, and paste your public API key into the API Key field.
  </Step>

  <Step title="Save and verify the connection">
    Click **Save**. Rey connects to RevenueCat and confirms the integration is active. A green status indicator appears on the RevenueCat card in the Integrations panel.
  </Step>
</Steps>

## Add a Paywall Screen

Once RevenueCat is connected, drag the **Paywall** component from the Rey component library onto any screen. The Paywall component fetches your active offering from RevenueCat and renders the paywall UI automatically — including product names, pricing, and call-to-action buttons.

<Tip>
  Place your Paywall screen at high-intent moments: right after onboarding, when a user tries to access a premium feature, or on a dedicated "Upgrade" screen reachable from your settings menu.
</Tip>

## Configure Products and Pricing

All product and pricing configuration happens in the **RevenueCat dashboard**, not in Rey. To update pricing, add a new product, or change your offering, log in to RevenueCat and edit your offerings there. Rey picks up the latest configuration automatically — no republish required.

## Run A/B Tests on Paywalls

RevenueCat's Experiments feature lets you test different paywall designs and pricing against each other. To run a test:

1. Set up an experiment in the **RevenueCat dashboard** under **Experiments**.
2. Define your control and treatment offerings (different prices, trial lengths, or UI copy).
3. Rey surfaces the correct paywall variant to each user automatically based on RevenueCat's assignment logic.

You don't need to change anything in Rey to start or stop an experiment — RevenueCat controls variant delivery end-to-end.

## Understand Your Revenue

<Tip>
  RevenueCat's dashboard shows active subscribers, monthly recurring revenue, churn rate, and trial conversions in real time. For monetization analytics, you don't need a separate analytics tool — RevenueCat covers it all.
</Tip>

<AccordionGroup>
  <Accordion title="What happens if a user's subscription lapses?">
    RevenueCat tracks subscription status in real time. When a subscription lapses, RevenueCat updates the subscriber's entitlements immediately. Rey reads the updated entitlement status and can show or hide premium content accordingly — no extra logic needed on your end.
  </Accordion>

  <Accordion title="Can I offer a free trial?">
    Yes. Configure free trial periods directly in App Store Connect or Google Play Console on the product level. RevenueCat and Rey surface the trial automatically in the Paywall component.
  </Accordion>

  <Accordion title="Does Rey support one-time purchases as well as subscriptions?">
    Yes. RevenueCat supports both subscription products and non-consumable / consumable one-time purchases. Add them as products in RevenueCat and they will appear in your Paywall component alongside subscriptions.
  </Accordion>
</AccordionGroup>
