> For the complete documentation index, see [llms.txt](https://docs.tumbler.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tumbler.app/features/overview.md).

# Overview and matrix

## Who this is for

Providers planning which features to enable in their subscriptions and how to declare them.

## What you can do

* See what is free and what belongs to **\[PAID]** Advanced Connection Control (ACC).
* Understand which metadata/flags are required for each feature.
* Compare backend behavior when a paid feature is not activated.

## Examples

* Declaring `capabilities` in a subscription response.
* Status matrix below with **\[PAID]** marks.
* Related settings in limits and balancing sections.

## See also

* [basic-limits.md](/features/basic-limits.md)
* [advanced-connection-control.md](/features/advanced-connection-control.md)
* [balancing.md](/features/balancing.md)

## Feature matrix

| Feature                             | Status                                  | How to declare                                                                                       | If payment is not active                                                                                 |
| ----------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| Subscription delivery (all formats) | Free                                    | Any supported body format: text VLESS, base64, JSON links/nodes, best-effort Xray/sing-box outbounds | Works out of the box                                                                                     |
| Support / Manage / Hide Settings    | Free                                    | Metadata or headers `support-url`, `manage-url`, `hide-settings`                                     | Applied as declared                                                                                      |
| Quota / Expiry in UI                | Free                                    | `subscription-userinfo` or fields `upload`, `download`, `total`, `expire` (`expire-at`)              | Applied as declared                                                                                      |
| Mirrors / New URL / New Domain      | Free                                    | `mirrors`, `new-url`, `new-domain` in meta or headers                                                | Applied as declared                                                                                      |
| `balancer-method`                   | Free                                    | \`meta\["balancer-method"]="ping"                                                                    | "connections"\`                                                                                          |
| `connection-limit = 0` (unlimited)  | Free                                    | `meta["connection-limit"]=0`                                                                         | No restrictions                                                                                          |
| `connection-limit = 1`              | Free                                    | `meta["connection-limit"]=1`                                                                         | Limits to one connection                                                                                 |
| `connection-limit >= 2`             | **\[PAID]** Advanced Connection Control | `meta.connection-limit=N` + `meta.capabilities=["advanced_connection_control"]`                      | If ACC is not active, the value is automatically reduced to `1` (backend limits to 1 and logs a warning) |
| Per-config / per-group limits       | **\[PAID]** ACC                         | ACC-specific fields agreed separately                                                                | Ignored; basic limits remain                                                                             |
| Soft/hard enforcement modes         | **\[PAID]** ACC                         | ACC policies                                                                                         | Ignored; basic behavior remains                                                                          |
| Callbacks                           | **\[PAID]** ACC                         | ACC callback fields                                                                                  | Ignored                                                                                                  |
| Device priorities                   | **\[PAID]** ACC                         | ACC fields for device prioritization                                                                 | Ignored                                                                                                  |

## Behavior without ACC activation

* The only special exception: if `connection-limit >= 2` is set without ACC entitlement, the value is automatically reduced to `1` with a warning in logs, so access is not blocked for all users.
* Any other ACC fields (callbacks, priorities, additional limits, soft/hard modes) are ignored, and free baseline behavior remains.
* To enable paid features, add `advanced_connection_control` to the `meta.capabilities` array and make sure the plan allows it.

## Declaration rules

* List all features in `meta.capabilities` as an array of strings. In text subscriptions, use the meta line `#capabilities: advanced_connection_control`.
* Describe policies and parameters for each feature in the corresponding sections, without changing public keys.
* If a feature is temporarily unavailable, remove it from `meta.capabilities` and update the subscription body/`ETag`.

## Compatibility

Adding new flags must be optional for existing clients. Always record changes in [changelog.md](/changelog.md) with the effective date.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tumbler.app/features/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
