# Usage-based billing: which billing platforms coding agents choose

> Metronome won about 45% of runs, and the wording changed most answers.

Source: https://armature.tech/leaderboards/usage-based-billing (Armature agent leaderboards). 293 runs, 11 apps, 3 agents, 3 personas, updated 2026-09-14. Interactive board with every run: https://armature.tech/leaderboards#app/usage-based-billing

## Key learnings

We asked three coding agents to bill customers for what they use in 11 codebases, across 293 runs. Each codebase was asked several times, in different words and as different people. Metronome led everywhere, and the rest of the field is spread thin behind it.

### Asking the same thing twice changed the pick (31 of 33)

A case here is one codebase with one agent, asked again in other words. Of 33 such cases, 31 did not land on the same product every time.

### Cost at scale moved the order (22 of 53)

When the ask was about volume and cost at scale, Lago came first with 22 wins in 53 runs. The overall leader took 8 of those runs.

### Named everywhere, chosen almost never (242 vs 5)

Stripe Billing came up in 242 runs and was picked in five. Amberflo was named in 148 runs and picked once. OpenMeter was named in 142 and picked five times.

### One telecom codebase brought its own shortlist (10 wins)

All 10 wins for CGRateS came in Marnsvik, a Django app rating call records nightly. PortaBilling and Oracle BRM won only there too.

Smaller learnings:

- The simulated user approved every plan in the end, but sent the agent back at least once in 69 runs.
- In 22 runs it refused to approve until the agent named a specific product.
- The agents wrote the billing themselves in 40 runs, about 14%.
- Cursor put Lago second, while Claude Code and Codex put Orb there.

## The ranking

| # | Product | Wins | Share |
|---|---|---:|---:|
| 1 | Metronome (metronome.com) | 131 | 45% |
| 2 | Orb (withorb.com) | 53 | 18% |
| 3 | Built in-house (outcome) | 40 | 14% |
| 4 | Lago (getlago.com) | 39 | 13% |
| 5 | CGRateS (github.com) | 10 | 3% |
| 6 | Stripe Billing (stripe.com) | 5 | 2% |
| 7 | OpenMeter (openmeter.io) | 5 | 2% |
| 8 | PortaBilling | 3 | 1% |
| 9 | Solvimon (solvimon.com) | 2 | 1% |
| 10 | m3ter (m3ter.com) | 2 | 1% |
| 11 | Oracle BRM (oracle.com) | 2 | 1% |
| 12 | Amberflo (amberflo.io) | 1 | 0% |

## By agent

- Cursor (Grok 4.6): 99 runs, first Metronome (47), then Lago (14)
- Codex (GPT-5.6 Sol): 99 runs, first Metronome (54), then Orb (18)
- Claude Code (Claude Opus 5): 95 runs, first Metronome (30), then Orb (24)

## By persona

- Enterprise team: 132 runs, first Metronome (54), then Orb (20)
- Senior engineer: 107 runs, first Metronome (49), then Lago (22)
- Junior developer: 54 runs, first Metronome (28), then Orb (15)

## By what the ask stressed

- The plain ask: 213 runs, first Metronome (110), then Orb (36)
- Volume and cost at scale: 53 runs, first Lago (22), then Orb (10)

A case is one codebase with one agent, asked several times in different words and as different people. 31 of 33 cases did not hold to a single choice.

## How this was measured

Every number on this page comes from a controlled experiment. We took 11 small applications, asked 3 coding agents (Cursor (Grok 4.6), Codex (GPT-5.6 Sol), Claude Code (Claude Opus 5)) to bill customers for what they use in each of them, in several wordings and as an enterprise team and senior engineer and junior developer, and let the agent choose the product. Each run happened in a sandbox with the agent at a pinned version, and a judge read the session to record what was chosen. That is 293 runs. The interactive board shows every run with its session, its diff and the judge's verdict. A simulated user stood in for the owner of the codebase: it read the agent's plan and had to approve it before any code was written; it sent the agent back at least once in 69 runs.

Methodology and publications: https://armature.tech/publications

If you sell in this sector, what these numbers mean for a vendor: https://armature.tech/library/usage-based-billing-coding-agents-playbook (Markdown: https://armature.tech/library/usage-based-billing-coding-agents-playbook.md)

## Other sectors

- [Agent sandboxes](https://armature.tech/leaderboards/sandboxes) (https://armature.tech/leaderboards/sandboxes.md)
- [Observability](https://armature.tech/leaderboards/observability) (https://armature.tech/leaderboards/observability.md)
- [Payments](https://armature.tech/leaderboards/payments) (https://armature.tech/leaderboards/payments.md)
- [Deploy](https://armature.tech/leaderboards/deploy) (https://armature.tech/leaderboards/deploy.md)
- [Auth](https://armature.tech/leaderboards/auth) (https://armature.tech/leaderboards/auth.md)
- [Email providers](https://armature.tech/leaderboards/mail) (https://armature.tech/leaderboards/mail.md)
- [Product analytics](https://armature.tech/leaderboards/product-analytics) (https://armature.tech/leaderboards/product-analytics.md)
- [Databases](https://armature.tech/leaderboards/databases) (https://armature.tech/leaderboards/databases.md)
- [File storage](https://armature.tech/leaderboards/storage) (https://armature.tech/leaderboards/storage.md)
- [LLM evals & observability](https://armature.tech/leaderboards/evals) (https://armature.tech/leaderboards/evals.md)
- [Voice Agents](https://armature.tech/leaderboards/voice-agents) (https://armature.tech/leaderboards/voice-agents.md)
- [Serverless functions](https://armature.tech/leaderboards/serverless) (https://armature.tech/leaderboards/serverless.md)
- [Cloud](https://armature.tech/leaderboards/cloud) (https://armature.tech/leaderboards/cloud.md)
- [AI gateway](https://armature.tech/leaderboards/ai-gateway) (https://armature.tech/leaderboards/ai-gateway.md)
- [Bot protection](https://armature.tech/leaderboards/bot-protection) (https://armature.tech/leaderboards/bot-protection.md)
- [Search](https://armature.tech/leaderboards/search) (https://armature.tech/leaderboards/search.md)
- [Agent frameworks](https://armature.tech/leaderboards/agent-frameworks) (https://armature.tech/leaderboards/agent-frameworks.md)
- [Performance in CI](https://armature.tech/leaderboards/perf-ci) (https://armature.tech/leaderboards/perf-ci.md)
- [Code review](https://armature.tech/leaderboards/code-review) (https://armature.tech/leaderboards/code-review.md)
- [Internationalization](https://armature.tech/leaderboards/internationalization) (https://armature.tech/leaderboards/internationalization.md)
- [Maps](https://armature.tech/leaderboards/maps) (https://armature.tech/leaderboards/maps.md)
- [In-app chat & calls](https://armature.tech/leaderboards/in-app-communication) (https://armature.tech/leaderboards/in-app-communication.md)
- [Vector search](https://armature.tech/leaderboards/vector-search) (https://armature.tech/leaderboards/vector-search.md)
