
# Frequently Asked Questions

Answers to the questions developers and operators ask most often. Each
section is self-contained — link directly to the slug in your own
docs if it's useful.

## What is LowRouter?

LowRouter is one gateway to many LLM providers and models, compatible
with the OpenAI API so it works with the SDKs and tools you already
use. You top up credits once and choose which provider, model, and
region handles your requests, and you can change that choice whenever
you like. It's one entry point and one bill for many providers, and
every response includes a `lowrouter_metadata` field exposing the
provider, region, grid carbon, and cost of the call.

## Are you an LLM provider?

No. LowRouter is a gateway, not a model host. Your request is forwarded
to the upstream provider you chose — including EU-sovereign options
like Mistral alongside providers such as OpenAI, Anthropic, and Google
— streaming intact. We don't run our own models.

## Is LowRouter compatible with the OpenAI SDK?

Yes. Set the `base_url` (Python) or `baseURL` (TypeScript) to
`https://api.lowrouter.ai/v1` and use your LowRouter API key (it
starts with `sk-lr-`). The SDK calls work unchanged. Detailed examples
are on the [OpenAI SDK Python](integrations/openai-sdk-python) and
[TypeScript](integrations/openai-sdk-typescript) pages.

## Can I reach Anthropic models?

Yes — through the OpenAI-compatible endpoint, not the Anthropic SDK.
The gateway speaks the OpenAI chat-completions protocol; there is no
Anthropic-shaped (`/v1/messages`) endpoint. To use an Anthropic model,
send a normal chat-completions request with an `anthropic/...` model
ID, e.g. `vertex/anthropic/claude-opus-4.6`. See
[available models](models/available).

## What are aliases?

An alias is a named pointer you call as the model id, e.g.
`alias/my-fast-model`. Repoint it to any provider, model, or region
later without changing client code. Create and manage them under
**Dashboard → Aliases**.

## Do you use my data (training, analytics, marketing)?

No. We don't read, train on, analyse, or sell your prompts or
responses. LowRouter simply routes the request to the provider you
chose and returns the answer. We store only metadata about the call —
the model, provider, region, token counts, latency, cost, and the eco
estimate — so you get usage reports and stats. We do not store prompt
or response content. We also propagate provider-level training
opt-outs where the upstream supports them. The full per-request schema
is in [usage accounting](guides/usage-accounting).

## Why do you list US and non-green providers at all?

Because you can't choose responsibly without seeing the alternatives.
LowRouter shows the region, jurisdiction, and carbon cost of *every*
route — including the non-sovereign and carbon-heavy ones — so the
comparison is honest and the choice is yours. Sometimes you need a
specific US model; use it with eyes open, and see exactly what it
emits. And by putting every provider on the same transparent
scoreboard, we give them a reason to compete on it: the day a provider
ships greener, more sovereign inference, it shows up here — measured,
not marketed.

## How is the CO₂ estimate calculated?

