Rate Limits

QuantumSafe enforces rate limits to ensure fair usage and protect CPU-intensive PQC operations. Limits are applied per IP address + API key combination.

Rate Limit Tiers

EndpointFreeBuilderProEnterprise
POST /v1/scan/wallet10/min60/min300/minCustom
POST /v1/keys/generate5/min30/min100/minCustom
POST /v1/sign/hybrid5/min30/min100/minCustom
POST /v1/verify20/min120/min600/minCustom
POST /v1/auth/*10/min10/min10/min10/min
CPU-intensive endpoints: Key generation (/keys/generate) and hybrid signing (/sign/hybrid) involve PQC cryptographic operations that are computationally expensive. These have lower rate limits than read-only endpoints.

Rate Limit Headers

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

When You Hit the Limit

When rate limited, the API returns:
{
  "error": {
    "code": "RATE_001",
    "message": "Rate limit exceeded"
  }
}
HTTP Status: 429 Too Many Requests The response includes a Retry-After header with the number of seconds to wait:
HTTP/1.1 429 Too Many Requests
Retry-After: 12

Dual Check: IP + API Key

Rate limits are enforced on both dimensions:
  • Per API key: Prevents a single account from monopolizing resources
  • Per IP address: Prevents distributed abuse using multiple keys from the same origin
Both limits must be within bounds for a request to succeed.
If you are behind a shared IP (e.g., corporate NAT, VPN), you may share IP-level limits with other users. Contact support for IP allowlisting on Pro and Enterprise plans.

Best Practices

  1. Cache scan results — Wallet risk scores change slowly. Cache for 1-24 hours.
  2. Batch where possible — Generate keys in advance, not on-demand per request.
  3. Monitor headers — Check X-RateLimit-Remaining before bursts.
  4. Use exponential backoff — On 429, wait for Retry-After then retry with backoff.
  5. Upgrade your plan — If you consistently hit limits, consider a higher tier.

Upgrading

PlanPriceBest For
Free$0/moEvaluation and development
Builder$49/moSmall production deployments
Pro$199/moHigh-volume production use
EnterpriseCustomCustom limits, SLA, dedicated support
Visit the Dashboard to manage your plan.