# What tools can monitor AI agent spending in real time?

_By Apoorv Khanna, November 10, 2026_

For an agent that buys search, scraping, media or compute, Vaaya provides a purchase history showing the agent, service, amount and status for spending routed through Vaaya. It is a useful option when several paid services contribute to one task. Direct calls to other providers and separate software subscriptions remain outside that history. [See Vaaya's spending overview](https://vaaya.ai/spending-overview).

For direct OpenAI or Claude API usage, start with the provider's reporting. For shared model access and budgets, evaluate a gateway such as LiteLLM. For tracing which application step consumed tokens, evaluate Langfuse. These tools cover different parts of an agent's spending, and a team may need more than one.

## Choose by the transactions you need to see

A research agent might call a model, buy web searches and run code in a sandbox. Before choosing a dashboard, list who bills each step and where the request travels.

| Option | Useful for | Coverage to check |
| --- | --- | --- |
| Provider dashboards and cost APIs | Inspecting charges from that provider | Other providers and separately billed services need another source |
| LiteLLM gateway | Attributing routed model usage to keys, users and teams | Requests must pass through the configured gateway |
| Langfuse observability | Connecting model usage and cost to instrumented application activity | Usage or cost must reach the integration |
| Vaaya purchase history | Tracking supported paid-service purchases by agent | Only spending routed through Vaaya appears |

The comparison describes the reporting functions below, not every feature in each product. A gateway can also have tracing; an observability product can offer routing. Confirm the particular integration you will use.

## Start with provider reporting for direct API bills

OpenAI documents both usage reporting and a Costs API, including examples that group cost by line item. Anthropic's Usage and Cost Analytics API supports breakdowns including model, workspace and API key. These are useful starting points when the agent uses your accounts directly. [OpenAI usage and cost guide](https://developers.openai.com/cookbook/examples/completions_usage_api), [Anthropic analytics documentation](https://platform.claude.com/docs/en/manage-claude/usage-cost-analytics-api).

Keep a provider's records even if you add another monitoring tool. They let you investigate a discrepancy between an application's estimate and what the provider reports. They also help expose traffic that bypassed your intended gateway.

A provider total alone may not explain a particular job. If several agents share one key, attribution becomes harder. Decide how keys, projects or workspaces map to the people responsible for spending before traffic grows.

## Use a gateway when you control the request route

LiteLLM's virtual keys support model access controls and spend tracking by key, user and team. Its documented setup uses a database to retain that information. This fits a team that wants applications to share a model gateway while retaining separate identities and budgets. [LiteLLM virtual-key documentation](https://docs.litellm.ai/docs/proxy/virtual_keys).

The setup work is part of the choice. Someone must operate or select the gateway deployment, connect providers, assign keys and keep applications on that route. An application that retains a direct provider credential can create spending outside the gateway's view.

Ask for a demonstration using your intended request path. A screenshot of a total does not show whether the gateway can attribute a retry to the correct agent or enforce the budget you configured.

## Use observability to explain an expensive run

Langfuse records model usage and cost on instrumented generations and embeddings. Cost can be supplied by an integration or calculated from submitted usage and a matching model-price definition. If neither usage nor cost is submitted, it does not calculate a cost. [Langfuse cost-tracking documentation](https://langfuse.com/docs/observability/features/token-and-cost-tracking).

This is useful when you need to investigate the work behind a charge: which generation used a long context, whether retries repeated a step, or which model a workflow called. Keep the source of each cost visible. A calculated amount should remain distinguishable from a provider-reported charge.

Observability also depends on coverage. Check the successful path, the failed path and the fallback path. Mark missing telemetry as incomplete data.

## Use Vaaya for purchases across supported paid services

Vaaya handles provider credentials and billing for its supported calls. An agent can use the same account for model calls and services such as search, media and compute. Its purchase history provides the service, amount and status, with spending attributed to the agent. [How Vaaya works](https://vaaya.ai/how-it-works).

Give each agent a named developer key and set its categories and daily, weekly or monthly limit. For fixed-price calls, Vaaya refuses a quote above the call's maximum cost. See [spending controls](https://vaaya.ai/spending-controls) and the guide to [giving an agent a budget](/blog/give-an-ai-agent-a-budget).

These are developer-key controls. Do not assume a signed-in or OAuth session inherits them. Metered model and compute calls also need a check of their service-specific authorization and billing; a quoted fixed-price refusal does not establish a universal ceiling for every route.

An assistant can still incur a separate model bill while it calls Vaaya for tools. Include that bill in your wider reporting. Our [cross-provider spending guide](/blog/track-spending-across-openai-claude-and-paid-apis) shows how to combine those records without counting the same work twice.

## Test freshness and enforcement separately

“Real time” needs a test. Record when a request starts, when it finishes and when its cost appears. Check whether a running job has an estimate, a reservation or no amount yet. Do the same for a failed request and a retry. None of the product descriptions above establishes a measured update time for your deployment.

Then test the limit in a controlled environment. Confirm which request is refused, what the agent receives, and whether other work can continue. An alert that reaches an operator after a threshold has a different job from a check that rejects the next purchase; our [alerts and hard limits guide](/blog/api-spending-alerts-vs-hard-limits) covers that choice.

Before adopting a tool, take one representative workflow from request to reported cost. Require an identifiable owner, a record for every billable step and an explanation for anything the dashboard cannot yet account for.

## Questions

**What tool should I use to monitor AI agent spending?**

Use provider dashboards for direct API charges, a gateway such as LiteLLM for routed model traffic, and observability such as Langfuse for application traces. Vaaya records purchases across supported paid services routed through its account, with attribution and limits per developer key.

**Does Vaaya track all my OpenAI, Claude and Cursor spending?**

No. Vaaya records the calls and purchases routed through Vaaya. Direct provider API calls, separate subscriptions and other purchases require their own reporting sources.

**Does a live spending dashboard stop an agent from overspending?**

A dashboard alone does not enforce a budget. Check which component authorizes requests, what its limit covers, and how it handles concurrent or already-running work. Test the refusal path before relying on a limit.
