Platform Keys
A platform key is a virtual key in PLATFORM mode: instead of supplying your own provider API key, VectorAxis calls the model from its own provider accounts and bills you from a prepaid credit balance. You get started in minutes — no OpenAI or Anthropic account, no provider billing setup — using the same vk-… slug and the same API as any other key.
| Mode | Who holds the provider key | VectorAxis charges |
|---|---|---|
| BYOK | You — encrypted in the virtual-key vault. | Nothing for the model call (you pay the provider directly). |
| PLATFORM | VectorAxis. | Provider cost + a transparent service fee, deducted from your credits. |
A platform key is for text generation. It works on the inference endpoints:
| Endpoint | Platform key? |
|---|---|
| POST /chat/completions | supported |
| POST /v1/prompts/{slug}/completions | supported |
| Audio — transcription / translation / speech | not supported |
| Images — generation / edits | not supported |
| Files, Batches, Responses API | not supported |
Because one platform key can reach several providers, you tell it which one by prefixing the model with the provider, in {provider}/{model} form — e.g. openai/gpt-4o or anthropic/claude-haiku-4-5 (the same convention as OpenRouter). VectorAxis reads the prefix to choose the provider, strips it, and forwards the bare model name. A model with no provider prefix is rejected.
Currently available platform providers: openai, anthropic, xai, and deepseek (the set grows over time).
In the dashboard go to Virtual Keys → New Key and choose Platform. There’s no field for a provider API key — that’s the point. You set:
- Initial credits — the prepaid balance the key spends down. This is also its spending ceiling.
- Provider whitelist (optional) — restrict which platform providers the key may reach.
- Plus the usual virtual-key controls — model allowlist, rate limits, expiry, note, metadata.
Each platform key has a credit balance. Every request’s cost (provider price plus the service fee) is deducted from it, and the remaining balance is simply credit_balance_usd = credit_limit_usd − total_cost_usd.
When the balance reaches zero the key moves to EXHAUSTED and further requests are refused until you add credits. Top up the balance any time from the dashboard, and the key returns to ACTIVE.
A platform key’s price is the provider’s own cost plus a transparent VectorAxis service fee (a configurable percentage markup). Per-model prices are derived from an up-to-date public pricing registry and refreshed regularly; the full price list, with the markup already included, is on the billing & pricing page. BYOK keys carry no VectorAxis fee on the model call — you pay the provider directly.
Set a provider_whitelist to limit which providers a platform key may route to. If the provider derived from a requested model isn’t on the list, the request is refused. An empty whitelist allows every configured platform provider.
Move a platform key — and its remaining credit balance — to another workspace in the same organization with POST /v1/virtual-keys/{slug}/transfer. Requires a workspace (or org) admin; an expired key can’t be moved.
On the supported (chat & prompt) endpoints, platform keys behave exactly like BYOK keys — every orchestration feature applies:
- Exact-match & semantic caching
- Retry & fallback, and use inside routing configs
- Guardrails and prompt management
- Model allowlists, rate limits (RPM/TPM/RPD), credit budgets, and full observability