Skip to main content
1

Connect an upstream provider

Sign in to app.wardin.aiConsole → Providers. Wardin doesn’t replace your model vendor — it governs the path to it. Paste an Anthropic, OpenAI, or OpenRouter API key and click Test — it’s encrypted at rest and rotatable in-product, never stored in a client.
Already have a provider key managed by your infra team (e.g. Bedrock/Vertex via env vars)? Skip this step — it still routes, just without in-product rotation yet.
2

Create a virtual key

Still in the Console → Keys & Limits → Create key. Give it a name (e.g. dev-personal), set a monthly budget, and click Create. Copy the key — it starts with wardin_sk_, is shown once, and is what your team uses instead of the provider key from step 1.
3

Point your client at the gateway

Replace your provider base URL and auth token with the Wardin equivalents — no other code changes.
export ANTHROPIC_AUTH_TOKEN=wardin_sk_YOUR_KEY
export ANTHROPIC_BASE_URL=https://gw.wardin.ai

claude
See Claude Code and Cursor for full per-client guides, including session grouping and team-key issuance.
4

Watch it in the dashboard

Open INGRESS in the Wardin dashboard. Your request appears in the live stream with token counts, cost, latency, and the model used — click it to open the signed receipt.If the request was blocked by a budget or policy, the POLICY feed shows the decision and the structured JSON error returned to your client. Your own usage, grouped into sessions, lives under MY LANE.
This is the same four-action flow the in-product onboarding wizard walks you through on first sign-in — provider → key → client → first request — so the two never disagree. See The Request Path for what happens to your request at each of the six stages it passes through.

What just happened

Wardin processed your request through its enforcement pipeline:
  1. Auth — verified wardin_sk_ maps to a real key in your tenant
  2. Budget check — atomically checked Redis; would have returned a 429 if over limit
  3. Policy check — scanned the prompt against your active policies
  4. Cache lookup — checked for an exact-match response (free on a hit)
  5. Forward — sent the request to Anthropic with your real API key
  6. Cost commit — parsed token usage and committed spend back to Redis
  7. Async emit — sent the usage event to ClickHouse for dashboard analytics

Next steps

Connect Claude Code

Route all Claude Code traffic through Wardin for team cost tracking.

Set team budgets

Create per-team keys with monthly spending limits and alerts.

Configure policies

Add model allowlists, PII redaction, and injection detection.

API Reference

Manage everything programmatically via the REST API.