macOS menubar · open source · validated against ccusage

Your AI coding plan is earning you money. See exactly how much.

Tokenholic reads your local usage logs and prices every token at what the API would have charged. Subtract your monthly subscription and the difference sits live in your menubar, updating as you code.

GPL-3.0 licensed· macOS 14+· universal (Intel + Apple Silicon)· $0 — free forever
Tokenholic — this billing cycle
NET EARNINGS THIS CYCLE
+$438.20
API-equivalent value of your tokens, minus what you actually paid · ▲ on track
Claude Code — tokens at API rates+$391.40
Codex — tokens at API rates+$66.80
Your subscriptions this cycle−$20.00
Net earnings+$438.20
Daily value, this cycle — illustrative
Claude Code validated Codex supported Cursor planned Pricing via LiteLLM

From raw session logs to a number you can trust

Same data ccusage reads, same price table, same per-model math. The pipeline runs locally and reconciles to the cent.

01 · Collect

Read local logs

Tails ~/.claude/projects and ~/.codex/sessions with byte-offset incremental reads. New tools drop in behind one protocol.

02 · Normalize

Dedup & clean

Drops synthetic records and de-duplicates on message and request IDs, so nothing is double counted.

03 · Price

Exact API rates

Looks up every model in the live LiteLLM table. The 5m and 1h prompt-cache tiers are priced separately, matching Anthropic's billing.

04 · Earn

Cycle math

API-equivalent value minus your plan price, per tool and blended, across your billing cycle, with a daily series.

Built like the app it measures: precise, local, fast

No dashboards to log into, no telemetry to opt out of. It lives in the menubar and updates the moment a session writes to disk.

◆ ACCURACY

Reconciled to ccusage, to the cent

Tokenholic isn't an estimate. It uses the same LiteLLM price table as ccusage, keyed by exact model id, fetched live and cached for 24 hours with an embedded offline fallback. Run --dump to print a full per-model breakdown and cross-check any number yourself.

.build/release/Tokenholic --dump
# per-model breakdown (cross-check vs ccusage)
claude-sonnet-4   in   1.42M  $  4.26
claude-sonnet-4   out  318K   $  4.77
cache-write-5m    2.1M        $  7.88
cache-read        9.8M        $  2.94
gpt-5-codex       out  402K   $  6.03
─────────────────────────────
cycle value            $391.40
subscription           $ 20.00
net earnings           +$371.40
▲ LIVE

Always-on menubar number

FSEvents triggers an incremental rescan the instant a session writes; a 60-second timer refreshes the time-based windows. Click for per-tool cards, a daily sparkline, and your last 5 hours of value.

⌥ NATIVE

A real macOS agent

Written in Swift 6 as a menubar agent with no Dock icon. Universal binary for Intel and Apple Silicon, ad-hoc or Developer-ID signed and notarized.

⛁ PRIVATE BY DEFAULT

Your logs never leave the Mac

  • All parsing and pricing happens on-device.
  • Optional sign-in syncs only a tiny per-device summary, not your prompts.
  • Supabase Row-Level Security scopes every user to their own data.
⎇ SYNC

One total across every device

  • Sign in with Google or GitHub to combine all your Macs.
  • Each device aggregates the rest; your subscription is counted once.
  • The only key that ships is the anon key, which can't read anyone else.

Find out what you're actually getting for $20.

Build it from source or grab the signed DMG. macOS 14+, universal, free under GPL-3.0.