About RouterBase

One endpoint in front of many model providers. You keep the OpenAI client you already have; we handle which upstream actually serves the call, what it costs, and what happens when one of them is down.

What it does

A model can be served by more than one upstream channel. Each channel has a weight, and a call is routed by weight; if a channel errors, the request moves to the next one carrying that model, up to three attempts. A channel that keeps failing is disabled automatically and only comes back after a real probe call succeeds — not on a timer.

How it bills

Cost is estimated from your prompt and max_tokens before the call, and held against your balance. If the available balance cannot cover the estimate, the call is rejected up front and never reaches a provider. When the response arrives you are charged for tokens actually used and the rest of the hold is released. Attempts that failed are logged at zero cost.

How it is built

Rust with Axum and sqlx on Postgres for the gateway; Vue 3 with Vite and vite-ssg for this site, prerendered to static HTML and served by nginx. Public pages are prerendered so they work — and are indexable — before any JavaScript runs.

What it is not

This is an independent build, not affiliated with any model provider or with any other service offering a similar API. It is operated by whoever runs this deployment; see the contact page for how to reach them.