Skip to main content
1

Create a virtual key

Sign in to app.wardin.aiConsole → 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_.
2

Point your SDK at the gateway

Replace your provider base URL and auth token with the Wardin equivalents.
curl https://gw.wardin.ai/v1/messages \
  -H "Authorization: Bearer wardin_sk_YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-4-8",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello, Wardin!"}]
  }'
3

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.

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.