Skip to main content
The Argyros API applies rate limiting to ensure fair usage and service stability.

Limits

TierRateBurst
Default60 requests/minute10 requests/second
Rate limits are subject to change. Contact the team for higher limits if you need them for production integrations.

Rate limit response

When rate limited, the API returns HTTP 429:
{
  "success": false,
  "error": "rate limit exceeded"
}

Retry strategy

Use exponential backoff when you receive a 429:
for i in 1 2 3; do
  response=$(curl -s -w "\n%{http_code}" "https://api.argyros.xyz/api/v1/quote?inputMint=So11111111111111111111111111111111111111112&outputMint=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&amount=1000000000&swapMode=ExactIn")
  http_code=$(echo "$response" | tail -1)
  [ "$http_code" != "429" ] && echo "$response" && break
  sleep $((2 ** i))
done

Best practices

  • Cache quotes. Quotes are valid for roughly 60 seconds (until lastValidBlockHeight expires). Don’t re-fetch if you already have a recent quote.
  • Batch wisely. If you need quotes for multiple pairs, space requests to stay within the rate limit.
  • Use instructions endpoint. If you’re building custom transactions, one POST /api/v1/instructions call replaces a GET /api/v1/quote + POST /api/v1/swap pair.