Account

Rate limits

Limits keep Synaps fast and fair for everyone. Here is every one of them.

WhereLimitApplies to
API60 requests / minuteEach API key
API, free models100 requests / dayEach API key, on :free models
API, your own capYour daily USD limitKeys you gave a daily limit
Chat app30 messages / minuteEach wallet, or each IP when signed out
Chat app, free models20 messages / dayEach browser and each IP address (whichever runs out first)
Free models, everyoneA shared daily totalAll free traffic together, so free models stay up for everyone

Free models in the chat only work on the Synaps website. To use free models from code, create an API key.

Daily limits reset at midnight UTC. Per-minute limits use a fixed one-minute window.

When you hit a limit

The request returns HTTP 429 with a message saying which limit was reached:

json
{ "error": { "message": "Rate limit: 60 requests per minute per key. Slow down and retry." } }

Handling 429 well

Retry with exponential backoff and a little randomness, and stop after a few attempts:

python
import random, time
from openai import OpenAI, RateLimitError

def ask(messages, tries=5):
    for attempt in range(tries):
        try:
            return client.chat.completions.create(model="deepseek/deepseek-chat", messages=messages)
        except RateLimitError:
            time.sleep(min(30, 2 ** attempt) + random.random())
    raise RuntimeError("Still rate limited after retries")

Provider limits

Model providers have their own capacity limits. If a provider is overloaded you may get a 429 or 503 passed through from them even under your Synaps limits. Retrying after a short wait, or switching to another model, usually works.