This was always going to happen.

RouterRouter

One endpoint for every endpoint.

Route inference across OpenRouter, Vercel, Cloudflare, and Ramp.

npm install -g routerrouter-cli
01 / Your application
02 / Routing layerRouterRouter
429rate limitedOpenRouter
200answeredVercel
readyedgeCloudflare
readycost routeRamp
Vercel answered2 attempts

Your router should have a fallback too.

Every router has its own models, limits, and bad days. Put fallback policy one level up and keep one interface in your application.

InstallRun one npm command.
ConfigureChoose routers and set the fallback order.
RoutePoint your app at one OpenAI-compatible API.
Example requestopenrouter429vercel200

Every response names the router, attempt, and route. The joke has receipts.

Set up the CLI

Inference policy

Set the order once.

Choose fallback or weighted routing across the routers you already use. RouterRouter handles retries and reports the upstream that answered.

Set it up
Route ready$ routerrouter init

Fallback: OpenRouter to Vercel

$ routerrouter start

Ready on 127.0.0.1:8787