Spender Spender
Menu bar · macOS

Every LLM API bill, in one menu bar panel.

Pay for several model APIs out of your own pocket and your spend lives in a different console for each one. Spender reads it straight from OpenAI, Anthropic, DeepSeek, xAI and the rest — no account, no backend, keys in the macOS Keychain.

OpenAI Anthropic DeepSeek Kimi Qwen Mistral AI OpenRouter xAI
Watch for the first release

macOS 14 or later · free · open source · MIT

Spender menu bar panel showing today's tracked spend across three providers
Official
Estimated

Where the number came from

Official

A cost figure returned by the provider's own billing API. OpenAI, Anthropic and xAI report cost; OpenAI and Anthropic add tokens and a model breakdown, xAI adds models. Cost — not balance.

Estimated

Derived, and labelled as such. DeepSeek publishes no cost history, so Spender computes spend from saved balance decreases — and says so on the card.

Unavailable

No report, no number. A metric a provider does not expose is left blank — never rounded down to $0.00.

Calibrated by you

No provider reports a remaining balance for OpenAI or Anthropic. You enter it once from Billing, and Spender deducts official spend from your number — not its own guess.

The same thirty days

A missing report is not a zero.

A typical spend dashboard

Total spend

$78.21

Where it came from
Reported or inferred
Providers that said nothing

One confident figure. No way to tell which part a provider actually reported, which part was inferred, and which provider said nothing at all.

Spender

Official $71.64
Estimated $6.57
Tracked spend $78.21

The same total, taken apart. $71.64 came from OpenAI and Anthropic billing APIs. $6.57 is DeepSeek, derived from balance decreases because DeepSeek publishes no cost history — and it never joins the official figure.

DeepSeek card expanded, showing an estimated period spend and how it was calculated
The idea

It knows what it doesn't know.

Every dashboard promises one clean total. To print it, they have to invent the parts nobody reports.

Spender refuses. Where the number is derived it says estimated, shows the method in one line, and keeps it out of the official total. You are the kind of person who knows the difference between a zero and a missing value. So is your spend tracker.

Thirty days

The source travels with the number.

Per-provider totals carry their own badge, so a month's spend never blends official reports with estimates behind a single figure.

The daily chart is drawn from the same buckets — no smoothing, no backfill of days a provider never reported.

Thirty day view with Official and Estimated badges beside each provider and a daily spend chart
Providers

Every provider, and exactly what it will tell you.

Billing APIs differ wildly. Rather than paper over that, Spender is explicit about what it can read from each connection.

OpenAI Official

Cost, tokens and model breakdown

Anthropic Official

Cost, tokens and model breakdown

DeepSeek Estimated

Balance, plus spend derived from balance decreases

xAI · Grok Official

Prepaid balance, usage and model breakdown

Kimi Official

Balance only

Qwen Official

Key validation; balance and billing only with read-only BSS credentials

Mistral AI Official

Remaining monthly spending limit

OpenRouter Official

Remaining credits

Gemini and Perplexity are hidden on purpose: an ordinary API key gives no account-wide spend report, and key validation is not billing integration.

Three of the fourteen states a card can report

Up to date

The latest provider data is available.

Incomplete report

The provider returned only part of the requested report.

Not connected

Connect this provider to load its available metrics.

Wording taken from the app itself — these are the strings a card actually shows.

Native SwiftUI

A fixed 420x640 panel that drops out of the menu bar — not a browser in a window. Launches at login, refreshes in the background, and retains the last good snapshot rather than blanking the card.

No account, no backend

There is no Spender server to sign up for and no credential proxy in the middle. The only requests it makes are to the provider APIs you connected yourself, restricted to declared HTTPS origins.

Keys in the Keychain

An OpenAI Organization Admin key, an Anthropic Console Admin key, a team-scoped xAI Management key — the narrowest read-only credential each provider supports, held in the macOS Keychain. Never your inference keys.

Put the number in your menu bar.

macOS 14 or later · free · open source · MIT

Watch for the first release