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

Monthly Counters ​

Requests are counted per account per calendar month.

Reset Timing ​

The counter resets on the first day of each calendar month at 00:00:00 UTC.

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 rejected with 402 once the monthly count exceeds 110% of the tier limit; a request that lands exactly at 110% is still served. Rejection lasts until the monthly counter resets. For the wire shape of that rejection, see Rate Limiting - Retry-After. The console shows an over-limit banner with an upgrade prompt.

Usage Limit Emails ​

Accounts on a paid tier (Hobby or Pro) with linked billing receive email notifications about their monthly API-request usage. Free-tier accounts do not receive these emails.

Emails are sent at three thresholds:

  • 80% of the monthly limit: a usage warning that you are approaching the limit.
  • 100% of the monthly limit: the limit has been reached and the grace zone begins.
  • 110% of the monthly limit: the grace zone is used up; the next metered request is rejected. See Enforcement Thresholds.

Each threshold triggers at most one email per calendar month, re-arming when the monthly counter resets.

Caching and the Meter ​

The SDK uses HTTP caching for anonymous public-state reads. Caching reduces network fetches and improves latency, but it does not change the meter: anonymous public-state reads are never metered, whether cached or not. For the cache windows per environment, see Rate Limiting - Caching.