Helicone Is in Maintenance Mode. Here's How to Migrate to AI SpendOps
If you run LLM cost tracking through Helicone, you have probably seen the news: in March 2026, Helicone joined Mintlify and moved into maintenance mode. The product still works and still receives security patches, but it is no longer getting new features or a roadmap.
Maintenance mode is not an emergency. But if LLM observability is part of your production stack, it is a good prompt to ask a simple question: is the tool you depend on still being built? If the answer is no, the sensible move is to evaluate an actively developed alternative, ideally one you can switch to without rewriting any application code.
This guide walks through exactly that: migrating from Helicone to AI SpendOps, an actively developed, finance-grade LLM cost-tracking proxy. Because both tools are base-URL proxies, the migration is genuinely a few minutes of work.
What to look for in a Helicone alternative
Helicone got one thing very right: the drop-in proxy model. You change a base URL, and every request is captured, with no SDK wrapper and no code rewrite. Any replacement should keep that property. Beyond that, the things worth checking are:
- Is it actively developed? New models and providers ship constantly. A cost tracker that stops shipping starts drifting out of date the moment it freezes.
- Does it attribute cost to the business, not just the request? Per-request logs are useful for debugging. Finance needs cost by team, feature, environment, and customer.
- Does it enforce governance, or just observe? Seeing model sprawl after the bill arrives is not the same as preventing it.
- Does it cover all your providers? Most teams are multi-provider now. One gateway beats one integration per vendor.
AI SpendOps was built around exactly these requirements, while keeping the one-line integration that made Helicone easy to adopt in the first place.
Step 1: Get your AI SpendOps key
Sign up at aispendops.com and create an API key in the dashboard. Keys are prefixed aso_k_ and are shown in full only once, so copy it somewhere safe. You will pass it as a header on each request; your existing provider keys do not change.
AI SpendOps is BYO-key: you keep your own OpenAI, Anthropic, and other provider keys. The proxy forwards requests byte-for-byte to the upstream provider, so responses (including streaming) are identical.
Step 2: Change the base URL
This is the whole migration. Here is a standard OpenAI call routed through Helicone:
from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://oai.helicone.ai/v1",
default_headers={"Helicone-Auth": "Bearer sk-helicone-..."},
)
And here is the same call routed through AI SpendOps, with only the base URL and the auth header changing:
from openai import OpenAI
client = OpenAI(
api_key="sk-...", # your own OpenAI key, unchanged
base_url="https://proxy.aispendops.com/v1/openai/v1", # point at the AI SpendOps proxy
default_headers={"X-ASO-API-Key": "aso_k_xxx.yyy"}, # your AI SpendOps key
)
That is it. Every call is now captured in your AI SpendOps dashboard with prompt, completion, cache, and reasoning token breakdowns, plus per-tenant cost attribution.
The pattern is identical for other providers; you only change the base URL. For Anthropic, point the anthropic SDK at https://proxy.aispendops.com/v1/anthropic. The full routing table for all 15+ providers is in the URL format reference.
Runnable examples for Python, TypeScript, and .NET are in our open-source examples repo: github.com/AI-SpendOps/examples.
Step 3: Map Helicone concepts to AI SpendOps
If you used Helicone's tagging, the concepts map cleanly:
- Custom properties become dimensions. Where Helicone used
Helicone-Property-*headers, AI SpendOps uses dimension headers to attribute each request to a team, feature, environment, customer, or cost centre. The difference: you can make dimensions required per API key, so no request reaches production untagged. - Request logging becomes business attribution. The same per-request capture is there, but it rolls up by team, feature, environment, and customer rather than sitting in a flat request log.
- Rate limits and caps become per-key spend limits and governance. You can set hard caps and soft alerts per key, and restrict which models and providers each key may call, enforced at the edge before the request reaches the provider.
See the dimensions guide for the tagging details.
Step 4: Verify and switch over
Run one request through the new base URL and confirm it appears in your AI SpendOps dashboard with the expected token counts. Because the proxy is transparent, your application output should be byte-for-byte identical to a direct provider call. Once you have confirmed a single request, roll the base URL change out across your environments. There is nothing else to migrate.
If you ever want to roll back, you change one config line. There is no lock-in: you keep your own keys and the official SDKs throughout.
What you gain by moving
Migration is the easy part. The reason to do it is what you get on the other side:
- Cost attribution by team, feature, environment, and customer, not just per request.
- Governance enforced at the edge: model and provider allow-lists, and required dimensions.
- Budgets, burn alerts, and per-key spend caps across every provider.
- Near-zero latency: usage capture runs asynchronously, off the response path.
- One dashboard across 15+ providers: OpenAI, Anthropic, Google, and more.
- An actively developed product that keeps pace with new models and providers.
Helicone made the proxy model popular. AI SpendOps takes it further, from engineering logs to finance accountability, and keeps shipping.
Ready to switch? See the full Helicone comparison, or start with your first 3 months free.