08 · Cost

What it cost to build

Every API call the project made is in the session transcripts on this machine. This page counts them. Token counts are exact. Dollar figures apply Anthropic's published API list prices to those counts; cache writes are billed at the 1-hour rate, the cache TTL Claude Code used in these sessions.

3.17 B
tokens processed, all sessions, agents and workflows
13.2 M
output tokens written by the models
22,480
API calls (assistant turns) after de-duplication
$4,974
at published API list prices, 1-hour cache writes (the TTL these sessions used)
147
background subagents launched by the Agent tool
1,103
agents inside 10 deep-research workflow runs
223
human prompts, 19.7 K characters typed in total

Prices used

Published Claude API list prices (platform.claude.com, pricing page, fetched 2026-09-03), in dollars per million tokens. Cache writes are billed at the 1-hour rate (2× input), the cache TTL Claude Code used in these sessions; billed at the 5-minute rate (1.25× input) instead, the total would be $4,280. Cache reads are 0.1× input on every model except Fable 5.1, where they are 0.025×.

ModelInputOutputCache write (1 h)Cache read
Claude Fable 5.1$10$50$20$0.25
Claude Fable 5$10$50$20$1.00
Claude Opus 5 / Opus 4.8$5$25$10$0.50
Claude Haiku 4.5$1$5$2$0.10
The user's Claude subscription is not billed per token; these figures are what the same usage would have cost on the API. Synthetic records (API errors, interrupts) carry zero usage. Web searches inside the deep-research workflows ($10 per 1,000 on the API) are not included; there were 899 of them, about $9.

Where the tokens went

cache readcache writeoutputinput, uncached
0.000.611.231.842.46Orchestrator|(main session) · cache read: 0.84Orchestrator|(main session) · cache write: 0.02Orchestrator|(main session) · output: 0.00Orchestrator|(main session) · input (uncached): 0.000.86Orchestrator(main session)Subagents|(Agent tool) · cache read: 2.12Subagents|(Agent tool) · cache write: 0.06Subagents|(Agent tool) · output: 0.01Subagents|(Agent tool) · input (uncached): 0.002.19Subagents(Agent tool)Workflow agents|(deep-research) · cache read: 0.10Workflow agents|(deep-research) · cache write: 0.02Workflow agents|(deep-research) · output: 0.00Workflow agents|(deep-research) · input (uncached): 0.000.12Workflow agents(deep-research)billions of tokens
Cache reads dominate volume, output dominates cost. Of 3.16 billion tokens, 96% were prompt-cache reads, re-read at a tenth (Fable 5.1: a fortieth) of the input price. The 13.2 million output tokens, the text and code actually written, are the largest line on the bill.
ScopeInputOutputCache writeCache readAPI callsCost
Orchestrator session314,3311,723,24317,983,364837,567,8291,870$930
Subagents1,190,7148,342,09564,046,0192,121,074,32113,924$3,489
Workflow agents2,625,3153,172,17817,487,79696,006,8686,686$556
Total4,130,36013,237,51699,517,1793,054,649,01822,480$4,974

By model

Three generations of model did the work. Fable 5 carried the first three weeks; Opus 4.8 carried the week the Fable credits were out (08-15 to 08-20, when the fog fix landed); Fable 5.1 carried the final week and the multi-core push.

ModelAPI callsOutput tokensCache-read tokensCost
claude-fable-515,1909,293,4002,151,927,954$3,647
claude-fable-5-12,9221,855,334498,112,871$936
claude-opus-4-84,1352,041,244398,920,926$385
claude-opus-5303,7821,756,856$5
claude-haiku-4-5-202510019143,7563,930,411$1

Spend by day

