# Wicket limits

> The plan limits for widgets, hostnames, analytics history and branding, the rate budgets, the size of every value, and what a downgrade does.

Source: https://www.coritan.com/docs/wicket/limits/

## Plan limits

Wicket is included in every plan and has no price. Four limits depend on your plan ([Account plans](/docs/billing/account-plans/)).

| Limit | Free | Pro | Business | Enterprise |
| --- | --- | --- | --- | --- |
| Widgets on the account | 25 | 100 | 500 | Unlimited |
| Hostnames on one widget | 10 | 25 | 50 | 200 |
| Days of analytics | 7 | 30 | 90 | 365 |
| Widgets without Wicket's name | No | No | Yes | Yes |

Widgets on the account
: Counts every widget you added. Adding another past the limit answers `402`.

Hostnames on one widget
: How many hostnames each widget can list.

Days of analytics
: How far back a widget's numbers reach. A longer range shows only the days your plan keeps, with a notice that offers the plan that allows it. Ranges go up to 365 days, so Enterprise reads every range in full.

Widgets without Wicket's name
: Business and Enterprise accounts can switch off **Show Wicket’s name on the widget**. On any other plan the widget shows it.

A request past a limit answers `402` with `"code": "entitlement_exceeded"`, and names the plan that raises it ([Manage widgets with the API](/docs/wicket/manage-widgets-with-the-api/#troubleshooting)). No add-on raises these limits.

## What is never counted or charged

- Challenges, the checks your visitors run.
- Verifications, the calls your server makes to the verify address.
- Checks and verify calls that use a [test key](/docs/wicket/test-keys/).

Wicket sets no cap on how many visitors a widget checks. The rate budgets below only stop abuse.

## Rate budgets

A budget is a number of calls in one minute. A call past it is refused until the minute has room again. No plan changes a budget. We count each budget on several servers separately, so treat each one as a rough ceiling and not as a quota.

| Budget | Default | When it is spent |
| --- | --- | --- |
| Checks one visitor address can start | 120 a minute. Addresses in the same IPv6 /64 network count as one. | The widget shows **Could not reach Wicket. Check your connection** and your `error-callback` receives `rate_limited`. The script tries again by itself ([Widget options](/docs/wicket/widget-options/#error-codes)). |
| Verify calls and reports one widget can make | 6000 a minute, shared by both calls. | The call answers HTTP 429 with the error code `rate-limited`. |
| Verify calls with a secret key that no widget has, from one address | 600 a minute | The call answers HTTP 429 with the error code `rate-limited`. |
| Reports from **Having trouble?**, from one address | 10 a minute | The form shows **Could not reach Wicket. Check your connection**, and the visitor can send the report again. |

A test secret key is never limited by a budget.

The Client API's own limit on changes to widgets is in [Manage widgets with the API](/docs/wicket/manage-widgets-with-the-api/#before-you-begin).

## Sizes

| Value | Limit |
| --- | --- |
| Widget name | 1 to 100 characters |
| Hostname | At most 253 characters, in labels of 1 to 63 characters, with at least one dot |
| `action` | Up to 32 letters, digits, `_` and `-` |
| `cdata` | Up to 255 letters, digits, `_` and `-` |
| A token (`response`) | At most 2048 characters |
| `idempotency_key` | At most 64 characters |
| The body of a verify call | At most 64 KB |
| A report's `note` | At most 500 characters |

## Times

| What | How long |
| --- | --- |
| A token | Works once, for 300 seconds |
| A box nobody ticks | 120 seconds, then the widget shows **Time ran out** |
| The old secret key after a rotation | 2 hours, or until you stop it |
| Retries of the script after a network or server error | Every 8 seconds, up to five times, unless you change `retry` or `retry-interval` |

## Analytics history

| Plan | Days kept | Longest range that shows in full |
| --- | --- | --- |
| Free | 7 | 7 days |
| Pro | 30 | 30 days |
| Business | 90 | 90 days |
| Enterprise | 365 | 365 days |

A chart has one point for each hour when the range is 7 days or less, and one for each day when it is longer ([Read a widget's analytics](/docs/wicket/widget-analytics/)).

## After a downgrade

- Every widget keeps working, and none is deleted.
- The account adds no widget or hostname until it is under the new limit.
- A widget that was without Wicket's name shows it again.
- Analytics show only the days the new plan keeps.

## Related

- [Wicket](/docs/wicket/)
- [Account plans](/docs/billing/account-plans/#when-you-reach-a-limit)
- [Widget options](/docs/wicket/widget-options/)
