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

LimitDefaultConfig
Per-pool tokens / UTC day1,000,000pools.daily_token_quota
Per-member tokens / UTC day2,000,000pools.member_daily_tokens
Concurrent in-flight pool jobs4pools.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: 80 on 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), or pool_busy (concurrency)
  • error.reset_at: Unix seconds when the UTC-day window ends (pool_busy uses a short retry instead)
  • Retry-After
  • error.hint pointing 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.