RouteKit routes, billing, and provider disclosures
Credential, billing, egress, failover, limitation, and qualification disclosures for every first-launch RouteKit route.
RouteKit sends model traffic only to the namespaced provider/model route you
configure or request. The first-launch contract below remains planned
Supported until L06 closes. The dated matrix has three API-route Pass results
and four subscription/client Fail results, so it is not a claim that launch
qualification has finished.
Every row names who supplies the credential, who bills usage, where requests go, and what RouteKit does when capacity is unavailable. A provider or subscription saying that a quota is “unlimited” does not make RouteKit usage unlimited. Provider terms, plan limits, fair-use controls, and model availability still apply.
Rules shared by all routes
- A requested namespaced model never falls through to a different provider.
Unknown routes fail.
defaultModelis used only when the client omits a model; configuring it is an explicit routing decision. - API routes do not have RouteKit account-pool failover. Their provider errors return to the caller.
- Subscription pools may rotate only among eligible enrolled accounts of the same subscription kind. Exhaustion does not switch to an API-key provider.
- FusionKit's separately configured
onRateLimit: fusionpolicy can expand a failed passthrough turn to its configured panel. That is FusionKit behavior, not a RouteKit route fallback; usepassthroughorfailto disable it. - The evidence baseline for this page is
@velum-labs/routekit0.8.0 at source revisiondad16c53, dated 2026-07-22. Each route remains Planned Supported until L06 clears the four recorded Fail rows.
OpenAI API
- Status and evidence: Planned Supported until L06 closes. Qualification
Pass at RouteKit 0.8.0 revision
dad16c53, 2026-07-22, usingopenai/gpt-5.5; one real-account request and all required deterministic behaviors passed. Stable L05 mapping; canonical import pending. - Credential: Your
OPENAI_API_KEYfrom your OpenAI API account. An operator may explicitly setOPENAI_BASE_URL; RouteKit does not accept an inline key in router YAML. - Billing: RouteKit treats this as an API-key route, separate from the Codex subscription route. OpenAI determines charges on the API account that owns the key. The qualification observed a successful request on this isolated namespaced route and zero cross-provider fallback.
- Egress and aggregator: Direct to
api.openai.comby default. There is no aggregator. An explicit base-URL override changes the destination and makes its operator responsible for handling the request. - Quota and failover: No RouteKit account pool and no cross-provider fallback. OpenAI quota, billing, and rate-limit errors return to the caller.
- Protocol and limitations: OpenAI Chat Completions with streaming and tools. Model-specific reasoning, image, and tool support follows the discovered model and OpenAI API behavior. RouteKit does not provide provider-session restore for this API route.
- Unlimited use: RouteKit makes no unlimited-use claim. OpenAI account limits and terms apply.
Anthropic API
- Status and evidence: Planned Supported until L06 closes. Qualification
Pass at RouteKit 0.8.0 revision
dad16c53, 2026-07-22, usinganthropic/claude-sonnet-4-6; one real-account request and all required deterministic behaviors passed. Stable L05 mapping; canonical import pending. - Credential: Your
ANTHROPIC_API_KEYfrom the Anthropic API account.ANTHROPIC_BASE_URLis an explicit destination override. RouteKit does not currently useANTHROPIC_AUTH_TOKENfor provider requests. - Billing: RouteKit treats this as an API-key route, separate from the Claude Code subscription route. Anthropic determines charges on the API account. The qualification observed a successful request on this isolated namespaced route and zero cross-provider fallback.
- Egress and aggregator: Direct to
api.anthropic.comby default. There is no aggregator. A base-URL override changes that destination. - Quota and failover: No RouteKit account pool and no cross-provider fallback. Anthropic quota, billing, and rate-limit errors return to the caller.
- Protocol and limitations: Native Anthropic Messages, including tools, streaming, thinking blocks, signatures, and redacted-thinking blocks where the selected model supplies them. Client-to-provider translation can only preserve fields supported by both dialects. RouteKit does not provide provider-session restore for this API route.
- Unlimited use: RouteKit makes no unlimited-use claim. Anthropic account limits and terms apply.
OpenRouter API
- Status and evidence: Planned Supported until L06 closes. Qualification
Pass at RouteKit 0.8.0 revision
dad16c53, 2026-07-22, usingopenrouter/openai/gpt-4o-mini; one real-account request and all required deterministic behaviors passed. Stable L05 mapping; canonical import pending. - Credential: Your
OPENROUTER_API_KEYfrom your OpenRouter account. - Billing: RouteKit treats this as an OpenRouter API-key/credit route, not a native subscription route. OpenRouter determines charges and credit usage; the qualification observed a successful OpenRouter-route request. OpenRouter retains control of upstream routing and credit attribution.
- Egress and aggregator: OpenRouter is an aggregator. RouteKit sends
prompts, code, tool data, and model requests to
openrouter.ai; OpenRouter then sends them to the upstream provider selected for the requested model and its routing policy. The model slug does not guarantee one fixed upstream host. RouteKit includesHTTP-RefererandX-Titleattribution headers. - Quota and failover: No RouteKit account pool and no silent switch to a direct provider. OpenRouter can apply its own upstream routing and provider selection under your OpenRouter settings and terms.
- Protocol and limitations: OpenAI Chat Completions. Tools, streaming, images, context limits, and reasoning controls depend on both OpenRouter and the selected upstream model. RouteKit forwards OpenRouter reasoning controls only when the model advertises compatible capabilities. There is no provider-session restore.
- Unlimited use: RouteKit makes no unlimited-use claim. OpenRouter credits, upstream availability, limits, and terms apply.
Codex subscription
- Status and evidence: Planned Supported until L06 closes. Qualification
Fail —
account-unavailableat RouteKit 0.8.0 revisiondad16c53, 2026-07-22. No Codex client or enrolled account was available; live billing, setup, and restore were not observed. Stable L05 mapping; canonical import pending. - Credential: Your Codex OAuth credential, captured with
routekit accounts login codex --name <label>in an isolated temporary profile or imported from the official CLI withaccounts add. RouteKit stores the enrolled copy under~/.routekit/subscriptions/codex/. - Billing: RouteKit uses the enrolled subscription OAuth credential, never
OPENAI_API_KEY, for this route. The subscription provider determines plan usage and charges; exact live billing attribution remains an L06 check. - Egress and aggregator: Direct provider-native relay to
chatgpt.com/backend-api/codex. There is no third-party aggregator. - Quota and failover: Quota exhaustion can rotate to another eligible enrolled Codex account. A transient throttle gets at most one retry on the same account and one alternate eligible account. Pool exhaustion returns an explicit quota error and never calls a paid OpenAI API-key route.
- Protocol and limitations: OpenAI Responses with streaming, tools, and discovered reasoning efforts. The official Codex client may change its catalog or profile schema between releases. Enrollment is transactional; exact client setup and session-restore behavior remains an L06 qualification item.
- Unlimited use: RouteKit makes no unlimited-use claim. Subscription plan, fair-use, model, and reset-window limits apply to every pooled account.
Claude Code subscription
- Status and evidence: Planned Supported until L06 closes. Qualification
Fail —
account-unavailableat RouteKit 0.8.0 revisiondad16c53, 2026-07-22. No Claude client or enrolled account was available; live billing and provider-session setup/restore were not observed. Separately, RouteKit-managed configuration install/uninstall, exact local settings restore, interruption recovery, and final-account removal passed automated qualification at4e5a45b9. Stable L05 mapping; canonical import pending. - Credential: Your Claude Code OAuth credential, captured with
routekit accounts login claude-code --name <label>in an isolated temporary profile or imported withaccounts add. RouteKit stores the enrolled copy under~/.routekit/subscriptions/claude-code/. - Billing: RouteKit uses the enrolled subscription OAuth credential, never
ANTHROPIC_API_KEY, for this route. Anthropic determines plan usage and charges; exact live billing attribution remains an L06 check. - Egress and aggregator: Direct provider-native Anthropic relay. There is no third-party aggregator.
- Quota and failover: Quota exhaustion can rotate to another eligible enrolled Claude Code account. Transient retries are bounded in the same way as Codex pools. Exhaustion returns an explicit quota error and never calls a paid Anthropic API-key route.
- Protocol and limitations: The native Anthropic Messages relay forwards
the client's body. When an OpenAI-compatible client uses the subscription
backend, RouteKit inserts the required Claude Code identity and rewrites
other caller
systemanddevelopermessages asusermessages. Streaming, tools, and thinking are supported.routekit claude installowns only its gatewayenvkeys in Claude Code settings; uninstall restores untouched settings byte-for-byte and preserves post-install user edits. - Unlimited use: RouteKit makes no unlimited-use claim. Subscription plan, fair-use, model, and reset-window limits apply to every pooled account.
Cursor IDE custom OpenAI endpoint
- Status and evidence: Planned Supported until L06 closes. Qualification
Fail —
manual-evidence-unavailableat RouteKit 0.8.0 revisiondad16c53, 2026-07-22. The Linux worker had no Cursor desktop and could not run the macOS-oriented IDE launcher. Stable L05 mapping; canonical import pending. - Credential: A logged-in Cursor desktop account plus the local gateway token used by the isolated custom-endpoint profile. The selected RouteKit model separately uses the API or subscription credential disclosed in its provider row.
- Billing: Expected boundary: custom-endpoint model calls use the selected RouteKit route's billing mode, while Cursor-owned services remain separate. L06 must verify exact attribution with the tested Cursor version and account.
- Egress and aggregator: Agent requests for the selected custom model pass through the local Cursorkit bridge to RouteKit, then to that model's disclosed provider. Composer, inline edit, apply, autocomplete, authentication, and other Cursor-owned features can still contact Cursor's cloud services.
- Quota and failover: This harness adds no provider fallback. The selected RouteKit route's quota and failover rules apply. Cursor-cloud failures are not handed off to another RouteKit provider.
- Protocol and limitations: Custom OpenAI endpoint for the Agent chat/plan panel. Tools and streaming are supported by the bridge; images and reasoning controls are degraded. Composer, inline edit, apply, and autocomplete do not use the custom model. Re-launching recreates the isolated setup; exact restore behavior is pending qualification.
- Unlimited use: RouteKit makes no unlimited-use claim for either the selected provider route or Cursor services.
cursor-agent custom OpenAI endpoint
- Status and evidence: Planned Supported until L06 closes. Qualification
Fail —
client-unavailableat RouteKit 0.8.0 revisiondad16c53, 2026-07-22.cursor-agentwas not installed, so authenticated traffic, billing, setup, and restore were not observed. Stable L05 mapping; canonical import pending. - Credential: A logged-in
cursor-agentaccount plus its local endpoint connection. The selected RouteKit model separately uses the credential in its provider row. - Billing: Expected boundary: endpoint model calls use the selected
RouteKit route's billing mode, while Cursor-owned services remain separate.
L06 must verify exact attribution with the tested
cursor-agentversion and account. - Egress and aggregator: The CLI uses the local Cursorkit bridge for model calls, which forwards to RouteKit and then the selected provider. Cursor can still process authentication, session, and product-service traffic required by the logged-in client.
- Quota and failover: This harness adds no provider fallback. The selected RouteKit route's rules apply, and Cursor upstream errors are not silently expanded to another paid route.
- Protocol and limitations: Cursor's bridge translates to RouteKit's OpenAI Chat surface. Streaming and tools are supported; images and reasoning controls are degraded. CLI session restore and exact client compatibility remain version-specific L06 evidence.
- Unlimited use: RouteKit makes no unlimited-use claim for either the selected provider route or Cursor services.
Inspect the effective route
Run routekit models info <provider/model> to inspect the live route's
namespaced and native model IDs, provider, account class, billing mode, default
status, capabilities, and reasoning metadata. API-key routes report
api-key / metered-api; managed Codex and Claude Code routes report
subscription / subscription. Unknown models fail instead of falling through
to a default, and the response does not include credentials or sensitive
account details.
Qualification evidence
The deterministic matrix and its interpretation are documented in the
RouteKit end-to-end verification matrix.
The sanitized L06 real-account report
records exact RouteKit revision, credential mode, client/provider version,
evidence date, protocol behavior, billing attribution, failure behavior, and
setup/restore for every anchor. Four rows are Fail, so all seven labels remain
conditional.
Route-explanation contract and redaction evidence is tracked in
docs/routekit-route-info-evidence.md.
The generated stable-map rows remain pending because this historical run
predates the mapping digest and case IDs; they do not override the immutable
ENG-679 report. Importing legacy runs into that generated format remains
separate ENG-680 work and must not fabricate modern case identities.