Summary:
After introduction of request.WithRetryNotAllowed(ctx), GateIO rate limiter currently uses a “standard” bucket (10s/200) for many public endpoints, including candlesticks. This doesn’t align with Gate’s documented limits (e.g., Spot public 900 r/s, Perp public 300 r/s) and appears to cause 429s for candlestick-heavy usage when combined with other public calls.
Observed:
- Candlestick endpoints standardRateLimit() with other public endpoints.
- 429 “Request Rate Limit Exceeded (003)” on candlestick calls.
- Gate REST v4 “API Performance” table shows higher public limits by market bucket.
Proposed update (system-level):
- Need to attach a global rate limit bucket (e.g., Spot public 900 r/s, Perp public 300 r/s) to each sub bucket