Alloy 4.0 LTS · Early Access
Alloy

One gateway. Every provider.

The governed gateway between your teams and every major LLM provider, cloud and local. API keys, budgets, guardrails and failover in a self-hosted single binary, with an admin Console and the Prism self-service portal.

Many providers cloud + local single binary
  1. App or agent calls one Alloy base URL with its own key.
  2. Key check and guardrail run before anything leaves your network.
  3. Routing picks a provider, and fails over if a cloud one returns a rate-limit error.
A request from an app or agent passes the key check and guardrail, then routing picks a provider. If a cloud provider returns a rate-limit error, Alloy fails over to another, such as a local vLLM server.

Everything Your Team Needs

Alloy puts your organisation in control of every LLM interaction: cost, access, compliance and reliability.

One Endpoint, Every Provider

OpenAI and Anthropic APIs in front of cloud and local backends. Change provider without changing a line of client code; Claude Code works out of the box.

Virtual Models

One stable name in front of many deployments. Failover, weighted splits and per-deployment pricing sit behind it.

Key Pools and Limits

Pool provider keys, rotate without downtime, and cap requests and tokens per key, team and deployment.

Budgets and Real Costs

Every request priced in USD with a traceable source. Team and key budgets that warn, then stop.

Guardrails

Block or redact PII and secrets in prompts before they leave your network.

Identity and Access

SSO, SCIM user provisioning, teams, roles and per-team model allowlists, with an audit trail.

Console, Prism and Flux

Admins get the Console; users get a self-service portal and CLI for their own keys and usage.

One Binary, Runs Air-Gapped

Gateway, Console and Prism in a single binary on SQLite. Offline licence, rate cards refreshed by upload, local models first-class.

Virtual Models

One stable model name for your applications, with the real providers behind it. Clients ask for qwen3.8-27b; Alloy decides which deployment answers, and you can change that at any time without touching a client.

One name, five deployments

Here qwen3.8-27b tries OpenRouter's free tier first, then a local vLLM server, then paid OpenRouter, Alibaba Cloud and Together AI. Each deployment carries its own priority and its own model id, so a limit or an outage moves traffic down the list.

  • Priority
  • Round robin
  • Weighted

Free tier first

OpenRouter's free Qwen sits at the top. When it is rate limited or fails, Alloy falls back to the next deployment.

Local and hosted together

A weighted alias shares traffic between your vLLM cluster and a hosted provider, for example 60/40.

Swap without client changes

Reorder or repoint deployments behind the name. Edits apply to the next request; clients never change.

Pricing and limits per deployment

Each deployment has its own RPM and TPM limits and price, so a free or local model costs nothing and a paid one is billed at its rate.

Local first, cloud overflow

Keep traffic on your own hardware for data residency, with cloud hosts below for when local is unavailable or at its limit.

Cost-tiered failover

Order Alibaba Cloud, OpenRouter and Together AI by what you pay. The first healthy deployment serves and the rest catch outages.

Weighted rollout

Send 90% to the current model and 10% to the new one, then raise the weight as confidence grows.

Rate-limit headroom

Spread one model across providers or accounts, alongside key pools, so a limit on one vendor shifts traffic elsewhere.

Stable aliases

Give teams names like code-assist or chat-fast. Platform owners repoint them to a newer model without an application release.

Dev and prod separation

Use different aliases, or different team allowlists, so dev keys only reach cheap or local deployments.

Keep traffic up when providers fail

Behind every virtual model, Alloy moves to the next deployment when one fails, and rotates keys when one is limited.

  • Failover to the next deployment on upstream errors, timeouts or payment errors, with a hop limit per model
  • Failover happens before the first streamed byte; a client's own bad request is never retried elsewhere
  • Circuit breakers sideline sick deployments until they recover
  • Key pools rotate provider keys with no downtime and cool down a limited key
  • Per-deployment limits and declared features, so vision or tool requests skip deployments that cannot serve them

Costs you can explain, limits you can test

Every request gets a USD cost. Budgets and rate limits per team and key, with an observe mode so nobody is surprised by a cut-off.

  • USD budgets per team and key over a period, with email and signed-webhook alerts
  • Observe mode shows what a limit would do; enforce mode applies it
  • RPM and TPM limits per key, team and deployment; a 429 names the scope that tripped
  • Per-deployment price variations, and each usage row records which price produced its cost
  • Rate cards refreshed by upload, never fetched; "unpriced" is kept distinct from "free"

Screen prompts before they leave

