CrabGlamp

Monitor usage

Read the per-key spend on the dashboard chart and via the API. This guide covers where the dashboard pulls usage data from, the reporting cadence, how to filter by model and date range, and how to spot anomalies that might indicate a leaked key or a runaway script consuming the cap on a virtual key.

Last updated:

You want to know how much a virtual key has spent this month, broken down by model and provider, and you want to spot anomalies.

From the dashboard

Open /dashboard/usage. The page shows:

  • A summary card per virtual key with the spend cap, accrued spend, and percentage used.
  • A stacked bar chart of daily spend, color-coded by model.
  • A date-range picker (default: current month).
  • A filter dropdown for provider and for individual keys.

Click any bar segment to drill down into the day's per-request log (request count, model, total cost).

Reporting cadence

  • The proxy records spend on every request in real time.
  • Usage is aggregated and reported to your invoice within a couple of minutes.
  • The dashboard chart reflects spend within that window, so it can lag live usage by up to ~2 minutes.

From the API

GET /api/usage (Clerk auth, defaults to the current month) drives every dashboard chart. Supported query params: month=YYYY-MM, accountId={uuid} (org context), agentId={uuid} (filter), model={name}, voiceModel={name}, admin=1. The response carries three independent axes — compute, LLM, voice — with per-day, per-agent, per-plain-VM, and per-model breakdowns:

{
  compute: {
    totalCents,       // monthly compute cost in cents (continuous, not floored)
    daily: [          // one entry per day in the month
      { date, agentCents, plainVmCents, totalCents,
        agents: [{ agentId, agentName, runningCents, pausedCents, … }],
        plainVms: [{ plainVmId, plainVmName, costCents, hours }] }
    ],
    agents: [...], plainVms: [...]
  },
  llm:   { totalCents, daily: [...], agents: [...], models: [...], hasKeys },
  voice: { totalCents, totalCharacters, daily: [...], agents: [...], models: [...], hasVoiceUsage }
}

Every *Cents field is a continuous value (not floored), so the dashboard can show sub-cent precision. The amount billed to your invoice is rounded to whole cents.

Spotting anomalies

  • Sudden spike on a previously-quiet key — possible leaked token. Rotate immediately (see Rotate a virtual key).
  • Spend climbing toward the cap mid-month — raise the cap (see Raise a spend cap) or investigate which Agent is consuming.
  • Mostly-zero days followed by a single huge day — usually a runaway script. Check the day's per-request log to identify the model and request count.

Related

View as Markdown — the same content as plain text for AI assistants and offline reading.

Was this helpful?