External providers (BYOK)
BYOK (bring your own key) routes requests through accounts you hold, not a Routeplane account. You pay the provider directly at its list price. Routeplane takes no rev share or per-token fee.
Local mode: environment variables
Section titled “Local mode: environment variables”Set provider keys in the environment of the local daemon. Routeplane detects them at startup; there is no upload or hosted key store.
export OPENAI_API_KEY=sk-...export ANTHROPIC_API_KEY=sk-ant-...export GOOGLE_API_KEY=AIza...routeplaneRouteplane exposes only providers whose credentials are present. If a key is missing, requests to that provider return a structured error naming the required variable.
Recognized variables
Section titled “Recognized variables”| Provider | Preferred name | Passthrough fallback |
|---|---|---|
| OpenAI | ROUTEPLANE_OPENAI_API_KEY |
OPENAI_API_KEY |
| Anthropic | ROUTEPLANE_ANTHROPIC_API_KEY |
ANTHROPIC_API_KEY |
ROUTEPLANE_GOOGLE_API_KEY |
GOOGLE_API_KEY, GEMINI_API_KEY |
|
| Custom (registry-listed) | ROUTEPLANE_<PROVIDER_ID>_API_KEY |
— |
The ROUTEPLANE_* variants take precedence over passthrough names, which is useful when a shell already has a provider key for another tool. For a custom provider with id: my-provider, use ROUTEPLANE_MY_PROVIDER_API_KEY (uppercased; hyphens become underscores).
Custom providers
Section titled “Custom providers”BYOK works for providers in the catalog that support API-key authentication. Local environment-variable detection follows the ROUTEPLANE_<PROVIDER_ID>_API_KEY convention.
User responsibility
Section titled “User responsibility”Routeplane routes requests through accounts you hold. What each account may be used for is governed by your agreement with that provider, not by Routeplane.
- API keys are the intended path for software access.
- Subscription products can impose different limits on automated or third-party access. Read the provider’s current terms before routing one through any proxy.
- Provider enforcement lands on your account. Routeplane runs locally and cannot shield an account from its provider.
For the least ambiguous path, use API keys via BYOK or run local models.