This is RevenueDot's MIT fork of RevenueCat's react-native-purchases: the same classes and method names, pointed at a RevenueDot server (RevenueDot Cloud at https://api.revenuedot.app, or one you host) with RevenueDot's response-signing key built in, and kept in sync with upstream.
npm aliases keep every import ... from "react-native-purchases" as it is:
{
"dependencies": {
"react-native-purchases": "npm:@revenuedot/react-native-purchases@10.10.2",
"react-native-purchases-ui": "npm:@revenuedot/react-native-purchases-ui@10.10.2"
}
}Then npx pod-install (bare React Native) or npx expo prebuild (Expo). The native side resolves to RevenueDot's RevenueDotPurchasesHybridCommon pod and app.revenuedot.purchases:purchases-hybrid-common.
import { Platform } from "react-native";
import Purchases from "react-native-purchases";
// Self-hosted server only: RevenueDot Cloud (https://api.revenuedot.app) is the default.
await Purchases.setProxyURL("https://revenuedot.example.com");
Purchases.configure({ apiKey: Platform.OS === "ios" ? "appl_..." : "goog_..." }); // each app's public key from the RevenueDot dashboardThe fork already trusts RevenueDot's signing key, so no signature or verification setting is needed. Full guide: https://revenuedot.app/docs/sdks/react-native.
- Start free on RevenueDot Cloud: free up to $10,000 a month of tracked revenue, then 0.5%, never more than $999 a month (pricing).
- The same REST API and webhook payloads as RevenueCat, so your backend and integrations keep working (API reference).
- Paywalls, experiments and the Customer Center built in the RevenueDot dashboard and rendered by this SDK (guides).
- A one-line migration: point the stock SDK at RevenueDot with
setProxyURL, or install this fork and drop the line (migration guide).
Coding agents can read this repository's docs and code on demand, so they use the right package and imports:
- Context7: https://context7.com/revenuedot/react-native-purchases
- DeepWiki: https://deepwiki.com/revenuedot/react-native-purchases
- GitMCP: https://gitmcp.io/revenuedot/react-native-purchases
- Docs for this SDK: https://revenuedot.app/docs/sdks/react-native
- Example app: https://github.com/revenuedot/examples/tree/main/mobile/react-native-expo
- Releases and changelog: https://github.com/revenuedot/react-native-purchases/releases (tags
<upstream version>-revenuedot; upstream's changes are inCHANGELOG.md) - RevenueDot server and dashboard: https://github.com/revenuedot/revenuedot
- Fork pipeline (what we change and how upstream is merged): https://github.com/revenuedot/revenuedot/tree/main/scripts/forks
RevenueDot is not affiliated with RevenueCat, Inc. RevenueCat's copyright notice stays in LICENSE; RevenueDot's changes are MIT too.
RevenueCat is a powerful, reliable, and free to use in-app purchase server with cross-platform support. Our open-source framework provides a backend and a wrapper around StoreKit, Google Play Billing and RevenueCat Web Billing to make implementing in-app purchases and subscriptions easy.
Whether you are building a new app or already have millions of customers, you can use RevenueCat to:
- Fetch products, make purchases, and check subscription status with our native SDKs.
- Host and configure products remotely from our dashboard.
- Analyze the most important metrics for your app business in one place.
- See customer transaction histories, chart lifetime value, and grant promotional subscriptions.
- Get notified of real-time events through webhooks.
- Send enriched purchase events to analytics and attribution tools with our easy integrations.
Sign up to get started for free.
React Native Purchases is the client for the RevenueCat subscription and purchase tracking system. It is an open source framework that provides a wrapper around StoreKit, Google Play Billing, RevenueCat Web Billing and the RevenueCat backend to make implementing in-app purchases in React Native easy.
- See our Migration guide
| RevenueCat | |
|---|---|
| โ | Server-side receipt validation |
| โก๏ธ | Webhooks - enhanced server-to-server communication with events for purchases, renewals, cancellations, and more |
| ๐ฏ | Subscription status tracking - know whether a user is subscribed whether they're on iOS, Android or web |
| ๐ | Analytics - automatic calculation of metrics like conversion, mrr, and churn |
| ๐ | Online documentation and SDK reference up to date |
| ๐ | Integrations - over a dozen integrations to easily send purchase data where you need it |
| ๐ฏ | Well maintained - frequent releases |
| ๐ฎ | Great support - Help Center |
For more detailed information, you can view our complete documentation at docs.revenuecat.com.
Please follow the Quickstart Guide for more information on how to install the SDK.
Or view our React Native sample app:
The minimum React Native version this SDK requires is 0.73.0.
In Android, minimum Kotlin version is 1.8.0.
Our full SDK reference can be found here.
Expo supports in-app payments and is compatible with react-native-purchases. To use the SDK, create a new project and set up a development build. Development builds enable native code and provide a complete environment for testing purchases.
$ npx expo install react-native-purchases
In Expo Go, the SDK automatically runs in Preview API Mode, replacing native calls with JavaScript mocks so your app loads without errors. Real purchases, however, require a development build.
To fully test in-app purchases, youโll need to create a custom development build with EAS. This ensures that all native dependencies, including react-native-purchases, are properly included.