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:
- issue a refund, or move money anywhere
- create, modify or cancel a subscription
- read full card numbers or bank account details
- create further API keys
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
- Multi-currency is summed as USD without conversion. If you charge in more than one currency, treat the total as indicative rather than exact.
- Connect platforms are not modelled — FRGMNT reports the account the key belongs to.
- Data refreshes on a 60-second poll while the app is open, plus pull-to-refresh.
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
- How to create a read-only Stripe API keyStep-by-step: create a Stripe restricted key that can read reporting data but cannot move money, refund charge…
- Stripe key permissions for reportingThe exact Stripe restricted key permissions a revenue dashboard needs, what each one unlocks, and what to leav…
- Stripe and App Store revenue in one dashboardSell a web SaaS on Stripe and an iOS subscription through Apple? Here's how to get one combined revenue figure…