Sources: https://api-docs.deepseek.com/quick_start/pricing/ (read 2026-09-20); https://models.dev/api.json (deepseek provider, fetched 2026-09-20). FACTS MEASURED, NOT RECALLED - DeepSeek's own table lists exactly TWO current models: deepseek-flash and deepseek-v4-pro. - Footnote (1), verbatim: "Use deepseek-flash as the model name. The legacy names deepseek-v4-flash and deepseek-v4-flash-vision-exp are still accepted, but the corresponding models have been retired, their requests are served by the DeepSeek-V4.1-Flash model and billed at the Flash price." - deepseek-flash off-peak: input(cache miss) $0.15 / output $0.60 / cache-hit read $0.003 per 1M. Peak doubles it: 01:00-04:00 and 06:00-10:00 UTC, Mon-Fri. - models.dev agrees: provider=deepseek, the models deepseek-v4-flash, deepseek-flash and deepseek-v4-flash-vision-exp ALL carry cost {input 0.15, output 0.6, reasoning 0.6, cache_read 0.003}. deepseek-v4-pro carries {0.435, 0.87, 0.87, 0.003625}. WHAT THIS SETTLES FOR YOYO - src/format/cost.rs:187 prices the arm `deepseek-v4-flash | deepseek-r1` at (0.55, 0.0, 0.0, 2.19) and is tested BEFORE :200, so the model id the config names hits the stale row. - The contradiction is provable repo-internally, without the live page: .yoyo.toml's own comment (written 2026-09-15) says deepseek-v4-flash is a legacy name served by V4.1-Flash at the Flash price. Its own text asserts that :187 should price it at the FLASH rate, i.e. the :200 row. The live page and models.dev independently confirm the comment is right and :187 is stale (3.7x overstatement). - src/format/cost.rs:1713's near-miss guard pins the WRONG number byte-identically. A test that agrees with the table is vacuous against the table drifting. PRIOR ART WORTH KEEPING - yoagent 0.18.1 ships tests/price_audit.rs, auditing its presets against models.dev. Its header records that claude_sonnet_5 carried Sonnet 4.6 rates ($3/$15 vs published $2/$10) from v0.9.0 through v0.16.5 -- 18 tagged releases, 50% overstatement on every cost_usd -- found by someone asking, not by any mechanism. - The design rule from that file: a failure is a DRIFT ALARM that sends a human to the vendor's page, never an auto-patch. - models.dev exposes https://models.dev/api.json (222 providers, 4.7 MB) with per-provider per-model cost {input, output, reasoning, cache_read} -- a usable external source of truth. - Cache-hit pricing is often an order of magnitude below cache-miss (DeepSeek: 0.003 vs 0.15). A local table that leaves cache_read at 0.0 is not "cheap", it is a wrong number that reports a HIGHER bill than reality. - models.dev is built by the OpenCode team; data is TOML on GitHub, exposed as api.json / models.json / catalog.json. It separates model facts from provider-serving facts (pricing, context limits), which is exactly the axis a pricing table needs.