fusionkit
Reference

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. defaultModel is 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: fusion policy can expand a failed passthrough turn to its configured panel. That is FusionKit behavior, not a RouteKit route fallback; use passthrough or fail to disable it.
  • The evidence baseline for this page is @velum-labs/routekit 0.8.0 at source revision dad16c53, 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, using openai/gpt-5.5; one real-account request and all required deterministic behaviors passed. Stable L05 mapping; canonical import pending.
  • Credential: Your OPENAI_API_KEY from your OpenAI API account. An operator may explicitly set OPENAI_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.com by 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, using anthropic/claude-sonnet-4-6; one real-account request and all required deterministic behaviors passed. Stable L05 mapping; canonical import pending.
  • Credential: Your ANTHROPIC_API_KEY from the Anthropic API account. ANTHROPIC_BASE_URL is an explicit destination override. RouteKit does not currently use ANTHROPIC_AUTH_TOKEN for 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.com by 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, using openrouter/openai/gpt-4o-mini; one real-account request and all required deterministic behaviors passed. Stable L05 mapping; canonical import pending.
  • Credential: Your OPENROUTER_API_KEY from 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 includes HTTP-Referer and X-Title attribution 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-unavailable at RouteKit 0.8.0 revision dad16c53, 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 with accounts 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-unavailable at RouteKit 0.8.0 revision dad16c53, 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 at 4e5a45b9. 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 with accounts 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 system and developer messages as user messages. Streaming, tools, and thinking are supported. routekit claude install owns only its gateway env keys 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-unavailable at RouteKit 0.8.0 revision dad16c53, 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-unavailable at RouteKit 0.8.0 revision dad16c53, 2026-07-22. cursor-agent was not installed, so authenticated traffic, billing, setup, and restore were not observed. Stable L05 mapping; canonical import pending.
  • Credential: A logged-in cursor-agent account 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-agent version 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.