# Limits & quotas

> How account credits are counted and debited, the per-request caps on bulk calls and page sizes, and what the API answers when you run out.

Source: https://www.propexecutor.com/docs/limits
Whole reference in one file: https://www.propexecutor.com/doc.md

Two different things get called a limit. Your **account credits** cap how many trading accounts you can ever create; your [rate limit](https://www.propexecutor.com/docs/rate-limits) caps how fast you may call the API. They are unrelated, and only the first one costs money.

## Account credits

A permanent pool that only ever goes down by provisioning. Your plan grants its accounts once, each top-up pack adds its accounts once, and an upgrade adds the difference between the two tiers’ quotas. Nothing expires.

`GET /v1/credits` · **Planned** · scope `accounts:read`

<!-- 200 OK -->
```json
{
  "granted": 250,
  "used": 47,
  "remaining": 203,
  "tier": "basic"
}
```

- **One account, one credit, forever.** A breached or archived account does not give its credit back. That is deliberate — it is what you paid for when the account was created.
- **Unused credits carry over an upgrade.** On Starter with 40 used and 10 left, upgrading to Basic leaves you 210 against a 250 total.

## Running out

Provisioning more than you have left is refused outright — no partial batch, nothing spent.

<!-- 402 Payment Required -->
```json
{
  "error": "quota_exhausted",
  "message": "not enough account credits",
  "remaining": 3,
  "requested": 10,
  "tier": "starter",
  "cta": {
    "href": "/billing",
    "upgrade_skus": ["upgrade_starter_basic"],
    "pack_skus": ["pack_starter_100", "pack_starter_500"]
  }
}
```

Buy credits from [Billing](https://app.propexecutor.com/billing) in the panel — a top-up pack at your tier’s per-account rate, or an upgrade if you want the higher tier’s features too. Both take effect as soon as the payment settles.

## Per-request caps

| Limit | Value | Over it |
| --- | --- | --- |
| Accounts per provisioning call | **100** | `400` — split into several calls. |
| Rows per list page | **200** | Clamped down silently, not refused. |
| Chart points per series | **~600** | The bucket width widens instead. See [equity curve](https://www.propexecutor.com/docs/equity-curve). |

## What your tier also caps

Rule sets, rules per set, which rule catalogue you can use and how far you can brand the executor are all tier-dependent and enforced server-side. An existing rule set keeps working after a tier change but cannot be pushed further over a limit. Current numbers are on the [pricing page](https://www.propexecutor.com/pricing).

## Before your plan settles

An organization that signed up but has not completed its plan purchase can authenticate and read, but every write returns `402`. Finish checkout and it clears immediately — no support ticket, no waiting.
