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 generate30 developers on the board · 614B tokens · $811,907 equiv. cost
The board
opt-inPublic 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.
| rank | developer | agent mix | tokens | equiv. cost | streak |
|---|---|---|---|---|---|
| 1 | 364B | $660,707 | 0d | ||
| 2 | 127B | $67,325 | 11d | ||
| 3 | 27.6B | $16,426 | 20d | ||
| 4 | 14.8B | $11,162 | 19d | ||
| 5 | 12.6B | $8,657 | 29d | ||
| 6 | 9.85B | $6,235 | 0d | ||
| 7 | 8.53B | $6,432 | 0d | ||
| 8 | 8.27B | $5,647 | 0d | ||
| 9 | 6.64B | $3,935 | 16d | ||
| 10 | 3.96B | $3,272 | 4d |
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.
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.
[](https://tokenchit.app/u/your-handle)<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.
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.
| tier | method | proves | does not prove |
|---|---|---|---|
| ○ cli · self-reported | one-shot upload of a locally parsed summary | The 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 verified | GitHub device flow, then an API key bound to that account | The 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.
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.
Year in review
tokenchit recap renders this as a second committable SVG. Same data, no card constraints.
| agent | share | tokens | cost |
|---|---|---|---|
| claude-code | 58% | 2.46B | $742.10 |
| codex | 21% | 890M | $268.40 |
| opencode | 21% | 902M | — |
Peak block: Tue–Thu, 14:00–19:00 local. Derived from log timestamps only.