botzone.ai
Back to Blog
ProductAI CostsDeveloper Tools

Cost: prove a cheaper model is safe, then keep the saving

Stephen Keegan||6 min read

The advice everyone gives and nobody takes

Ask anyone how to cut an LLM bill and you get the same list. Use a smaller model where you can. Cache your prompts. Batch what is not urgent. Trim your context.

The advice is correct. Almost nobody acts on it. Not because engineers are lazy, but because every item on that list is a bet against quality, and none of them come with a way to settle the bet.

Swapping a production model for a cheaper one means telling your team that answers will probably be about as good. Probably is doing a lot of work in that sentence. If you are wrong, you find out through support tickets, and the person who suggested it owns the fallout. Set against a saving of a few thousand a month, the rational move is to leave it alone.

So the model stays where it is, and the bill grows.

Cost exists to remove the guess.

What it does

Cost wraps your Anthropic, OpenAI, and Gemini clients with a single call. From that point it does three things.

Attribute. Every call is tagged with a route or a feature. The dashboard tells you, in euros, which prompts are burning your budget. This is the part most tools stop at, and on its own it is genuinely useful, because the invoice from your provider is one number and answers no question anybody actually has.

Prove. When Cost spots a place where a cheaper model would probably do, it does not just recommend it. It shadow-runs the cheaper model against your real traffic and has an independent model grade every answer against the original.

Cut. You only see the switch once it has passed. The saving is yours.

How the proving works

This is the part worth writing down properly, because "we use AI to check the AI" is the kind of claim that deserves detail.

When a downgrade recommendation is created, a linked verification is created with it, in the same transaction. A runtime tick every five minutes replays the last 50 real events through the cheaper model. An independent judge, Claude Haiku 4.5, grades each pair on five dimensions: factual equivalence, instruction compliance, format match, completeness, and tool-use parity. Each is scored 1 to 5. Alongside that, five named critical-failure types are checked for explicitly.

Every comparison resolves to pass, marginal, or fail. Then the aggregate decides what you are allowed to see:

  • 95% pass rate and the recommendation is promoted. Apply is enabled.
  • 85% combined pass-and-marginal rate is the floor for the recommendation to surface at all. Below that it is marked failed and hidden from you entirely.
  • Any single critical-failure type above 5% caps the verdict at marginal no matter how good the pass rate looks. A high average is not allowed to hide a specific, repeated, serious failure.
  • A marginal recommendation appears with a needs-review chip and the Apply button disabled. You can still override it, and if you do, the decision is recorded as human-made.

    The design goal was that the dashboard should never show you a switch that quietly makes your product worse. Most of the machinery above exists to hide recommendations, not to surface them.

    What we deliberately do not claim

    A few honest limits, because this is a product post and those are the parts that usually go missing.

    The Python SDK is metadata-only today. It captures model, route, tokens, latency and cost exactly like the TypeScript one, but it does not capture bodies, and verify-downgrade needs bodies. So the proving step described above is a TypeScript feature right now. The Python SDK is real and published on PyPI; it just does the attribution half.

    Body capture is off by default, everywhere. By default the SDK sends metadata only: model, route, hashed user id, token counts, latency, cost, and a SHA-256 hash of the prompt. The user id is hashed inside the SDK, before anything leaves your process. Raw bodies are sent only when you explicitly pass captureBodies: true for a specific route, which is what powers verification. When you do opt in, they are retained 30 days on free and 90 on paid, then purged.

    We also do not have customer logos to show you. The trust bar on the site lists open-source SDKs, EU hosting in Dublin, metadata-only defaults, and a content-free audit trail, because those are things you can verify yourself today. Logos go up when pilots land, not before.

    The incentive question

    The sharpest question we get about Cost is a business-model one, and it is fair enough:

    If Cost cuts my spend, do I drop to a cheaper plan? Or are you quietly incentivised not to save me too much?

    No, and no. Pricing is banded on your average monthly AI spend, measured over your first two weeks. Your plan is then fixed for your 12-month term. We never move you down for succeeding, and every euro saved is yours to keep. We only re-baseline at renewal, where lower spend can only ever work in your favour.

    The alignment we wanted is simple: we make money when you keep us, not when your bill grows. A tool that profits from your inference spend rising is a tool you should not trust to reduce it.

    Free under €500 a month of AI spend, with no card. Paid plans start at €149.

    Start without installing anything

    Two things on the site need no account at all.

    The calculator prices a workload and shows its working. Every result carries the arithmetic in the same order a person would do it by hand, and it throws an error on an unknown model rather than silently pricing it at zero. It was built so that a stranger who got a cold email from us could re-derive the figure we quoted them.

    The free analysis takes a provider usage export as CSV and returns a written breakdown of where the money goes. No API keys, no account access, no card.

    There are also five free open-source Claude Agent Skills at /skills: spend teardown, prompt-caching advisor, context-bloat auditor, model-downgrade advisor, and batch-API advisor. They are the one-shot versions of what the product does continuously, they are on GitHub, and they are genuinely free.

    Where it is

    Beta, live, and dogfooded internally on Cole's Gemini calls.

    npm install @botzone/cost-sdk, or pip install botzone-cost. Two lines to wrap your clients.

    cost.botzone.ai

    Share