Stripe MRR tracking on your iPhone

Updated 2026-08-04

Stripe is the integration FRGMNT does most completely. It contributes to every metric in the app: True MRR, today's cash, and the live ledger.

What FRGMNT reads from Stripe

True MRR is built from your active subscriptions. Each one is resolved to its price and billing interval, then normalised to a monthly figure — an annual plan divides by twelve, a weekly plan multiplies by roughly 4.33. Only active subscriptions count. Trialling, past-due and cancelled subscriptions are excluded, because counting them tells you what you hoped to earn.

Today's cash comes from balance transactions rather than charges, which matters more than it sounds. A charge tells you what a customer was billed. A balance transaction tells you what actually landed, after Stripe's fee and after refunds. FRGMNT reports gross, refunds, fees and net separately so you can see the difference.

The ledger is a live feed of those same transactions, newest first, so you can watch money arrive rather than refresh a report.

The key you need

FRGMNT asks for a restricted key — one that starts with rk_live_, not the secret key that starts with sk_live_. Restricted keys are Stripe's mechanism for granting narrow, read-only access, and they are the right tool for anything that only needs to read reporting data.

Read permissions required:

Resource Why
Subscriptions The basis of True MRR
Prices / Products To resolve what each subscription is worth per interval
Balance transactions Today's net cash, fees and refunds
Charges Transaction detail in the ledger

Everything else can be set to None. Step-by-step instructions with the exact dashboard path are in how to create a read-only Stripe API key, and the permission-by-permission rationale is in Stripe restricted key permissions for reporting.

What the key cannot do

This is the part worth being precise about, because "give an app your Stripe key" sounds alarming and should. A restricted read-only key cannot:

The worst outcome from a leaked read-only key is that someone learns your revenue. That is not nothing — but it is a different category of risk from a key that can move funds. If a key is ever exposed you can revoke it instantly from the Stripe dashboard; see how to revoke a leaked Stripe key.

Where the key lives

In your device's Keychain, via iOS secure storage. It is used to call api.stripe.com directly from the phone. It is not synced, not uploaded, and not held on any FRGMNT server — there is no FRGMNT server. You can wipe every stored key from the Vault at any time.

Known limitations

Stripe alongside everything else

Most people who need FRGMNT don't only use Stripe — that's the point of it. If you also ship an iOS app or sell one-off products, see Stripe + App Store, Stripe + Gumroad or Stripe + Lemon Squeezy.

Frequently asked

What Stripe key does FRGMNT need?

A restricted key starting with rk_live_ with read permissions on subscriptions, prices, charges and balance transactions. It cannot issue refunds or move funds.

Why doesn't my FRGMNT MRR match the number in my Stripe dashboard?

Stripe's headline figures are usually gross volume for a period, not interval-normalised recurring revenue. FRGMNT converts annual and weekly plans to their monthly equivalent before summing, which typically produces a lower and more accurate MRR.

Does FRGMNT store my Stripe data?

No. There is no backend database. Your device calls the Stripe API directly and caches the last successful response locally so the app still shows something when offline.

Read next