Skip to content

Metering

SkyState meters authenticated state-route requests that count against the account's monthly API-request allowance.

What is Metered

Metered requests are:

  • project API-key requests to authenticated public-state routes
  • end-user bearer requests to user-state routes

Not metered against the monthly API-request quota:

  • anonymous SDK/browser reads from /v1/readonly/.../public-state/...
  • developer bearer requests, including console and CLI developer operations
  • project, account, billing, auth, health, and webhook routes

Anonymous public-state reads are still subject to standard HTTP rate limiting and cache behavior; they do not increment the monthly API-request counter.

Monthly Counters

Counters are stored per account per calendar month. Each metered request increments the counter for the current month.

Reset Timing

The counter resets on the first day of each calendar month at 00:00:00 UTC. A new counter is automatically created for the new month on the first metered request.

Enforcement Thresholds

Two thresholds control enforcement:

  • Warning threshold (100%): at or above the limit, the over-limit indicator appears in the console.
  • Block threshold (110%): metered state-route requests are hard-blocked when the count exceeds 110% of the tier limit. This 10% grace buffer allows brief overages before enforcement kicks in. Blocked requests receive a quota error until the counter resets.

Over-Limit Behavior

When the block threshold is exceeded:

  • metered state-route requests fail with a quota error until the monthly counter resets
  • The console displays an over-limit banner with an upgrade prompt

The counter continues to increment even while blocked, so the count accurately reflects actual demand.

Reducing Request Count with Caching

The SDK uses HTTP caching for anonymous public-state reads. In production, public-state responses are cached for 15 minutes; in development and staging, they are cached for 10 seconds. Caching reduces live public-state fetches and improves latency, but anonymous public-state reads are not part of the monthly API-request meter.