$0$314$627$941$1,2552026-08-11: $9408-112026-08-12: $608-122026-08-13: $39008-132026-08-14: $1,09108-14first race2026-08-15: $4108-152026-08-20: $26408-202026-08-21: $98908-21hardware + audio2026-08-22: $9008-222026-08-23: $008-232026-08-27: $76608-27fleet drop2026-08-28: $30008-282026-08-31: $008-312026-09-01: $15909-012026-09-02: $49609-02LOCKED-602026-09-03: $28809-03USD per day
Four days account for most of the spend. 08-14 (the boot-to-race sprint and the first fleet of eight), 08-21 (the loadblock breakthrough, first hardware run, the audio afternoon), 08-27 (the five-agent fleet drop) and 09-02 (the LOCKED-60 campaign). Every gap is a credit pause.
DayAPI callsHuman promptsSubagents startedWorkflow agentsOutput tokensCost
2026-08-1179463103489,513$94
2026-08-1220003,239$6
2026-08-131,471211601,130,543$390
2026-08-145,14438182052,249,336$1,091
2026-08-1560730103211,736$41
2026-08-202,741153301,444,641$264
2026-08-214,72446302983,302,928$989
2026-08-22334420173,665$90
2026-08-2332002,497$0
2026-08-272,83420111951,797,508$766
2026-08-288371150535,073$300
2026-08-312300228$0
2026-09-017966499432,375$159
2026-09-021,4652412100948,007$496
2026-09-0372624130516,227$288

Subagents

147 background agents were launched with the Agent tool (130 by the orchestrator, 17 by other agents), and 10 deep-research workflows spawned 1,103 short-lived search, fetch and verification agents. The table below is the twenty most expensive background agents; between them they are most of the subagent bill.

StartedAgentModelTurnsOutputCost
2026-08-14 05:09G: GPU profiling telemetryfable-5933115,761$210
2026-08-14 05:09S: stereo foundationfable-5928123,186$209
2026-08-28 04:28GPU vertex transform moonshotfable-5450192,565$156
2026-09-01 21:33Bridge translation cache leverfable-5-1149148,482$133
2026-08-27 19:31Time-trial init hangfable-5279153,831$132
2026-09-02 14:51Task A: texrect batching leverfable-5-174133,374$91
2026-08-27 16:02Race-exit transition glitch+slowfable-5253202,286$90
2026-08-27 18:07Bottom-screen touch menu v1fable-5208192,907$80
2026-09-02 22:24Task H: render thread on core 2fable-5-111567,509$79
2026-08-13 04:45M1 core: decomp compile + linkfable-5198157,303$76
2026-08-27 19:22Crowd grind round 2fable-5217120,622$75
2026-08-27 16:01Fix filelog OOM + leak auditfable-5264145,180$74
2026-08-27 06:21Traffic-tail grind: bridge + pipesyncfable-5200154,508$72
2026-08-21 16:56Why audio synthesis outputs zerosfable-5228142,891$68
2026-08-13 12:56M1 present: pixels to screenfable-5212131,839$67
2026-08-14 04:49C2: invisible track cull bugfable-5239122,167$67
2026-08-20 07:06Night emulator verify + sky fixopus-4-8491188,504$62
2026-08-14 12:20C3: salvage + finish track cullfable-5214154,302$60
2026-08-14 01:13V: race visual fixesfable-5139146,195$59
2026-08-14 02:57T: texture upload cachefable-5218113,078$57

The two 900-turn agents of 08-14 (GPU profiling telemetry and the stereo foundation) were left running through the first credit pause and each re-read a very large context hundreds of times. They are the clearest cost lesson of the project: a long-lived agent with a big context is expensive per turn, and an agent that has finished its brief should be stopped.

Tool calls

BashBash: 15,11115,111ReadRead: 2,1922,192WebFetchWebFetch: 1,9091,909EditEdit: 1,2821,282ToolSearchToolSearch: 1,0691,069StructuredOutputStructuredOutput: 1,0391,039WebSearchWebSearch: 900900WriteWrite: 203203AgentAgent: 147147MonitorMonitor: 118118TaskUpdateTaskUpdate: 101101TaskStopTaskStop: 5959
15,085 shell commands. The project was driven through Bash: builds, patches, emulator runs, log analysis, SD-card copies. 1,282 Edits and 196 Writes touched 462 distinct files. 333 shell commands contained git commit. 1,907 web fetches and 899 web searches belong almost entirely to the deep-research workflows.

