Show today’s Stripe revenue in your Mac menu bar

Launch day, a newsletter mention, a Product Hunt post: the number you want is what came in today. This meter adds up today’s successful charges, minus anything refunded, every minute.

It uses a restricted key that can read charges and nothing else, kept in your Keychain.

Recipe tested October 29, 2026 with Multimeter 1.1. Source: Script.

Preview: the Plant face and two alternatives, with sample values like the ones this recipe returns.

What you need

  • Multimeter for macOS 13 or later, $19.99 once.
  • The direct download version of Multimeter from this site (the Script source isn’t in the Mac App Store version).
  • A Stripe restricted key with read-only access: Stripe Dashboard, Developers, API keys, Create restricted key, then Read on Charges and None on everything else.
  • jq for picking numbers out of JSON. It comes with macOS 15 and later; on macOS 13 or 14 run brew install jq.

Set it up

  1. Save the restricted key (it starts with rk_live_) in your login Keychain, so it never sits in the command or a file. Run this in Terminal; it asks for the value and hides what you type.
    Terminal (once)
    security add-generic-password -U -a "$USER" -s stripe-read -w
  2. Try it in Terminal. It prints today’s total in your currency’s main unit:
    Command
    curl -s -m 8 -u "$(security find-generic-password -s stripe-read -w):" -G https://api.stripe.com/v1/charges -d limit=100 -d "created[gte]=$(date -v0H -v0M -v0S +%s)" | jq '[.data[] | select(.paid and .status == "succeeded") | .amount - .amount_refunded] | add // 0 | . / 100'
  3. Add a Script meter with the command, refreshing every minute.
  4. Set the range to 0 to a good day, unit $, and pick a face that rewards progress.

Multimeter settings

In Customize This Meter… (from the meter’s menu):

Settings for this meter
SettingValue
SourceScript
Commandthe curl … | jq line above
Refresh every1 minute
Range0 to a good day, like 500
AlertsOff, or High values at a goal for a notification
LabelTODAY
FaceXP Bar, Plant or LCD Readout

Tested: Run on October 29, 2026 on our live account with the key read from the Keychain: printed today’s total in under a second, and the same filter over the last 30 days printed 721.57.

Script meters need the direct download version of Multimeter from this site, which is the one on sale now. How commands run, the PATH they see and the 10 second limit are in the Script meters guide.

Limits

  • “Today” starts at midnight on your Mac. The command reads up to 100 charges; past 100 sales a day, use the balance transactions variation or add paging.
  • Amounts in other currencies are added as if they were your main one. Most single-currency businesses never notice.

Variations

Available balance

Key path available.0.amount (in cents), with the key given Read on Balance.

Command
curl -s -m 8 -u "$(security find-generic-password -s stripe-read -w):" https://api.stripe.com/v1/balance

New customers today

Swap charges for customers and print .data | length (Read on Customers).

Troubleshooting

What the meter says, why, and what to do
SymptomCauseFix
The script didn’t print a numberThe command failed or printed an error message instead.Run the exact command in Terminal. If it works there, check for tools that live outside the meter’s PATH and use their full path (which tool).
The script took longer than 10 secondsA slow network call. Multimeter stops scripts after 10 seconds.Keep the -m timeout on curl, and refresh less often.
Scripts need the version from multimeterapp.comThis copy of Multimeter came from the Mac App Store, which can’t run scripts.Use the direct download version, or run the command from cron or launchd and point a File meter at its output.
Prints 0 when you know there were salesThe key lacks read access to that resource, so Stripe answered with an error and jq added nothing.Run the curl part alone and read the error; give the key Read on the resource it names.

Questions

Can this key move money?

No. A restricted key with only Read on Charges can list charges and nothing else. Even if someone copied it, they could only read.

Is it safe to keep the token in the Keychain?

It is the safest place on a Mac for it: encrypted, unlocked with your login, and never written into the command, a dotfile or your shell history. The meter reads it with the security tool each time it runs.

Does this work in the Mac App Store version?

Script meters need the direct download version from multimeterapp.com, because the App Store sandbox doesn’t let apps run your commands. Web Address, File and Sent Value meters work in every version.

Related

Put it in your menu bar

$19.99 one-time. No subscription. Needs macOS 13 Ventura or later.