⚡ New — Kimi K3 is live: bring your own Moonshot key →

← Blog · Part 2 of 2 — agentic

How Kimi K3 became the cheapest coding agent

In Part 1 the cheapest token wasn't the cheapest answer — Kimi K3's low price was eaten by its verbosity, and terse GPT-5.6 Sol won on cost-per-correct. But nobody ships single-turn. Put the same three models inside a real coding agent and the ranking flips: Kimi becomes the cheapest of the three. Here's why.

Realized cost per task inside Claude Code — Kimi K3 ₹10.87, GPT-5.6 Sol ₹19.37, Claude Fable 5 ₹43.11 — each collapsing from a much higher cache-cold ceiling once prompt caching is counted.

An agent is a different economic animal

An agent re-sends its whole conversation every turn. Turn 1 is the system prompt, tools and your request; turn 2 is all of that plus turn 1's tool call and result; by turn 20 each request carries tens of thousands of tokens of accumulated context — and carries them again on turn 21. Left unmanaged this is quadratic, and it's well documented: Vantage measured a real coding session at a ~25:1 input-to-output ratio with input responsible for ~85% of the bill, and an academic accounting finds agent tasks burn "10–100× more tokens than chat." The lever that tames it is prompt caching — because turn N's context is an exact prefix of turn N+1's, providers cache it and charge a fraction next time. How big a fraction is the whole story.

The trap: the first number you compute is wrong

The naive tally — sum input + output tokens per turn at list price — is wrong, and wrong asymmetrically. In an agent loop the vast majority of input tokens are cache reads: on a repeated ~28k-token prefix we measured 99.7% cache hits on Kimi and 99.99% on Sol, and 69–86% of a whole task's input was cache-read. Cache reads bill at roughly 0.1× the input rate, so pricing them at full rate overstates cost ~10×. Miss the cache buckets on the native Anthropic path and you undercount by 17× (our first pass read Fable at ₹12/task when its true input was ~186k tokens, not ~10k). The honest model has four components, each with its own rate:

ComponentWhat it isBilled at
Uncached inputgenuinely new tokens1.0× input
Cache readre-sent, already cached0.1× input
Cache writenew tokens being cached1.25× input / 0×
Outputwhat the model generates1.0× output

We're not the first to find this. A 2026 paper that essentially ran our experiment measured "≈117k cache-read tokens and ≈12k cache-creation tokens against only ≈715 generated tokens," with cache accounting for "≈87% of the four-component cost." Our Fable run: ~129k read, ~47k write, ~554 output. Same shape, arrived at independently.

The result: cheapest token, cheapest agent

Three models driven by Claude Code over deterministic tasks (bugfix / feature / refactor / no-false-refusal), graded by exit code plus a tamper-guarded test, every call through BharatRouter. Cost is the realized four-component bill; BYOK debits ₹0, so we compute it ourselves.

ModelRealized ₹/taskCache-coldCollapseCache-readMedian
Kimi K3 open-weight₹10.87₹29.40−63%69%39s
GPT-5.6 Sol proprietary₹19.37₹44.27−56%69%18s
Claude Fable 5 proprietary₹43.11₹158.39−73%83%27s

All three solved 16/16. Kimi K3 is the cheapest of the three at ₹10.87/task — the exact reversal of Part 1. Single-turn, Kimi's verbosity sank it; but an agent's cost is dominated by input and cache, and output is a rounding error (a few hundred tokens per turn). So the verbosity that lost Part 1 barely registers, while Kimi's low input/cache rate wins outright. The metric flipped because the workload flipped.

Why the collapse is uneven — the write premium

Caching cuts realized cost 56–73% below the cache-cold ceiling for all three. What remains tracks base rates plus a cache-write premium that only two of them pay: Anthropic and GPT-5.6 bill cache writes at 1.25× input; Moonshot doesn't. It's visible in the token mix — Kimi has zero cache-write, while Sol and Fable each carry a write band.

Model avg tokens/taskUncachedCache readCache writeOutput
Kimi K328,70071,5000383
GPT-5.6 Sol~064,90026,100204
Claude Fable 510,700130,00028,000460

The caveat that keeps this honest: the write premium is a fixed cost that amortizes over reads, and reads only stay cheap while the prefix survives its cache TTL. Our tasks are short. One Fable bugfix stalled to 16 minutes, its 5-minute Anthropic cache expired mid-task, and the re-write pushed it to ₹121 — 2.6× a normal run (we re-ran it clean at ₹45.70). A long session that keeps its cache warm amortizes the premium; one that idles past the TTL re-pays it.

Is it just us saying this?

No — which matters for a benchmark. The mechanism is in the primary docs (Anthropic: read 0.1×, write 1.25×; OpenAI: 1.25× writes on GPT-5.6+). Fleet telemetry puts Claude Code at a 92% cache-hit rate, an effective ~$0.30/M vs $3.00 list. Independent measurement reports 41–80% cost savings from caching. The Holistic Agent Leaderboard shows the harness alone can swing results 22 points on identical weights — which is why we quote a model's agentic cost with its harness, never in the abstract. What this post adds is the measurement done neutrally — one gateway, three flagships including an open-weight model, deterministically graded, with the cache math shown in full.

One precision note: the ~0.1× read rate holds for Anthropic, Moonshot and OpenAI's GPT-5.6 tier — but OpenAI's standard auto-cache is 50%, not 90%. And caching needs a byte-identical prefix; a dynamic timestamp in a system prompt, or a >5-minute idle gap, can silently break it and spike cost.

Reproduce it

The reason we can measure this cleanly is that BharatRouter reports the full four-component token breakdown — uncached input, cache read, cache write, output — on every route, including BYOK. That's the number that actually sets an agent's bill, and it's usually invisible on a pricing page. The harness is deterministic: bring a br- key, point it at the tasks, and your numbers should match ours (modulo cache-hit timing, which we report against a stable cache-cold ceiling).

Reproduce it: harness, dated prices and raw per-task data → github.com/bharatrouter/br-model-eval →

Related reading

GPT, Claude and Kimi are trademarks of OpenAI, Anthropic and Moonshot AI respectively — BharatRouter is not affiliated. Grading is deterministic; ₹ figures are computed from realized-route, four-component token counts (BYOK bills ₹0 on BR). Realized cost reflects a measured run; cache-hit rates vary with timing, so we report the stable cache-cold ceiling alongside.