metermaid finds where AI agent money actually goes, prices what it wasted, and hands you the fix. Start with a free audit that never leaves your machine.
gateway/policies.yaml.metermaid produces this split for every task type from your own billing data and traces. The proportions here are Claude 3.7 Sonnet on SWE-agent across 45,000 public runs. Yours will differ, and that difference is where the money is.
Spend on runs that resolved the task.
Loops, blind retries, oversized tool output re-sent every step. Cheap to find, cheap to fix, and the first thing we show you.
Hit a cap, exhausted context, cut off mid-call. Produced nothing.
Long runs where a dollar buys a tenth of what the first dollar bought.
What 341,054 public agent runs, from Llama to Claude, say about where the money goes. Public, reproducible, every retraction included.
of spend goes to the longest fifth of runs under cached pricing (51% without). Those runs resolve at a third the rate of the shortest fifth. Every model, every framework.
of modern agent runs loop or blindly retry. The classic failure is solved. In 2024-era open models it was 14–31%.
of runs dragging oversized tool output, same models, same tasks: bash-only scaffold vs SWE-agent. The scaffold leaks more than the model does.
Claude 3.7 Sonnet, 14,374 runs. The same shape appears for Claude 3.5, GPT-4o, Qwen3-Coder, Llama, and both Open-SWE models.
Success rates fall steadily as runs get longer, while every step costs more than the last because the context grows. By the last fifth of a run, a dollar buys a tenth to a fortieth of what the first dollar bought.
Most teams set a hard step cap or none. Almost none measures the trade-off. That measurement is the control metermaid sells: step and cost budgets by task type, set from your own curve, with the resolve trade-off shown in the same table.
In dollars, per task type, reconciled to the invoice.
Read-only admin keys for Anthropic, OpenAI, Bedrock, Vertex, and Azure. Traces over OpenTelemetry, imported from Langfuse or LangSmith, or straight from Claude Code. Outcomes from GitHub, Slack, or a webhook. Or run the CLI and connect nothing.
Cost per resolved task by agent, team, and task type. Your resolve-by-length curve. Failed-run cost. Where oversized tool output is being re-sent. Spend nobody owns.
Step and cost budgets from your own curve. Tool-output truncation. Cap calibration. Prompt caching, batch pricing, model tier by task type. Each one is a pull request or a config change you review and merge.
Before and after on invoiced cost and resolved tasks, method published, confounders flagged. The number finance puts in the board pack.
The audit and pipeline are open source and stay that way. You pay for continuity, the join across providers and traces, governance, action, and real time.
| Free$0 | Finance1.5% of spend under management, $1k/mo floor | EngineeringFinance + $0.02 per run above 10k/mo | Control20% of verified savings, capped in year one | Enterprisefrom $100k/yr | |
|---|---|---|---|---|---|
| Open-source CLI and pipeline | Yes | Yes | Yes | Yes | Yes |
| Historical analysis | One, up to 10k runs | Spend only | Continuous | Continuous | Continuous |
| Connected billing, allocation to owners | – | Yes | Yes | Yes | Yes |
| Budgets, alerts, chargeback, board pack | – | Yes | Yes | Yes | Yes |
| Trace ingest, cost per resolved task, resolve-by-length curves | – | – | Yes | Yes | Yes |
| Fix pull requests with trade-offs | – | – | Yes | Yes | Yes |
| Live step and cost budgets, stop and escalate decisions | – | – | – | Yes | Yes |
| Your cloud, SSO and SCIM, audit log, data residency | – | – | – | – | Yes |
| Benchmark position against the Index | For contributed runs | – | Live | Live | Live |
The CLI hashes every key and id before it writes anything. Send us the anonymized report and we return your resolve-by-length curve, your four-bucket split, and where you sit against 341,000 public runs. Contributors get the next edition of the Index first.
One link now. One report later. No newsletter.
# clone and install
git clone https://github.com/metermaidai/audit
cd audit && pip install requests
# spend audit: read-only admin API, runs locally
export ANTHROPIC_ADMIN_KEY=sk-ant-admin-...
python metermaid_audit.py --anon
# trace audit: loops, retries, big output, failed runs
python trajectory_audit.py ./your-traces
Not with the CLI. It reads your provider's admin API or your trace files locally and writes a report to disk. Sharing the anonymized output is a separate, deliberate step, and the anon flag hashes every key, workspace, and project id first. The web app is a different product with its own data agreement, and the Enterprise tier keeps traces inside your VPC.
Because the findings regenerate. A one-time report shows you last month. The product shows you next month, across every provider and framework, tied to outcomes, with owners, budgets, and the fixes applied and verified. If one audit fixes your problem for good, you weren't a customer, and we're glad it helped.
Public trajectory datasets stop there; leaderboard and academic trace archives for newer models are access-restricted. The patterns hold from a 1.7B model to Claude 3.7 Sonnet, which is why we expect them to hold, but that is an expectation. Contributed production runs are how the next edition gets there.
Trace tools show engineers calls, tokens, and latency. FinOps tools show finance the invoice. Neither joins invoice to task to outcome, and neither tells you what a resolved task costs or where your budget should stop. We import from the trace tools and export to the FinOps tools.
No, and every table says so. Public datasets carry no per-run cost, so dollars are estimated from characters at Sonnet-class rates. The percentages and orderings are what we stand behind. Your numbers in the product are your invoiced costs.