Dagon InferenceDocs Console

Reliability

Rate limits and size limits

Dagon Inference limits work in flight rather than requests per minute: a key with credit can send as fast as its slots free up. Over a limit you get 429 or 503 with Retry-After.

On this page

Concurrency

LimitDefaultOver it
Requests in flight per key8429 too_many_requests
Requests in flight per account (a root and all its children)32429 too_many_requests
Request bodies read at once per account2429 too_many_requests
Request bodies without credit (no key, or a key with nothing available) read at once per client address4429 too_many_requests
Requests in flight across the gateway64503 service_busy

The numbers are the gateway's defaults. A slot is taken once the body is read and parsed, and only by a key with credit available.

Hourly limits

WhatLimitScope
POST /v1/keys10 an hour by defaultclient address
POST /v1/credits/checkout10 an hour, 5 unpaid openkey
POST /v1/credits/reconcile30 an hourkey
POST /v1/messages/count_tokens600 an hour, 2 in flightaccount
Child keys created30 an hour, 100 liveroot
Transfers to and from children600 an hourroot
Passkey options and registration / login120 / 60 an hourclient address
x402 settlementssee x402 limitswallet and address

IPv6 clients are keyed by /64 (account creation and passkey limits by /48).

Body and output size

LimitValue
Request body with credit16 MiB by default
Request body without credit (keyless or empty key)256 KiB by default
/v1/keys, /v1/credits/* bodies4 KB
Default output cap16,384 tokens
Largest output cap65,536 tokens, or the model's limit

A body over the limit is refused with 413 request_too_large while it is being read.

Handling 429 and 503

import time
import openai

def create_with_retry(client, **kw):
    for attempt in range(5):
        try:
            return client.chat.completions.create(**kw)
        except (openai.RateLimitError, openai.InternalServerError) as e:
            wait = float(e.response.headers.get("retry-after", 2 ** attempt))
            time.sleep(wait)
    raise RuntimeError("still busy")

The OpenAI SDKs also retry 429 and 5xx on their own by default.

Last updated