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
- Installation — get a binary running
- First request — one bootstrap file, then a provider in the console
- Transparent forwarding — what exactly is preserved
- Failure classification — how a target is chosen, retried and held