Skip to main content
Vetta charges for what your agents actually consume, in real dollars — no per-seat fee. The one recurring charge is the plan: **20permonthperorganization,andeachpaidmonthgrants20 per month** per organization, and each paid month grants 20 of credit toward that consumption.

What you pay for

Every rate published here and on Limits & billing is the price you pay — the number the ledger books and the number your spend breakdown reports. There is no separate fee, no seat charge and no minimum on top of it.

Priced tools

Two tool families have a price of their own, on top of the tokens the model spends calling them. Both appear on GET /v1/agents/{id}/spend?by=component under their own component name. They are quoted at different moments, and it matters. A media job is admitted before it starts — the headroom left under the agent’s max_task_micro_usd is held, so a render an agent has no room for is refused and never runs. A web call is priced from what the provider charged for it, so it is booked after the call: an agent already at its cap can still make one, and the debit lands. Set max_task_micro_usd to bound a render; watch the search component to see what retrieval is costing.

Web tools — per call, search component

A search whose results are all filtered out by the agent’s domain policy still costs the call — the query ran. A web_fetch refused by that policy is stopped before the page is requested and costs nothing; a page that redirected somewhere the policy forbids is withheld after the fetch, and that one is billed, because the fetch happened.

Media generation — per finished job, media component

You are billed what the finished job actually cost, once per job. There is no per-model price table here, and that is deliberate rather than an omission. A generation job’s cost depends on the model, the duration and the size, and it is published by nobody until the job has finished — so any table on this page would be a number we invented. What can be listed is which models exist: GET /v1/media/models, read live from the provider. What bounds the spend is the reservation. Before a job is submitted, the room still left under the agent’s max_task_micro_usd is held against its budget — the job is admitted, not quoted, because nobody can price a render before it runs. An agent with no real headroom is refused and nothing is rendered. When the job lands, the real cost is booked and the rest of the reservation is released immediately. A job that fails or never finishes is not billed at all, and its reservation comes straight back. So max_task_micro_usd is the number to set: it is the most one generation job can commit.

The model proxy

POST /v1/proxy/anthropic/v1/messages is priced exactly like a session’s model call — same catalogue, same per-window tariff, same five tiers, same balance. The proxy adds no charge of its own.

The completion window is the biggest lever

The same model at a different window is a different price. The window is a single field with three wire values — immediate, priority, and loose. One model, three completion window lanes — immediate, priority, loose — with latency increasing and tariff decreasing, chosen per request You choose the window per request — pay the interactive tariff only when a person is waiting; overnight work runs on loose for materially less.

Budgets keep it predictable

Every agent has a budget: set cap_micro_usd, max_task_micro_usd, and a period. Model calls and media renders are quoted before they run, so anything that would breach those ceilings is refused rather than discovered on an invoice. Compute and the web tools are metered from what they actually used and booked afterwards, so a period’s spend can finish a little past its cap — never below zero, and never silently: it is on the ledger either way.

Measured, not modelled

All figures are corrected against vendor invoice brackets — list-price rate cards over-state real cost by 1.017x–4.176x. Methodology in Benchmarks.

See the numbers

Cost per completed task across 15 measured cells.