Reconciling with what /usage and /stats show

The user's impression was that the project cost more than this page says. Three things explain the gap, and one real omission was checked and found small.

CheckFinding
Claude Code's own stats file counts every streamed record.Each assistant message is written to the transcript once per content block (2 to 5 records with the same message id). ~/.claude/stats-cache.json sums them all: its 08-13 Fable figure, 1,730,401, equals this census's un-deduplicated input+output sum for that day exactly. Priced that way the project reads as 5.94 B tokens and $7,961. The API bills per request, so the deduplicated 3.17 B tokens and $4,974 is the honest figure.
/usage shows plan utilisation, not dollars.The Fable weekly allowance was exhausted three times (08-14, 08-22, 08-28). Reaching a cap says nothing about the dollar value of the tokens under it.
Other projects shared the same allowance.Between 08-15 and 08-28 the same account ran Opus sessions on five other projects (a Unity game, an image folder, three code repos: 447 prompts in the history file). Their usage sits in the same /usage bars and the same stats file, and none of it is in this census.
Missing transcripts.The prompt history lists nine G-Diffuser sessions; four are on disk. The five absent ones are each a single /resume that went nowhere.
Calls the transcript does not log.Four context compactions (contexts of 0.5–1.0 M tokens each, about $4 in total at Fable rates), session-title and tool-summary side calls on Haiku (cents), and 899 web searches inside the research workflows (about $9 at API rates). Retries after 529 overloads are not billed.

What a human team would have cost

A rough comparison, not a quote. The scope a team would face is the scope this project faced: a new fixed-function GPU backend, a 32-bit sweep across three codebases, a ROM-side audio driver port, an ARM11 performance grind to native 60 on a software display-list interpreter, stereo, a multi-core render pipeline, lifecycle, menus and packaging. About 20,000 lines of low-level code plus the research and the hardware loop.

Reference points

Estimate to reach this state

TeamCalendarEffortCost at US rates
Two senior engineers (graphics/runtime, systems/audio/perf) plus part-time QA on hardware5–8 months12–18 person-months$250k–$450k
One very senior generalist, full time9–14 months9–14 person-months$180k–$300k
One skilled hobbyist, evenings and weekends12–24 months1,000–1,500 hours$0 paid, a year of unpaid labour

Basis: $150–200 per hour contractor rates or $20–25k per month loaded per senior engineer; low-level port work lands at 100–200 shipped lines per engineer-day once debugging and hardware loops are counted, which puts 20,000 lines at six or more person-months before the performance grind. A human team would spend its time in the same places the agents did (the 32-bit address-space heuristics, the fog LUT, the HUD backstop, the audio driver, then months of profiler-driven grinding), would very likely have shipped 30 Hz plus interpolation first and deferred stereo, and might never have attempted the core-2 render thread.

Side by side

This projectHuman team, mid estimate
Calendar24 days, 15 activeabout 6 months
Cost$4,974 API-equivalentabout $350k
Human timeone person, about 15 days of direction and SD-card loops, no code writtena full-time team
Polish deliveredplayable, 60 fps median, stereo, lifecycle; known backlog (tunnel roof, boot-audio underrun, LOD thresholds)a QA pass and the backlog closed
Ratio: roughly 70× cheaper and 7–8× faster, with the caveats that a professional team ships more polish and that the hobbyist route is free if the year is not counted.

Cost per outcome

Some ways to read the bottom line, at published prices with 1-hour cache writes:

MeasureValue
Per human prompt$22
Per active day (15 days)$332
Per commit touching the 3DS port (250)$20
Per line of port code, patches included (25,009 lines)$0.20
Per fps of median gained on hardware (from ~12–20 in the first emulator race to 59.6)$114
For scale: a single experienced console-port engineer at a modest contractor rate would bill more than the whole project in its first week. The point is not that the machine was cheap. It is that the machine was cheap enough to try five ideas and shelve three of them on evidence.