open source · MIT★ star it on GitHubfound a bug, or want an agent supported?open an issuebuilt in the open, receipts included
skip to content
tokenchitv0.7.0 · MIT
no hosted endpointparsed locallyno prompts sent

Receipts for
your robots.

tokenchit reads your local Claude Code, Codex and OpenCode logs and renders one embeddable card straight into your repo. The card is a file you commit, not a URL you depend on — nothing to rate-limit, nothing to go down, and it keeps working if this site does not.

$ npx -y @tokenchit/cli@latest generate

30 developers on the board · 614B tokens · $811,907 equiv. cost

live preview
@Parth080
TOKENS
3.96B
EQUIV. COST
$3,272
STREAK
4d
claude-code 98%codex 2%
[ 01 ]

The board

opt-in

Public ranking of developers who chose to publish. Run tokenchit publish and you are on it. Stop publishing and your row goes stale, then falls out of the window on its own.

Top developers by tokens
rankdeveloperagent mixtokensequiv. coststreak
1@bucharitesh364B$660,7070d
2@Rupam-M127B$67,32511d
3@VinayakRai527.6B$16,42620d
4@pabssen114.8B$11,16219d
5@iyashjayesh12.6B$8,65729d
6@NVJKKartik9.85B$6,2350d
7@crazyparadox8.53B$6,4320d
8@aarsh-nanonets8.27B$5,6470d
9@manishreddy1236.64B$3,93516d
10@Parth0803.96B$3,2724d

Rank is total tokens over the selected window; cost and agent mix cover the same window. Streak is the current run of active days, which is not a windowed figure. A cli badge means the numbers were self-reported without a GitHub sign-in.

[ 02 ]

The card, up close

SVG from the embed endpoint, shown at actual size. Default is 495 × 195; layout=compact is 340 wide so two cards fit on one README line. Theme follows GitHub's dark mode via a media query. Every card carries the timestamp of its last sync, because the endpoint caches for four hours.

variant / light
@Parth080TOKENS3.96BEQUIV. COST$3,272STREAK4dclaude-code 98%codex 2%TOKENCHIT.APPSYNCED 2H AGO
variant / dark
@Parth080TOKENS3.96BEQUIV. COST$3,272STREAK4dclaude-code 98%codex 2%TOKENCHIT.APPSYNCED 2H AGO
layout=compact · 340px
@Parth080TOKENS3.96BEQUIV. COST$3,272STREAK4dTOKENCHIT.APPSYNCED 2H AGO
query options
layoutdefaultdefault (495px) or compact (340px)
themeautoauto follows GitHub dark mode; force light or dark
agentsallcomma-separated allowlist, e.g. claude-code,codex
hidedrop any of spend, streak, mix from the card
cache4hclamped 4h–24h, same as the rest of the genre
markdown
[![tokenchit — @your-handle AI coding agent usage](https://tokenchit.app/api/card/your-handle.svg)](https://tokenchit.app/u/your-handle)
html · two cards on one line
<img height="195" src="…/card/your-handle.svg"> <img height="195" src="…/card/your-handle.svg?layout=compact">

Markdown will not place two images on one line. The HTML form is the only way to sit cards side by side in a README, which is why the compact width exists.

Equiv. cost is not what you paid. It is what these tokens would cost at list API rates. Most agent usage runs under a subscription where no per-token charge ever happens, and models with no public price — bundled or self-hosted ones — are counted in the token total but left out of the figure.

[ 03 ]

Two different marks

The lime ✓ GITHUB mark means the account is real and the handle is theirs. It says nothing about the numbers. That is what the tier below is for.

How a row on the board is verified, and what each mark does and does not prove
tiermethodprovesdoes not prove
○ cli · self-reportedone-shot upload of a locally parsed summaryThe file was produced by the CLI on some machine, at the stated time.Nothing about the numbers. Logs can be edited before parsing. Treat as a claim.
✓ github verifiedGitHub device flow, then an API key bound to that accountThe handle on the row belongs to the GitHub account that authorised it. Nobody else can publish under it.Anything about the figures. It is an identity check, not an audit — the numbers are still self-reported.

Not yet: signed daily deltas would prove the numbers arrived in order and were never edited after the fact, and a read-only provider analytics API would match them against real billing records. Neither is built, so neither is claimed — and neither would fix the ceiling below.

Ceiling: no tier distinguishes tokens spent on work from tokens spent on nothing. The card measures usage, not output.

[ 04 ]

Enforced by the test suite

Not a policy page. These are real tests in packages/cli/test/privacy.test.js, run on every push. Each one fails if the guarantee it names stops holding.

privacy.test.js
payload.noContentno prompt, reply, branch or file content survives into an uploaded payload44ms
paths.absentno filesystem path is collected at all — not hashed, not truncated, absent35ms
dryrun.exact--dry-run prints the byte-identical body that a real publish puts on the wire90ms
net.isolatedno source file outside src/net.ts can open a socket7ms
payload.noContent.everyAdapterthe same guarantee proved for Codex and OpenCode, not Claude Code alone51ms
5 passing (227ms) · 0 failing
[ 05 ]

Year in review

tokenchit recap renders this as a second committable SVG. Same data, no card constraints.

total tokens
4.24B
equiv. api cost
$1,284.60
top model
claude-sonnet-4-5
longest streak
63d
per-agent breakdown
agentsharetokenscost
claude-code
58%
2.46B$742.10
codex
21%
890M$268.40
opencode
21%
902M
activity by day and hourlessmore
MON
712M
TUE
738M
WED
770M
THU
725M
FRI
747M
SAT
265M
SUN
283M
0003060912151821
day total

Peak block: Tue–Thu, 14:00–19:00 local. Derived from log timestamps only.

Who is burning the most?

Ranked by tokens, from developers who chose to publish. The two windows disagree on purpose — one rewards the last month, the other the whole history.

Last 30 days

All time

Top 8 of each. A means the GitHub identity was proved; everything else is self-reported.

See the full board →