# Plans & quotas

Source: https://www.pingtower.com/docs/service/plans/

Limits are per tenant. Usage against them is on the Account → Plan & usage screen in the app and at GET /v1/tenants/{tid}/plan.

Pingtower is free during preview, with no credit card. Every new account starts on the Free tier, and its limits are the numbers the server enforces.

| Limit | Free | Pro |
| --- | ---: | ---: |
| Projects per tenant | 5 | 100 |
| Alerts retained | 1,000 | 50,000 |
| Log rows retained | 50,000 | 2,000,000 |
| Ingest rate | 20 events/s, burst 40 | 200 events/s, burst 400 |
| API rate | 10 req/s, burst 20 | 100 req/s, burst 200 |

Pro and Enterprise exist today and are granted by email; there is no checkout. Enterprise is custom limits set to fit your stream. The [pricing page](/pricing/) says how paid plans will arrive when they do.

## Read your plan

```sh
curl -s https://api.pingtower.com/v1/tenants/<tid>/plan \
  -H "Authorization: Bearer pts_…"
```

```json
{
  "plan": "free",
  "limits": { "max_projects": 5, "max_alerts": 1000, "max_logs": 50000,
              "ingest_rps": 20, "ingest_burst": 40, "data_rps": 10, "data_burst": 20 },
  "usage":  { "projects": 2, "alerts": 14, "logs": 8210 }
}
```

## What a cap does

<div class="docs-callout note"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><circle cx="8" cy="8" r="6.5"/><path d="M8 7v4M8 5v.5"/></svg><div><span class="t">A quota can cost you history, never an alert</span>Past the log cap the tower stops retaining rows, but every event is still evaluated and alerting continues. Past a rate you get <code>429</code> with a <code>Retry-After</code> header, and the addons agent spools and retries on its own.</div>
</div>


## Self-hosted tenants

A tenant whose data plane is your own box has no plan. Your box enforces whatever limits you configure with its flags, and pingtower.com meters nothing about it. The app's Plan & usage screen says so instead of rendering a ceiling nobody enforces.
