One endpoint for every model hosted by a genuinely EU-owned provider. Token cost passed through at cost. And the only gateway that verifies your agent's sandbox instead of believing it.
# Works with the OpenAI SDK, or set ANTHROPIC_BASE_URL # for Claude Code — malgra translates both formats. curl https://api.eutonomous.eu/v1/chat/completions \ -H "Authorization: Bearer $EUTONOMOUS_API_KEY" \ -d '{"model": "scaleway/qwen3-coder-30b-a3b-instruct", "messages": [{"role":"user","content":"hi"}]}'
Three layers, not one
Any gateway can forward a request. What decides whether you can put an autonomous agent near your codebase is where the tokens go, what the agent can reach, and whether you can prove afterwards what happened.
Not 'EU region'. Every provider we route to is EU-owned and EU-operated, and the public ledger names every US tie in each one's corporate group — including the exceptions we accepted.
The agent runs in a podman cage you define: no network, or a proxy with an egress allowlist. Mounts are read-only unless you say otherwise; tools can be disabled outright.
The gateway does not take the agent's word for anything. The sandbox launcher signs a voucher with a key that is never mounted into the container, so a compromised agent cannot forge its own cage.
Transparent pricing
These are not our prices — they are the providers' own, passed through unchanged. Scaleway's are read straight from its public billing API; STACKIT's are its published rate card. No margin, no markup, no spread hidden in the exchange rate. Your prepaid balance is drawn down by the metered cost and nothing else.
| Model | Provider | Input €/Mtok | Output €/Mtok |
|---|---|---|---|
| stackit/e5-mistral-7b-instruct | STACKIT | 0.02 | 0.00 |
| stackit/qwen3-vl-embedding-8b | STACKIT | 0.08 | 0.00 |
| scaleway/bge-multilingual-gemma2 | Scaleway | 0.10 | 0.00 |
| scaleway/qwen3-embedding-8b | Scaleway | 0.10 | 0.00 |
| stackit/gpt-oss-20b | STACKIT | 0.15 | 0.25 |
| scaleway/gpt-oss-120b | Scaleway | 0.15 | 0.60 |
| scaleway/mistral-small-3.2-24b-instruct-2506 | Scaleway | 0.15 | 0.35 |
| scaleway/qwen3-coder-30b-a3b-instruct | Scaleway | 0.20 | 0.80 |
| scaleway/pixtral-12b-2409 | Scaleway | 0.20 | 0.20 |
| scaleway/qwen3.6-35b-a3b | Scaleway | 0.25 | 1.50 |
| scaleway/gemma-4-26b-a4b-it | Scaleway | 0.25 | 0.50 |
| scaleway/deepseek-v4-flash-0731 | Scaleway | 0.40 | 0.80 |
| stackit/qwen3.6-27b | STACKIT | 0.45 | 0.65 |
| stackit/gemma-3-27b-it | STACKIT | 0.45 | 0.65 |
| stackit/gemma-4-31b-it | STACKIT | 0.45 | 0.65 |
| stackit/gpt-oss-120b | STACKIT | 0.45 | 0.65 |
| stackit/llama-3.3-70b-instruct-fp8-dynamic | STACKIT | 0.45 | 0.65 |
| scaleway/qwen3.5-397b-a17b | Scaleway | 0.60 | 3.60 |
| scaleway/qwen3-235b-a22b-instruct-2507 | Scaleway | 0.75 | 2.25 |
| scaleway/llama-3.3-70b-instruct | Scaleway | 0.90 | 0.90 |
| scaleway/mistral-medium-3.5-128b | Scaleway | 1.50 | 7.50 |
| stackit/qwen3-vl-235b-a22b-instruct-fp8 | STACKIT | 1.50 | 1.75 |
| scaleway/glm-5.2 | Scaleway | 1.80 | 5.50 |
The receipts
Plenty of providers host in the EU while belonging to a group with a US entity — which is exactly what the CLOUD Act reaches. We publish the whole assessment, including the providers we turned down.
| Provider | Legal entity | Group | US entity | Status |
|---|---|---|---|---|
| STACKIT | Schwarz Digits Cloud GmbH & Co. KG | Schwarz Group (Schwarz Unternehmenstreuhand KG) | yes | routing |
| Scaleway | Scaleway SAS | Iliad Group (Iliad SA) | no | routing |
| Nebius | Nebius Group N.V. | Nebius Group N.V. (Nasdaq: NBIS) | yes | rejected |
| Aleph Alpha | Aleph Alpha GmbH | merging with Cohere (Canada/US) | yes | under review |
| Mistral AI | Mistral AI SAS | Mistral AI SAS | yes | under review |
| OVHcloud | OVH Groupe SA | OVH Groupe SA (Euronext Paris) | yes | under review |
Pricing
We make nothing on inference — that is the point. The subscription pays for the governance layer, so we never have a reason to route you to a pricier model.
The full router. Prepaid balance, spent 1:1.
Everything in Free, plus the governance layer switched on.
Get started
No SDK to install and no client changes. malgra speaks both the OpenAI and the Anthropic wire formats, so Claude Code, Cline, Continue.dev, wolfgang and the plain OpenAI SDK all work against the same endpoint.
export ANTHROPIC_BASE_URL=https://api.eutonomous.eu export ANTHROPIC_API_KEY=$EUTONOMOUS_API_KEY
/provider add eutonomous # picks up residency: eu automatically
client = OpenAI(
base_url="https://api.eutonomous.eu/v1",
api_key=EUTONOMOUS_API_KEY,
)