Solution

In-app purchase backend for app studios: many apps, one server, team roles

An app studio can run every app on one RevenueDot server. Each product is a project with its own catalog, customers, webhooks and API keys, and each person has an Admin, Developer or Viewer role per project. Self-hosting takes no share of any app's revenue, and RevenueDot Cloud is free up to $10,000 a month.

Free up to $10,000 a month in tracked revenue. Works with the RevenueCat SDK you already ship.

One project per product

Each project owns its catalog, customers, webhooks and secret keys, so clients never see each other's data.

Roles per project

Admin, Developer and Viewer. A person can hold a different role in each project.

One server

A self-hosted server holds any number of projects, and its cost does not grow with client revenue.

Same SDK for all

Every app keeps the RevenueCat SDK and sets one proxy URL.

Structure

How RevenueDot is organized for many apps

A project is one product you sell. It owns the catalog, the customers, the webhooks and the secret keys. An app is that product on one store, such as the iOS app or the Android app, and each app has its own public SDK key. New projects come from the dashboard's New project button.

LevelHoldsExample
ProjectCatalog, customers, webhooks, secret keys, teamClient A's fitness app
AppOne store connection and one public SDK keyClient A on the App Store (appl_), on Google Play (goog_), on the web (strp_)
MemberOne role in one projectA designer with Viewer access to Client A only

Access

Team roles you can give to staff and clients

RoleCan doCannot do
AdminEverything in the project, including secret API keys, invites and deleting the projectNothing is off limits
DeveloperEdit apps, store credentials, the catalog, customers, webhooks and settingsCreate or revoke secret API keys, invite people, change roles, delete the project
ViewerRead everything the dashboard showsChange anything

A project always keeps one Admin. Invite links last 7 days, and a project can send 50 invites a day.

Cost

What one server costs against one bill per app

Self-hosted RevenueDot is AGPL-3.0 and takes no share of revenue, so adding a client app adds database rows, not a bill that grows with that client's sales. You pay for your own server and Postgres. If you prefer not to run servers, RevenueDot Cloud is free up to $10,000 of monthly tracked revenue, and the planned paid plan is capped at $999 a month. See pricing.

For comparison, RevenueCat charges 1% of all monthly tracked revenue once it reaches $2,500 (pricing, checked October 2026).

Steps

How to onboard a new client app

  1. 01

    Create a project for the client

    In the dashboard click New project, on Cloud or on your own server.

  2. 02

    Invite the team

    Open Project settings, Collaborators, and invite your developers as Developer and the client as Viewer or Admin.

  3. 03

    Connect the client's stores

    Add the client's App Store In-App Purchase key and Google Play service account to the project's apps. Each project holds its own credentials.

  4. 04

    Create the catalog and a secret key

    Add products, entitlements and offerings, then create a secret key for the client's backend and set up webhooks.

  5. 05

    Set the proxy URL in the client app

    Ship the app with the RevenueCat SDK and the proxy URL for your server. For a client already on RevenueCat, import their project first.

Honest notes

Limits to plan for

  • One container per database. The background job has no lock across processes, so run one RevenueDot container per Postgres for now.
  • Backups are yours on a self-hosted server. Use the managed database's point-in-time recovery and daily dumps. See Backups.
  • Roles are three today: Admin, Developer and Viewer.
  • Store credentials for Apple and Google are stored in the project's database. Encrypt backups and limit who can read them.

FAQ

App studios: questions people ask

Can I run multiple apps on one RevenueDot server?

Yes. Create one project per product, and add an app per store inside it. Each project has its own catalog, customers, webhooks and API keys. A self-hosted server holds any number of projects.

How do I give a client read-only access to their revenue?

Invite them to their project with the Viewer role. A Viewer can read everything the dashboard shows and change nothing. A person can have a different role in each project.

Does self-hosted RevenueDot charge a share of each client's revenue?

No. Self-hosting is free under AGPL-3.0, with no limits and no revenue share. You pay for your own server and Postgres.

Are one client's customers visible to another client's team?

No. A project owns its customers, and a member sees only the projects they belong to. Secret API keys belong to one project.

How do I move a client from RevenueCat?

Create their project, run the importer with their read-only RevenueCat secret key, forward store notifications to RevenueCat during a side-by-side run, then ship the proxy URL change in their next release.

Get started

Run subscriptions without the revenue share.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue, or move an existing RevenueCat app with one line of code.

Already have an account? Sign in · Prefer your own servers? Self-host free