Skip to main content
The Moonbase API uses safeguards against bursts of incoming traffic. Rapid requests trigger 429 responses. For detailed information about handling 429 errors, see the Moonbase error handling guide.

Limits

Rate limits per organization:
  • Read requests: 100 requests per second
  • Write requests: 25 requests per second
These limits apply per organization and are shared across all API keys within each organization.
Request classification:
  • Moonbase classifies endpoints as read or write.
  • In general, GET endpoints are read. Write endpoints typically use POST, PUT, PATCH, or DELETE.

Response

Exceeding limits returns a HTTP 429:
HTTP/1.1 429 Too Many Requests
Content-Type: application/json

{
  "errors": [
    {
      "status": "429",
      "title": "Too Many Requests"
    }
  ]
}
Rate-limited requests are not processed and can be safely retried once the limit resets. The API does not include rate-limit headers (such as Retry-After) in responses.

Handling rate limits

Using SDKs

Moonbase SDKs automatically handle rate limit responses by implementing exponential backoff retry logic. When a 429 response is received, the SDK will automatically wait and retry the request. No manual implementation required.

Manual implementation

Direct API calls require retry logic. 429 responses require exponential backoff. Wait at least one second before retrying, as rate limits reset every second. Include randomness in backoff timing to avoid a thundering herd effect.