`energy = ((α × P_active) + β) × tokens`, then `carbon = energy × grid
intensity`. Grid carbon intensity defaults to
[Ember Climate](https://ember-energy.org/) annual country averages
(CC-BY 4.0), refined by regional grid operators (PJM, CAISO, ERCOT,
BPA, EirGrid, RTE, National Grid ESO, Hydro-Québec, AEMO) where they
publish finer, permissively-licensed data. The energy coefficients
come from [EcoLogits](https://ecologits.ai/) v0.4. The full formula,
data sources, and confidence bands are on the
[methodology page](sustainable-ai/methodology). We report ranges and
assumptions; we don't claim spurious precision.

## Are the eco numbers real-time?

No. The grid intensity is an annual regional average. Real-time
carbon-aware routing is a roadmap feature, not a current one. See
[limits](sustainable-ai/limits).

## What happens if a provider is down?

The request returns 503, naming the provider that failed. LowRouter
does not silently retry on a different provider: an explicit model ID
is a pin, and an auto-routed request commits to the winner of its
ranking — substituting a provider would bill against a different
pricing row and serve from a different jurisdiction than the ID
promised. `lowrouter_metadata.providers_attempted` shows what was
tried. See [routing](models/routing).

## How is pricing structured?

Pre-paid credits, pay-as-you-go. Token usage is billed at the upstream
provider's price with **no per-call markup**. The only fee is a
processing fee applied when you top up credits, covering payment
processing and our margin — the exact amount is shown before you
confirm. No per-seat charge, no monthly commitment. Failed requests
that produced no upstream charge cost zero credits. Full details:
[credits and billing](guides/credits-and-billing).

## Can I pin requests to a specific country or jurisdiction?

Today you can filter the catalogue to EU-only providers and pin an
alias to a specific provider, model, and region, then repoint it
whenever you want without changing code. You can also encode the
region in the model ID directly — append a UN/LOCODE as the last
segment, e.g. `vertex/anthropic/claude-opus-4.6/sg-sin`; if a model
isn't served in the region you request, the call is rejected rather
than served elsewhere. Automatic per-request and account-level
jurisdiction policies are coming soon. Details on the
[routing](models/routing) page.

## What's the rate limit?

Rate and budget limits are enforced per API key (the daily and
monthly credit limits you set) alongside platform-level protection.
Higher quotas are available on request via the email on the
[legal page](/impressum).

## Can I use LowRouter from the browser?

Not with the API key directly — that exposes the key to every page
visitor. Mint short-lived tokens server-side and proxy requests
through your backend. The pattern is the same as for OpenAI; both
SDKs warn against `dangerouslyAllowBrowser`. See
[OpenAI SDK TypeScript](integrations/openai-sdk-typescript).

## Are there free credits or a free trial?

No. Trying things out costs the same as production usage. Top up the
smallest amount that makes sense for an evaluation; remaining credit
can be refunded within 14 days under EU consumer law (see
[credits and billing](guides/credits-and-billing)). See
[philosophy / principles in practice](philosophy/principles-in-practice)
for why.

## Can I get an invoice with my company details?

Yes. Set the legal name, billing address, and VAT number under
**Dashboard → Settings → Billing**. Invoices issued from that point
onwards carry the company details. Past invoices can be re-issued
via support. See [credits and billing](guides/credits-and-billing).

## How do I look up a request after the fact?

Open it on the dashboard under **Recent transactions**. Every response
carries an `id` and an `X-Request-ID` header you can correlate against
your own logs. The stored record includes the resolved model, the
provider, the region, and the eco numbers. See
[usage accounting](guides/usage-accounting) and
[per-request metadata](models/per-request-metadata).

## Can I export my usage?

Yes. The dashboard breaks usage down per model, provider, and key —
tokens, upstream cost, and gCO₂eq — and exports to CSV. It gives
finance and sustainability reporting a single source of truth, and the
per-request carbon data can feed Scope 3 reporting. See
[usage accounting](guides/usage-accounting).

## How do I rotate a leaked key?

Create a new key, deploy it everywhere, then delete the old one. The
deletion takes effect on the next request — no caching delay. Full
guidance: [API key management](guides/api-keys).

## Why don't I see an eco estimate on some requests?

When the resolved model's parameter count is unknown or unverified,
we omit the `eco` field rather than fabricate a number. The
[methodology](sustainable-ai/methodology) page explains the
confidence bands; the
[limits](sustainable-ai/limits) page covers the cases where eco is
deliberately absent (embedding requests, agent steps with no
tokens, mid-stream upstream errors).

## Is there an SLA?

Production accounts have a posted SLA on the dashboard footer. The
default account does not — best-effort. LowRouter is in public beta;
features may change and interruptions may occur.

## Can I get a Data Processing Agreement?

Contact us via the email on the [legal page](/impressum) and we'll
work through your requirements.

## Where is LowRouter hosted?

The platform runs on EU-sovereign infrastructure in France, operated
by Carbonifer SAS (Nantes). Your keys, billing data, and usage
metadata stay in the EU, outside CLOUD Act reach. When you send a
request to a provider you chose, the prompt is transmitted to that
provider in its region — which is why every response reports the
routed region back to you.

## I found a bug — where do I report it?

[github.com/carboniferio/lowrouter/issues](https://github.com/carboniferio/lowrouter/issues),
ideally with a request ID from the `X-Request-ID` header on a
representative request.