Optional guardrails inspect each prompt on the way out. Responses are not inspected.

  • Built-in regex for card numbers, SSNs, emails and key prefixes, with no extra service
  • Self-hosted Presidio and LlamaGuard, or Lakera and OpenAI moderation in the cloud
  • Block, redact (regex and Presidio) or log, per rule
  • Fail-open or fail-closed when a screening vendor times out or errors
  • Opt-in exact-match cache for deterministic, non-streaming requests

Identity and access

Sign-in and provisioning fit the identity provider you already have.

  • OIDC single sign-on including Microsoft Entra, plus passwordless email one-time-code sign-in
  • SCIM 2.0 user provisioning
  • Organisation, teams, users and roles, with an IP allowlist
  • Allowed-model lists per team and key, in a curated or open access posture
  • Provider keys encrypted at rest with AES-256-GCM; gateway keys hashed and shown once

Trace every request

Searchable request logs show where each request spent its time and what it cost.

  • Timing broken down by stage, with the provider, deployment and cost on every row
  • Every failover attempt is recorded, so you can see which deployment answered and why
  • Metadata only, never prompt or response content
  • Prometheus metrics, plus OpenTelemetry traces with a span per failover attempt

See where the spend goes

Usage rolls up by team, key, model and provider, so cost questions have an answer without a spreadsheet.

  • Spend and tokens over any window, split by team, key, model or provider
  • Each priced row records which price produced its cost
  • HMAC-signed webhooks for key, provider, circuit and budget events
  • An audit log of Console changes

Self-service for the people using it

Prism is where people see their own spend in real time, and where teams manage the keys for their projects, tools and tasks so spend is easy to report. The Flux CLI does the same from scripts and CI.

  • Create as many named keys as they need, one per project, tool or task, and rotate or revoke each on its own
  • Real-time usage of their own requests, tokens and spend, for every key together or one key at a time
  • Keys draw on the budget and limits assigned to their team, so one budget covers many keys
  • Team leads see the team's spend by user, model and provider
  • Browse the models they can reach, with pricing; admins can switch off self-serve key creation per team

Governance Without the Wait

Every request is checked against its team key, resolved through a virtual model and sent to a provider, with logging and cost tracking on, in well under a millisecond.

<0.3ms
Added latency
Median on a single request stream: 0.17 ms streaming, 0.18-0.22 ms non-streaming, 0.27 ms Anthropic Messages.
40K+req/s
Sustained throughput
Through Alloy on a single 16-core CPU, with every request resolved and logged.
~70MB
Idle memory
Resident memory at rest, on SQLite with logging and cost tracking on.
0
Errors
Across 34M+ proxied requests.

Measured on Alloy v4.0 against Mochai, an instant mock upstream, on one AMD Ryzen 9 5950X 16-core desktop running the load generator, mock and Alloy together, so the figures isolate Alloy's own gateway overhead. A real model's time to first token is typically 200 ms or more, so this is a small fraction of a request.

Plans

Start free with Community. Upgrade when your team needs identity integration, hosted infrastructure or enterprise-grade SLAs.

Community

Free
Container deployment
  • Single container deployment
  • All provider adapters
  • sk-alloy-... key management
  • Provider key pools with failover
  • Basic budget controls
  • Admin console included
  • Community support
Learn More

Professional

Contact
Self-hosted Postgres + OIDC
  • Everything in Community
  • Postgres persistent storage
  • OIDC single sign-on
  • Prism self-service portal
  • Advanced budget policies
  • Flux CLI for CI/CD
  • Priority support
Request access

Professional Hosted

Contact
TensorFoundry managed SaaS
  • Everything in Professional
  • TensorFoundry managed
  • Automatic updates
  • SLA uptime guarantee
  • Dedicated support channel
Learn More

Enterprise

Contact
SCIM, dedicated infra
  • Everything in Professional Hosted
  • IP allowlist enforcement
  • Dedicated infrastructure
  • Custom SLA
  • Architecture review
  • Dedicated account team
Learn More

How Alloy Fits the Stack

Alloy governs access to LLMs, whether they run in the cloud or on your own hardware. Other TensorFoundry products run or route local inference.

Olla logo

Alloy vs Olla

Gateway vs Open-Source Proxy

Olla is our open-source local proxy, load balancing across inference backends on your own hardware. Alloy is the governed gateway for cloud and local providers, adding API keys, budgets, policy, identity and audit.

FoundryOS logo

Alloy vs FoundryOS

Access Governance vs GPU Fleet

Alloy decides who may call which models, at what cost, across providers. FoundryOS manages, routes and monitors the inference running on your own GPU nodes.

Forge logo

