Helicone's budget alerts work. They're well-designed: set thresholds at 50%, 80%, and 95% of your monthly spend, and you'll know when you're approaching the ceiling. For pure spend notifications, that's genuinely useful — but it's not the whole story anymore, and it's worth being precise about what Helicone can and can't stop.
Here's the scenario where the distinction still matters: an agent's tool orchestration bug causes it to issue a destructive database UPDATE with no WHERE clause. Helicone's proxy sits in front of the LLM call, not the database call — it never sees the query, can't evaluate it, and has nothing to block. The alert architecture (50/80/95% budget thresholds) is purely informational; by the time it fires, the sessions that triggered it already ran. The database write already happened. Helicone shows you exactly what happened, span by span, after the fact.
This isn't a failure of Helicone. It's a failure to recognize that Helicone's enforcement — where it has any — operates at the LLM API call layer, not the agent action layer.
Helicone is an AI gateway and cost-focused LLM observability platform: route every LLM call through a one-line proxy or unified gateway, track spend across 100+ models and providers, optimize routing to the cheapest available option, and enforce rate and cost limits at the LLM call level via 429 rejections — in addition to budget alerts. Waxell is a runtime governance control plane: instrument the full agent workflow across any framework, enforce policies before tool calls, database operations, and outputs execute — not just LLM calls — and govern what agents are allowed to do, including how much they're allowed to spend per session. Helicone answers "what did that cost, and can I cap it at the API layer?" Waxell answers "was that action allowed, at every layer the agent touches?" The first question is about the LLM call. The second is about everything the agent does.
What is Helicone built for?
Helicone is built around a well-defined problem: you're spending too much on LLM API calls and you don't have enough visibility into — or control over — why. It solves this with a gateway/proxy architecture. Point your OpenAI-compatible client at Helicone's AI Gateway (https://ai-gateway.helicone.ai) or the legacy proxy, and from that point every call is logged with cost data drawn from Helicone's model registry (100+ models across OpenAI, Anthropic, Google, and other providers, per Helicone's own current documentation).
from openai import OpenAI
# Before
client = OpenAI(api_key="...")
# After: point at the gateway, full cost visibility
client = OpenAI(
api_key=os.environ["HELICONE_API_KEY"],
base_url="https://ai-gateway.helicone.ai",
)
The cost dashboard breaks down spend by model, endpoint, user, and time period. The smart routing feature goes further: it automatically directs requests to the cheapest available provider for a given capability and falls back gracefully if a provider has an outage.
Helicone also enforces limits, not just alerts on them — at the LLM call layer. A Helicone-RateLimit-Policy header lets you cap requests globally, per user, or per custom property (organization, tier, etc.) by request count or by spend (e.g., "$5.00 per hour per user"). When a caller exceeds the policy, Helicone returns a 429 and the call to the model provider never happens. That's real preventive enforcement — it just operates on the LLM call, not on what the agent does with tools, databases, or other systems.
Helicone is open-source and self-hostable, which matters for teams with data residency concerns or those who want to avoid usage-based pricing at scale. Pricing has moved to a tiered model: a free Hobby tier (10K requests/month, 1GB storage, 1 seat), a $79/month Pro tier (unlimited seats, alerts, HQL query language, usage-based pricing beyond the included volume), a $799/month Team tier (5 organizations, SOC-2 Type II and HIPAA compliance), and custom Enterprise pricing (SAML SSO, on-prem deployment, custom MSA).
It's a sharply focused tool that does more than it used to, while still being scoped to the LLM call.
Where does Helicone's scope end?
The precision of Helicone's focus is also its limitation. Its observability and its enforcement are both built around the LLM call — the request in, the response out, the rate/cost policy evaluated against it. Everything outside that boundary is outside Helicone's scope.
Agent actions are invisible. Helicone doesn't understand what your agent is doing — only what it's asking the LLM, and (via the gateway) whether that specific call should be rate-limited. The tool calls, database queries, external API requests, and file operations that make up an agent's actual work are not instrumented and not gateable through Helicone. You know what each LLM call cost, and you can cap how many happen or how much they cost — you don't know, and can't control, what the agent did between calls.
Rate/cost enforcement exists, but it isn't agent-session governance. This is a real capability, not a gap: Helicone's Helicone-RateLimit-Policy header can hard-stop LLM calls that exceed a request or spend threshold, globally, per user, or per property, with a 429 response before the provider is billed. What it can't do is reason about an agent session as a unit of work — it doesn't know that this particular burst of 40 LLM calls is one runaway agent loop versus 40 unrelated users, unless you've already wired up per-user or per-property attribution. It also has no equivalent for tool calls: there's no way to say "halt this agent's session — including its database writes and API calls — once total cost crosses $0.50," only "reject the next LLM call once a request or spend counter crosses a threshold."
No tool access control, output filtering, or approval gates. There's no mechanism in Helicone to restrict which tools an agent can invoke, filter what content it outputs, or require human approval before a sensitive operation. An agent that Helicone has been tracking and rate-limiting accurately for three months can still route PII to an external API, issue destructive database commands, or take actions Helicone never sees — Helicone will record and rate-limit the LLM calls around those actions, but not the actions themselves.
Compliance posture exists, but it's access control, not an enforcement record. Helicone now offers SOC-2 Type II and HIPAA compliance (Team tier) and SAML SSO (Enterprise) — real infrastructure a regulated team should know about. What it still doesn't produce is a record showing that a specific governance policy was evaluated and applied before a specific agent action — because outside of LLM-call rate limits, there's no policy layer to produce a record from.
What Waxell adds
Waxell's execution tracing instruments the full agent workflow: LLM calls, tool invocations, external API calls, token counts, costs, timing. Not just the LLM call — everything the agent does. That's the observability layer, and it includes cost data as a dimension of execution tracing.
On top of it, runtime governance policies, managed in Waxell's governance plane, operate before each action executes — any action, not only the LLM call. A cost policy terminates a session — the full arc of LLM calls, tool calls, and everything else the agent did — before it exceeds a threshold, not just the next LLM call. A content policy intercepts PII before it leaves your system, regardless of which system it's leaving through. A tool access policy blocks a database write operation before it runs, something no LLM-call-scoped rate limit can see.
from waxell import WaxellSDK
from openai import OpenAI
waxell = WaxellSDK(api_key="...")
client = OpenAI()
with waxell.trace("support_agent"):
# Waxell observes the full session — LLM calls, tool calls,
# database writes, external requests — and enforces policies
# before each one executes
response = client.chat.completions.create(...)
The session-level cost ceiling — the thing Helicone's per-call rate limit can approximate for LLM spend but can't extend to tool and database activity — is a single policy definition in Waxell. Set it once at the governance layer; it enforces across every agent session regardless of framework, covering every action the agent takes, and it can be updated without touching agent code.
Feature comparison
| Capability | Waxell | Helicone |
|---|---|---|
| Cost Tracking | ||
| LLM call cost logging | ✅ | ✅ (excellent) |
| Cost-based provider routing | ⚠️ Limited | ✅ (excellent) |
| Budget threshold alerts | ✅ | ✅ |
| LLM-call rate/cost limit enforcement (429 on breach) | ⚠️ Not the model | ✅ (per user/property/global) |
| Full-session cost enforcement (covers tools + LLM calls) | ✅ | ❌ |
| Observability | ||
| LLM call tracing | ✅ | ✅ |
| Full agent workflow tracing | ✅ | ❌ |
| Tool call logging | ✅ | ❌ |
| External API call logging | ✅ | ❌ |
| Governance & Runtime Control | ||
| Runtime policy enforcement (any agent action) | ✅ Core | ❌ (LLM-call rate limits only) |
| Tool access control | ✅ | ❌ |
| Output filtering / content controls | ✅ | ❌ |
| Human-in-the-loop escalation | ✅ | ❌ |
| Compliance audit trail (policy enforcement record) | ✅ | ❌ (has SOC-2 Type II, HIPAA, SAML SSO — access controls, not enforcement records) |
| Framework Support | ||
| LLM provider-agnostic | ✅ | ✅ (via gateway/proxy) |
| Agent framework instrumentation (tool calls + actions) | ✅ | ❌ Via proxy (LLM calls only) |
| MCP support | ✅ Governs agent MCP tool calls | ⚠️ @helicone/mcp exposes observability data via MCP; does not govern agent MCP tool calls |
| Deployment | ||
| Cloud SaaS | ✅ | ✅ |
| Self-hosted | ✅ | ✅ (open-source) |
| Pricing | ||
| Free tier | ✅ | ✅ 10K requests/month, 1GB storage |
| Paid | Flexible | $79/mo Pro (unlimited seats); $799/mo Team (SOC-2, HIPAA); Enterprise custom |
The case for running both
Of all the comparisons in the Waxell ecosystem, Helicone is the one that most clearly belongs in a "both" stack rather than an "either/or" choice. The overlap is smaller than it might look, because even Helicone's real enforcement capability (rate limits) operates one layer up from where Waxell operates.
Helicone's cost-routing optimization — automatically directing requests to the cheapest available provider — is something Waxell doesn't replicate. If you're running high-volume multi-provider workloads and cost routing matters, Helicone is the right tool for that specific job. Its LLM-call rate limiting is also genuinely useful as a first line of defense against runaway per-user or per-org spend. Running Helicone's gateway alongside Waxell's SDK is a low-friction way to get provider routing, call-level rate limiting, and full agent-action governance simultaneously.
The one caveat: if your agent architecture moves to MCP-native tool definitions, the proxy architecture that Helicone relies on becomes less relevant to that layer. MCP shifts tool access to a different point in the stack than the LLM API call. Waxell's native MCP support addresses governance at that layer; Helicone's @helicone/mcp package exposes Helicone's own observability data (requests, sessions) to AI assistants via MCP but does not instrument or govern MCP-native tool calls made by an agent.
When to use Helicone
Helicone is the right choice when LLM cost optimization, provider routing, and call-level rate limiting are the primary problem. If you're running high-volume API workloads across multiple providers, want a clean cost dashboard with smart routing, and need to cap spend or request volume per user or org without instrumenting your own gateway, Helicone is a lean, effective solution — more effective on the enforcement side than it used to be. The open-source self-hosted option is particularly strong for teams with data residency constraints or cost sensitivity at scale.
If your agents are internal-only, don't touch sensitive systems, and your primary risk is LLM spend rather than agent actions, Helicone's rate limits plus budget alerts may be sufficient on their own.
When to use Waxell
Waxell is the right choice when agents have tool access, operate in regulated environments, or require policy enforcement on anything beyond the LLM call itself — database writes, external API requests, output content, human approval gates. Helicone's rate limiting is a real capability, but it's scoped to the request that hits the model provider; it can't see or stop what the agent does with a tool, a database connection, or a downstream API.
For teams that need to demonstrate to a compliance team or auditor that agents operated within defined constraints across everything they touched — not just their LLM spend — Waxell produces the enforcement record. Helicone produces the invoice, and now a rate-limited invoice.
How Waxell handles this: Waxell's runtime governance policies include cost enforcement as a first-class policy type — not just rate-limiting the next LLM call, but terminating an entire session, across every tool call and external request, before it crosses a threshold. Execution tracing captures LLM call costs as a dimension of the full agent execution graph, alongside tool calls, external requests, and every other action the agent takes. Three lines of SDK to instrument; policies defined once, enforced across every session and every layer the agent touches.
Already capping LLM spend with Helicone and want to extend that control to everything else your agents do? Get started with Waxell.
Frequently Asked Questions
What is the difference between Waxell and Helicone?
Helicone is an AI gateway and LLM cost observability platform. It proxies your LLM API calls to track spend, optimize provider routing, alert on budget thresholds, and — via its rate-limiting header — reject calls that exceed a request or spend threshold. Waxell is a runtime governance control plane for AI agents. It instruments full agent workflows — not just LLM calls — and enforces policies before each action executes: tool calls, database writes, external requests, and outputs, including session-level cost limits. Helicone controls and reports on what your LLM calls cost. Waxell controls what your agents are allowed to do at every layer they touch.
Can Helicone enforce cost limits for AI agents?
Partially. Helicone can hard-enforce a rate or cost limit on LLM calls — globally, per user, or per custom property — and reject calls that exceed it with a 429 before the provider is billed. What it can't do is enforce a limit scoped to an agent session that includes tool calls, database operations, and other non-LLM actions, because Helicone doesn't see those actions. Session-level cost enforcement across everything an agent does is what Waxell provides.
Should I use Helicone and Waxell together?
For teams with high-volume multi-provider LLM workloads, yes — they address different layers. Helicone's provider routing and LLM-call rate limiting are capabilities Waxell doesn't replicate. You can run Helicone's gateway alongside Waxell's SDK to get cost routing, call-level rate limiting, and full agent-action governance simultaneously. As agent architectures shift toward MCP-native tool definitions, the LLM proxy layer becomes less central to tool governance specifically, but for current API-call-heavy architectures, both have a clear role.
Is Helicone open-source?
Yes — Helicone is open-source and self-hostable. The managed cloud version now has a free Hobby tier (10K requests/month), a $79/month Pro tier, a $799/month Team tier (SOC-2 Type II, HIPAA), and custom Enterprise pricing (SAML SSO, on-prem). For teams with data residency requirements or high volumes where self-hosting avoids usage-based pricing, the open-source option remains a significant advantage.
Does Waxell track LLM costs?
Yes. Waxell's execution tracing captures token usage and LLM call costs as dimensions of the full agent execution graph. Where Helicone specializes in cost visibility, routing optimization, and LLM-call-level rate limiting, Waxell includes cost tracking as part of a broader execution record that also covers tool calls, external requests, policy evaluations, and compliance events — and can enforce a cost ceiling across all of it, not just the LLM call.
Sources
- Helicone, Documentation (2026) — https://docs.helicone.ai
- Helicone, Pricing (2026) — https://www.helicone.ai/pricing
- Helicone, Custom LLM Rate Limits (2026) — https://docs.helicone.ai/features/advanced-usage/custom-rate-limits
- Helicone, @helicone/mcp package (2026) — https://www.npmjs.com/package/@helicone/mcp
- Helicone, GitHub Repository — https://github.com/Helicone/helicone
- NIST, Artificial Intelligence Risk Management Framework (AI RMF 1.0) (2023) — https://doi.org/10.6028/NIST.AI.100-1
Top comments (0)