Skip to main content
Synthra provides enterprise-grade rate limiting to prevent abuse while maintaining high throughput.

Algorithms

Token Bucket

Allows burst traffic up to bucket capacity. Sub-millisecond check time.
agent.setRateLimits({
  algorithm: 'token_bucket',
  requestsPerMinute: 100,
  burstCapacity: 150
});

Sliding Window

Precise rate enforcement with no burst allowance. Under 1ms check time.
agent.setRateLimits({
  algorithm: 'sliding_window',
  requestsPerMinute: 100
});

Rate Limit Tiers

TierRequests/minTokens/minBurst
Free6010,00080
Pro300100,000400
Enterprise1,000500,0001,500

Handling Rate Limits

try {
  const response = await agent.sendMessage(session.id, 'Hello');
} catch (error) {
  if (error.code === 'rate_limit_exceeded') {
    const retryAfter = error.retryAfter;
    await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
    // Retry
  }
}

Check Quota

const quota = await agent.getRateLimitStatus();
console.log(`Remaining: ${quota.requestsRemaining}`);

Rate Limit Headers

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1709913600
Rate limits are enforced per API key by default.
Exceeding rate limits repeatedly may result in temporary API key suspension.