New features, improvements and fixes in EUrouter.
The Top Apps list on Rankings shows each app's site icon again. Icons load from eurouter.ai, so your browser doesn't contact the apps' websites or a third-party logo service. Apps whose icons are unavailable show their initials.
Nebius no longer commits to processing requests on its public endpoints inside the EU, so EUrouter has stopped routing to it. Models that Nebius served alongside other providers keep running on those EU providers. Hermes 4 405B was only available through Nebius and is retired; DeepSeek V4.1 Flash is its replacement. Nebius keys can no longer be added under BYOK, and you can delete a stored one on the BYOK page.
provider.quantizations now works. List the precisions you accept, such as ["fp8", "bf16"], in a request or a
routing rule, and EUrouter only routes to endpoints served at one of them, fallbacks included.
fp4 also matches mxfp4 and nvfp4, and fp8 also matches mxfp8.unknown, and is only used when you list unknown.400 instead of being served at another precision.Each endpoint's precision is on its model page and in the models API. See Quantization.
When you send an image_url to a model served by AWS Bedrock, EUrouter downloads the image inside the EU and passes
the bytes to the model. That download now only accepts https links to public addresses, follows at most five
redirects and stops reading once an image passes the 3.75 MB limit.
A link that doesn't meet these rules gets a 400 error. Base64 data URLs keep working as before.
Logos on the models, providers, rankings, BYOK and settings pages used to load from each provider's own website and from a logo service. That shared your IP address with those third parties. Every logo is now served from eurouter.ai itself, so browsing EUrouter sends no requests to them.
The dashboard home has a new Cache card, for personal accounts and organizations. It shows how much of your input was read from a provider's prompt cache, how that compares with the previous period, and an estimate of the money caching saved you at current prices.
A bar shows the cached share of your input tokens at a glance. If your providers don't cache, the bar stays empty.
The Requests table on the Activity page has two new columns:
Use them to compare models and providers on speed with your own traffic. Requests that weren't streamed have no TTFT, so both columns stay empty for them.
When you set provider.order with allow_fallbacks: false and a listed provider was briefly unavailable, a request
could be served by a provider outside your list. It now stays within the providers you listed: if none of them can
serve it, you get an error instead of a response from a provider you excluded.
Decision models answer questions you define about your content and return a probability for every option, so your code can act on confident answers and route borderline cases to a person.
clef-flash is now available on Berget and Regolo, next to metis on GreenPT. Read the
Decisions guide to get started, or see the Decisions page for what you
can build with them.
Requests that use OpenRouter's newer provider fields no longer fail with a generic 400.
zdr: true means no data retention. If you also set max_retention_days, the stricter of the two wins.sort in its object form, preferred_min_throughput and preferred_max_latency are accepted.null is accepted for every field and means "not set".max_price, are rejected with an error that names the field, so a hard limit is
never silently ignored.Retention settings only get stricter across your workspace defaults, routing rules and the request: a request can tighten retention, never loosen it. See Routing.
Signing up, logging in and resetting your password no longer show a captcha. Your accounts are protected by rate limits per IP address and per email address instead, so one inbox can't be flooded with reset or verification emails.
The captcha provider is also gone from our list of sub-processors.