Skip to content

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.

Set provider keys in the environment of the local daemon. Routeplane detects them at startup; there is no upload or hosted key store.

Terminal window
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export GOOGLE_API_KEY=AIza...
routeplane

Routeplane exposes only providers whose credentials are present. If a key is missing, requests to that provider return a structured error naming the required variable.

Provider Preferred name Passthrough fallback
OpenAI ROUTEPLANE_OPENAI_API_KEY OPENAI_API_KEY
Anthropic ROUTEPLANE_ANTHROPIC_API_KEY ANTHROPIC_API_KEY
Google 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).

**Key rotation is live.** Update the daemon's credential source and reload Routeplane before sending the next request. Check `routeplane status` and a real routed request after rotation.

BYOK works for providers in the catalog that support API-key authentication. Local environment-variable detection follows the ROUTEPLANE_<PROVIDER_ID>_API_KEY convention.

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.