Skip to content
SolidwayLLM gateway

These pages describe the intended behaviour of the gateway. The open-source release and the enterprise edition are being split out; details will be updated when the first release ships.

Overview

What Solidway is, the constraint it is built around, and what that means for your traffic.

Solidway is an LLM gateway written in Rust. It sits between your application and your model providers, and forwards requests without modifying them.

The design constraint is narrow and deliberate: the forward path does not touch the payload. Routing, health and accounting are decided per request, outside the bytes you send.

What runs alongside the forward path

Three mechanisms operate around each request. None of them reads or rewrites the body:

  • Failover — a request that fails on one target is served by the next target in its chain.
  • Load balancing — traffic is distributed across keys and endpoints by weighted, health-aware selection.
  • Circuit breaking — a target that reports a failure about itself is held out of rotation.

What is preserved

Preserved Why it matters
Request body A parameter a provider ships this week works without waiting for a gateway release
Response body What the provider returned is what your code parses
Streaming frame boundaries Client-side incremental rendering behaves the same with and without the gateway
Header order and casing Signature schemes and provider-side validators that depend on order keep working
Prompt prefix Rewriting a prefix invalidates the provider’s prompt cache, which raises cost and latency

What Solidway does not do

It does not translate between provider dialects. Calling Claude through the OpenAI SDK, or any model through another vendor’s SDK, is out of scope by design. If that is a requirement, Bifrost and LiteLLM do it.

It also does not ship a prebuilt adapter for every provider. A provider is added in the console, not by writing an adapter module.

Where to go next