NATS · Rate Limits
Nats Rate Limits
NATS open source does not enforce request-per-second rate limits via HTTP — it is a TCP/WebSocket messaging server. Operator-enforced limits are configured per Account via JWT claims (max connections, max subscriptions, max payload, max data, max leaf nodes). The HTTP monitoring endpoints on port 8222 are unauthenticated and intended for operations dashboards. Synadia Cloud, the managed offering, enforces per-Team quotas defined by subscription tier (connections, subscriptions, network data, storage, message size) rather than RPS throttling.
8 Limits
Quota: -ERR
Rate LimitingMessage BrokerPub SubStreaming
Limits
Max connections (per account, OSS) account
see account JWT max_connections claim
Configured per Account via JWT claims; default unlimited.
Max subscriptions (per account, OSS) account
see account JWT max_subscriptions claim
Configured per Account via JWT claims; default unlimited.
Max payload (per account, OSS) account
see account JWT max_payload claim
Defaults to server max_payload (1 MB).
Max data (per account, OSS) account
see account JWT max_data claim
Aggregate JetStream storage cap.
Synadia Cloud Personal — connections team
10
Free tier; 100 subscriptions, 5 GiB storage, 10 GB network data, 1 MiB max message.
Synadia Cloud Starter — connections team
100
$49/mo; 1,000 subscriptions, 10 GiB storage, 100 GB network data.
Synadia Cloud Pro — connections team
1000
$199/mo; 10,000 subscriptions, 50 GiB storage, 1 TiB network data, 2 MiB max message.
Synadia Cloud Premium — connections team
10000
$899/mo; 100,000 subscriptions, 1 TiB storage, 2 TiB network data, 8 MiB max message.
Policies
Account-scoped quotas (OSS)
NATS enforces resource limits per Account via signed JWT claims rather than per-request throttling. Use the operator/account/user hierarchy and `nsc` tool to set max_connections, max_subscriptions, max_payload, max_data, and max_leaf_nodes.
Slow consumer detection
NATS server disconnects subscribers that cannot keep up with publish rate; clients receive a slow-consumer error and must reconnect. Publishers receive `-ERR` flow-control messages.
JetStream backpressure
JetStream applies stream-level limits (max bytes, max messages, max age) and pull/push consumer ack windows. Producers are flow-controlled when stream storage thresholds are reached.
Synadia Cloud quota enforcement
Cloud tier limits are enforced as hard caps on connections, subscriptions, storage, and network data. Exceeding network-data or storage caps triggers degraded service until the next billing period or until the team upgrades / adds storage packs.