Skip to main content

Overview

ACN applies rate limits to ensure platform stability and fair usage. Limits are applied per-developer (authenticated) or per-IP (unauthenticated).

Current Limits

Discovery (POST /v1/discover)

TierRate LimitScope
Unauthenticated20 requests/minutePer IP address
Authenticated100 requests/minutePer developer account

Execution (POST /v1/execute/*)

TierRate LimitScope
Standard100 requests/minutePer developer account

Other Endpoints

EndpointRate Limit
GET /v1/wallet/balance60 requests/minute
POST /v1/wallet/deposit10 requests/minute
GET /v1/wallet/history30 requests/minute
GET /v1/keys30 requests/minute
POST /v1/keys10 requests/minute
Rate limit tiers and values are subject to change. Check the response headers for current limits.

Response Headers

Every API response includes rate limit headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1709913600
HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the limit resets

When Rate Limited

When you exceed the limit, the API returns:
HTTP/1.1 429 Too Many Requests
Retry-After: 30

{
  "error": {
    "code": "ACN-RATE-001",
    "message": "Rate limit exceeded",
    "details": {
      "limit": 100,
      "reset_at": "2026-03-08T12:01:00Z",
      "retry_after_seconds": 30
    }
  }
}

Best Practices

Use the X-RateLimit-Remaining header to throttle your requests before hitting the limit.
When rate limited, wait for the Retry-After duration, then retry with exponential backoff.
Discovery results don’t change every second. Cache them on your side to reduce the number of discovery calls.
Authenticated requests get higher limits (100/min vs 20/min for discovery). Always pass your API key.

Need Higher Limits?

If your use case requires higher rate limits, contact us:
Contact channels are placeholders and will be updated with final links.