Pools
Pool fair-use limits
T90 (DAN-143). Free pool traffic on the hosted coordinator is fair-use capped so a large "pool" cannot become an unbounded relay (security review F19).
Hosted NeuronPool pools share Workers / Durable Object / D1 cost. These limits apply to pool-routed jobs (X-NeuronPool-Route: pool or prefer-pool when a pool host is actually serving). Public (billed) and self routes are unchanged.
Numeric usage counters only — prompt and response content is never stored on the quota path.
Caps
| Limit | Default | Config |
|---|---|---|
| Per-pool tokens / UTC day | 1,000,000 | pools.daily_token_quota |
| Per-member tokens / UTC day | 2,000,000 | pools.member_daily_tokens |
| Concurrent in-flight pool jobs | 4 | pools.max_concurrency |
Counters reset at 00:00 UTC. The concurrency cap counts jobs in queued / leased / running for that pool.
Signals
- 80% warning. When a pool has used ≥ 80% of its daily token cap, the gateway sets
X-NeuronPool-Quota-Warning: 80on the chat response and the pool page shows a banner. - Over cap. Further pool jobs return HTTP 429 with:
error.message:pool_quota_exceeded(pool tokens),pool_member_quota(one member), orpool_busy(concurrency)error.reset_at: Unix seconds when the UTC-day window ends (pool_busyuses a short retry instead)Retry-Aftererror.hintpointing at self-hosting
Self-hosted coordinator (T73)
Heavy pools that need uncapped free traffic should self-host the coordinator rather than asking the hosted control plane to raise the cap.
See Self-hosting the NeuronPool coordinator for Docker, Helm, and Cloudflare-account packaging, including air-gapped mode.