The response

HTTP/1.1 429 Too Many Requests
Retry-After: 5
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": "req-1",
  "error": {
    "code": -32004,
    "message": "Rate limit exceeded",
    "data": {"retryAfterSeconds": 5, "limit": 100, "windowSeconds": 60}
  }
}
Advertisement

Retry-After header

HTTP standard. Seconds until client can retry. Compliant clients honor automatically.

Advertisement

Rich detail in error.data

Server can include limit + window so client can throttle proactively. Optional but recommended.