Alloy vs Forge

Gateway vs Inference Engine

Forge runs models on your NVIDIA GPUs using CUDA. Alloy governs access to models wherever they run, so use Alloy to control access and Forge when you host your own.

Frequently Asked Questions

What is Alloy?

Alloy is an enterprise LLM gateway and control plane. It sits between your applications and every major cloud and local LLM provider, and gives you central API key management, virtual models with failover, team and key budgets, cost tracking, prompt guardrails and audit logging. It ships as a self-hosted single binary with an admin Console, the Prism self-service portal and the Flux CLI.

Who is Alloy designed for?

Engineering teams and organisations that use more than one LLM provider and need control over who can call what, and what it costs. It suits teams whose provider keys are scattered across CI pipelines and laptops, or where finance needs spend attributed by team and key.

When will Alloy be available?

Alloy 4.0 LTS is available to early-access customers now, with public release at the end of November 2026. Request access and we will get you set up and take your feedback into the release.

What providers and APIs does Alloy support?

Alloy supports dozens of provider types, covering the major cloud providers, including OpenAI, Anthropic, Azure OpenAI, AWS Bedrock, Google Vertex, Gemini, DashScope, Mistral, Groq, DeepSeek, xAI, Together and OpenRouter, and local or self-hosted servers, including Ollama, vLLM, llama.cpp, SGLang, LM Studio, Lemonade and Docker Model Runner. Custom OpenAI-compatible and Anthropic-compatible endpoints work too. Clients talk to Alloy over OpenAI chat completions, Responses, embeddings and moderations, or the native Anthropic messages API, so tools such as Claude Code work out of the box.

What is a virtual model in Alloy?

A virtual model is one stable name, such as qwen3.8-27b or code-assist, that your applications put in the model field. Behind it sit one or more deployments, each a provider with its own model id, priority and weight. Alloy picks a deployment by priority, round-robin or weighted share, so you can fail over, split traffic, or swap vendors without changing any client. Model access can be limited per team and per key.

How does Alloy keep traffic up when a provider fails?

If a deployment fails in a transient way, such as an upstream error, a timeout or a payment error, Alloy moves to the next deployment in the virtual model, within a hop limit you configure. Failover happens before the first byte is streamed, and a client's own bad request is never retried elsewhere. Circuit breakers sideline unhealthy deployments until they recover, and provider key pools rotate keys when one is rate limited.

How does Alloy control spend?

Set USD budgets per team and per key over a period, plus RPM and TPM limits per key, team and deployment. Observe mode shows what a limit would have done before you enforce it, and email or signed-webhook notifications warn you as spend approaches a limit. Spend is recorded after each request, so the next request is the one that is denied. Every request records its cost and where the price came from, so you can trace a number back to its source.

Does Alloy screen prompts for sensitive data?

Yes, on the request side: prompts are screened before they leave your network, and responses are not inspected. Use built-in regex rules, self-hosted Presidio or LlamaGuard, or the Lakera and OpenAI moderation cloud services, and choose to block, redact (regex and Presidio) or log.

How does Alloy differ from Olla?

Olla is our open-source local proxy: it load balances across local inference backends such as Ollama, vLLM and llama.cpp. Alloy is the governed gateway for both cloud and local providers, adding API keys, budgets, policy, identity and audit on top. Teams often run Olla at the edge and use Alloy where they need control and accountability.

Can Alloy run air-gapped?

Yes. One alloy binary serves the gateway, Console and Prism with the UI embedded, on SQLite with no external services. The licence is an offline signed token validated locally, pricing rate cards are refreshed by uploading a release file, and local providers such as vLLM, Ollama, llama.cpp and SGLang need no internet.

How much latency does Alloy add?

Under 0.3 ms at the median on a single request stream: 0.17 ms streaming, 0.18 to 0.22 ms non-streaming and 0.27 ms on the Anthropic Messages API. That was measured on Alloy v4.0 against an instant mock upstream on one AMD Ryzen 9 5950X 16-core desktop, with every request going team key to virtual model to provider, on SQLite with logging and cost tracking on. The same desktop sustained over 40,000 requests per second through Alloy, idling at about 70 MB of memory, with zero errors across more than 34 million proxied requests. A real model typically takes 200 ms or more to its first token, so Alloy adds a small fraction of a request.

How do I get access to Alloy?

Request access through the Alloy waitlist and we will be in touch about early access. Request access.

Get Access to Alloy 4.0 LTS

Alloy 4.0 LTS is available to early-access customers now, with public release at the end of November 2026. Request access and take control of your team's LLM spend.