You don't know what your LLM bill is for.
Cost wraps your Anthropic, OpenAI, and Gemini clients, attributes every euro to a route or feature, and tells you which prompts to fix.
Free tier covers your first 100K events. No card needed. Source on GitHub →
Today
$4.82
+12% vs yesterday
Last 7 days
$34.91
$18 saved via downgrades
Top route
chat:reply
$18.20 · 52% of spend
Spend, last 24h
USD · UTC
By route
- chat:reply$18.20
- summary:thread$7.40
- classifier:intent$4.90
- embed:search$2.60
- other$2.20
Preview · seed data
One call. Three providers.
Wrap your client. That's the whole SDK.
Auto-detects Anthropic, OpenAI, and Gemini. Adds zero measurable latency. Tag every call with a route and Cost does the rest.
import Anthropic from "@anthropic-ai/sdk";
import { wrap } from "@botzone/cost-sdk";
const anthropic = wrap(new Anthropic(), {
apiKey: process.env.COST_API_KEY,
route: "chat:reply",
});
// Use it exactly like before. Cost attributes every call.
const response = await anthropic.messages.create({
model: "claude-sonnet-4-7",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello" }],
});How it works
Three steps. Two minutes.
- 01
Install
Pull the SDK into the service that calls Anthropic, OpenAI, or Gemini.
npm install @botzone/cost-sdk
- 02
Wrap your clients
One call. The SDK auto-detects the provider and forwards every request unchanged.
const ai = wrap(new Anthropic(), { route: "chat:reply" }); - 03
See where the money goes
Open the dashboard. Spend attributed to routes and features, with eval-gated downgrade suggestions ready to apply.
cost.botzone.ai/projects/myapp
The three pillars
Track. Attribute. Cut.
Per route attribution
Tag every call with a route or feature. The dashboard tells you which prompts are burning your budget.
Eval-gated downgrades
When a cheaper model could do the job, Cost replays your real traffic, judges with Claude Haiku, and only surfaces the swap after it passes.
Three SDKs, one ledger
Anthropic, OpenAI, Gemini. TypeScript and Python. One wrap call, every euro accounted for.