> ## Documentation Index
> Fetch the complete documentation index at: https://docs.visceralai.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Plans & limits

> What the hosted free tier includes, how its caps are enforced, and how to see your usage.

You never pick a plan from a menu. The plan is stamped onto each workspace at
the moment it is created, by which deployment created it: sign up at
[visceralai.dev](https://www.visceralai.dev) and your workspace is born on the
hosted **free** plan; run the self-host stack on your own infrastructure and
your workspaces are born **self-hosted**, with no platform caps.

## The free tier

| Limit                | Value   | What it means                                                                                               |
| -------------------- | ------- | ----------------------------------------------------------------------------------------------------------- |
| Agents per workspace | 1       | Auto-discovery stops minting new agent ids past the cap.                                                    |
| Events per month     | 100,000 | Counted per calendar month (UTC). Spans past the cap are dropped.                                           |
| Retention            | 30 days | A scheduled sweep deletes events older than 30 days.                                                        |
| Optimization replay  | Off     | Findings are still discovered, but rules stop at `proposed` and are never activated, so nothing is applied. |

## How enforcement works

Enforcement is server-side, on every request, and **fail-open**: hitting a cap
can never break your agent or fail a call. The invariants hold on every plan.

* **Past the monthly event cap**, ingestion still returns 2xx (so OTLP
  exporters never retry-spin) and the spans are dropped server-side. The
  response carries an `X-Visceral-Quota: exceeded` header, and the drop is
  counted so the dashboard can show it.
* **The agent cap only blocks new agent ids.** Your existing agent keeps
  flowing untouched; spans from an agent id that would be discovered past the
  cap are accepted (2xx) and not ingested.
* **Retention** deletes old events on a schedule; it never touches anything
  newer than the window.
* **Replay disabled** means the optimization gate never spends LLM replays
  proving rules for your workspace. Candidate optimizations still show up in
  your decisions list as `proposed`; they activate on plans with replay
  enabled.

## Watching your usage

Usage is visible in the dashboard (the tier chip, the monthly event meter, and
banners explaining any drop) and over the API:

```text theme={"dark"}
GET /v1/workspaces/{workspace_id}/usage
```

The response carries your plan, the current month's accepted event count, how
many spans were dropped by the quota or the agent cap, the plan's caps, and a
`quota_exceeded` flag. See the
[endpoint reference](/api-reference/introduction).

## Self-hosted

The self-host stack runs on your infrastructure: your Postgres, your engine,
your provider keys. Workspaces it creates are uncapped by construction (no
limits row exists for them), and replay runs with your own provider keys. The
only SDK difference is pointing `VISCERAL_BASE_URL` at your engine instead of
`https://api.visceralai.dev`.
