Growth

How to Verify MRR Without Sharing Your Stripe Account

LaunchGP · · 5 min read

To verify MRR without sharing your Stripe account, give the service that checks it a Stripe restricted key with read access to Subscriptions and nothing else. The service can then add up your subscriptions itself, without being able to move money or change anything. You can expire the key at any time. A screenshot of a dashboard proves little by comparison: anyone can edit one.

This guide explains what MRR includes, why verified numbers matter and how to create a read-only key, following Stripe’s guide to restricted keys. We run LaunchGP, whose Endurance race uses verified MRR for its classes, so it’s the example at the end.

What does MRR include?

Monthly recurring revenue is the revenue your subscriptions bring in each month, expressed as a monthly amount:

  • A monthly plan counts at its price.
  • A yearly plan counts as a twelfth of its price per month.
  • One-time payments and setup fees don’t count.
  • Free trials don’t count until they convert.

Different tools draw the edges differently: some subtract discounts, some count past-due subscriptions, some don’t. When you share an MRR number, say how it was calculated.

Why does verified MRR matter?

Revenue is the one number in building in public that readers can’t check for themselves. A verified figure tells anyone reading that the number came from the payment provider, not from you. It also keeps leaderboards honest: if revenue sets a class or a rank, self-reported numbers would make the ranking meaningless.

If you share numbers publicly, see building in public: what to share and what to skip for what’s worth sharing and what isn’t.

What are the ways to share MRR?

From weakest to strongest:

Method What it proves
A number in a post Nothing beyond your word
A dashboard screenshot Little: screenshots are easy to edit
A screen share or live demo More, but only at that moment, and it shows everything on screen
Read-only access through a restricted key The number comes from Stripe, checked as often as the service runs

What is a Stripe restricted key?

A standard secret key (sk_) can do anything on your Stripe account. A restricted key (rk_) can only do what you allow: for each resource you choose None, Read or Write, and every permission starts at None. Stripe itself recommends restricted keys when you give a key to a third party.

For MRR, the service only needs to list your subscriptions. So the key needs Read on Subscriptions and None on everything else.

How do you create a read-only Stripe key?

  1. In the Stripe Dashboard, open the API keys page.
  2. Click Create restricted key. If Stripe offers preset permission sets, start with no permissions.
  3. Enter a key name you’ll recognize, such as the name of the service you’re giving it to.
  4. Set Subscriptions to Read. Leave every other permission at None.
  5. Click Create key and complete the verification Stripe asks for.
  6. Copy the key. In live mode it starts with rk_live_, and Stripe shows a key you created only once.
  7. Paste it where the service asks for it. Never paste a standard secret key into a third-party service.

To revoke access later, open the key’s menu on the same page and choose Expire key. Code using an expired key can no longer call the API.

How does LaunchGP Endurance use the key?

LaunchGP Endurance is a permanent race that every product joins after its first Grand Prix. Cars race in classes by verified MRR:

Class Verified MRR
Rookie Up to $100, or no verified key
GT Up to $1k
Prototype Up to $10k
Hypercar Over $10k

What happens with your key:

  • You save it in your product’s garage. We accept restricted keys only and refuse standard secret keys. We check it with Stripe as soon as you save it, so you see your class straight away.
  • The key is encrypted at rest, filtered from logs and only ever sent to Stripe.
  • Once a day, we list your active and past-due subscriptions, convert each to a monthly amount and add them up. Subscriptions priced in currencies other than USD are left out for now.
  • If Stripe refuses the key (for example because you expired it), your car drops to Rookie. If Stripe is down, your class stays as it was.
  • Your product page shows your class and your positions, not the exact figure.
  • You can remove the key from your garage at any time. Your car goes back to Rookie.

All classes race on the same track, each with its own podium, and the top 10 of each class have a dofollow link while they hold the spot. Money can’t buy a class: the class comes from your Stripe data, and nothing sold on the pricing page changes it.

What if you’re pre-revenue?

You don’t need a key to race. Without one, your car runs in Rookie, the class every product starts in until it verifies revenue. Add the key when you have subscriptions worth showing; your class updates as soon as the key is checked.

To get on the track in the first place, finish a Grand Prix. How to launch a SaaS without an audience walks through it.

FAQ

Is it safe to give a Stripe restricted key to a third party?

It’s much safer than a secret key, because the key can only do what you allowed. Give it only the read permission it needs, and expire it when you stop using the service.

Can a restricted key with Subscriptions read access move money?

No. With only Read on Subscriptions, the key can’t create charges, issue refunds or trigger payouts.

How do I calculate MRR from yearly plans?

Divide the yearly price by 12. A yearly plan billed once still counts as a twelfth of its price every month.

Does LaunchGP show my exact MRR?

No. Your product page shows your Endurance class and positions, not the figure.

What happens if I expire the key?

At the next check Stripe refuses it, and your car moves to Rookie. You can save a new key at any time.

Get on the grid.

Enter the next Grand Prix

More in Growth

GROWTH Oct 14, 2026 · 5 min

How to Keep Users After Launch Week Ends

How to keep users after launch: read the drop-off honestly, follow up with every signup, fix what blocked them, ship updates and stay visible after launch week.

Contact support

We reply by email, usually within one business day.