> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# userRateLimit | Hyperliquid info

> Reference for the userRateLimit JSON-RPC method on the Hyperliquid info blockchain via Chainstack nodes. Parameters, response, and examples included.

<Info>
  This method is available on Chainstack. Not all Hyperliquid methods are available on Chainstack, as the open-source node implementation does not support them yet — see [Hyperliquid methods](/docs/hyperliquid-methods) for the full availability breakdown.
</Info>

The `info` endpoint with `type: "userRateLimit"` retrieves detailed information about a user's API rate limit configuration and current usage on the Hyperliquid exchange. This endpoint provides essential information for managing API usage, avoiding rate limiting, and optimizing request patterns for high-frequency applications.

## Parameters

### Request body

* `type` (string, required) — The request type. Must be `"userRateLimit"` to retrieve user's rate limit information.
* `user` (string, required) — Address in 42-character hexadecimal format (e.g., `0x31ca8395cf837de08b24da3f660e77761dfb974b`).

## Response

The response is an object containing comprehensive rate limit information for the user:

### Rate limit configuration

* `userAddress` (string) — Address of the user (matches the requested user)
* `rateLimitTier` (string) — Rate limit tier assigned to the user:
  * `"standard"` — Basic rate limits for regular users
  * `"premium"` — Enhanced limits for active traders
  * `"vip"` — Highest limits for institutional or high-volume users

### Limit specifications

* `requestsPerSecond` (integer, optional) — Maximum allowed requests per second
* `requestsPerMinute` (integer, optional) — Maximum allowed requests per minute
* `requestsPerHour` (integer, optional) — Maximum allowed requests per hour
* `burstLimit` (integer, optional) — Maximum burst requests allowed in short periods

### Current usage tracking

* `currentUsage` (object, optional) — Real-time API usage statistics:
  * `requestsLastSecond` (integer) — Number of requests made in the last second
  * `requestsLastMinute` (integer) — Number of requests made in the last minute
  * `requestsLastHour` (integer) — Number of requests made in the last hour

### Reset timing

* `resetTimes` (object, optional) — When rate limit counters reset:
  * `nextSecondReset` (integer) — Timestamp when per-second counter resets (milliseconds)
  * `nextMinuteReset` (integer) — Timestamp when per-minute counter resets (milliseconds)
  * `nextHourReset` (integer) — Timestamp when per-hour counter resets (milliseconds)

### Status information

* `isThrottled` (boolean, optional) — Whether the user is currently being rate limited
* `upgradeAvailable` (boolean, optional) — Whether higher rate limit tiers are available

### Understanding rate limits

**Rate limit tiers:**

* **Standard**: Basic limits suitable for manual trading and light automation
* **Premium**: Enhanced limits for active algorithmic trading
* **VIP**: Highest limits for institutional users and market makers

**Time windows:**

* **Per-second**: Short-term burst protection
* **Per-minute**: Medium-term usage control
* **Per-hour**: Long-term usage management

**Usage optimization:**

* Monitor current usage to stay within limits
* Implement backoff strategies when approaching limits
* Use reset times to optimize request timing
* Consider rate limit upgrades for high-frequency needs

## Example request

<CodeGroup>
  ```shell Shell theme={"system"}
  curl -X POST \
    -H "Content-Type: application/json" \
    -d '{"type": "userRateLimit", "user": "0x31ca8395cf837de08b24da3f660e77761dfb974b"}' \
    https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info
  ```

  ```python Python (hyperliquid-python-sdk) theme={"system"}
  from hyperliquid.info import Info

  info = Info("YOUR_CHAINSTACK_ENDPOINT", skip_ws=True)

  rate_limit = info.user_rate_limit(user="0x31ca8395cf837de08b24da3f660e77761dfb974b")
  print(rate_limit)
  ```

  ```typescript TypeScript (@nktkas/hyperliquid) theme={"system"}
  import { HttpTransport, InfoClient } from "@nktkas/hyperliquid";

  const transport = new HttpTransport({ apiUrl: "YOUR_CHAINSTACK_ENDPOINT" });
  const info = new InfoClient({ transport });

  const rateLimit = await info.userRateLimit({
    user: "0x31ca8395cf837de08b24da3f660e77761dfb974b",
  });
  console.log(rateLimit);
  ```
</CodeGroup>

<Note>
  **Use your own endpoint in your code.** The code examples use a placeholder Chainstack endpoint (YOUR\_CHAINSTACK\_ENDPOINT) — replace it with your own Hyperliquid node endpoint from the [Chainstack console](https://console.chainstack.com/). The curl above uses a shared public endpoint for quick checks only; do not use it in production.
</Note>

## Use case

The `info` endpoint with `type: "userRateLimit"` is essential for applications that need to:

* **API usage optimization**: Monitor and optimize API request patterns to avoid rate limiting
* **Request scheduling**: Plan API calls based on current usage and reset times
* **Error handling**: Implement proper backoff strategies when rate limits are reached
* **Performance monitoring**: Track API usage patterns and identify optimization opportunities
* **Capacity planning**: Understand rate limit constraints for application design
* **Automated trading**: Ensure trading bots operate within API usage limits
* **High-frequency systems**: Optimize request timing for maximum throughput
* **Usage dashboards**: Display real-time API usage and remaining capacity
* **Tier management**: Monitor rate limit tier status and upgrade availability
* **Compliance monitoring**: Ensure applications stay within assigned usage limits
* **Load balancing**: Distribute API calls across time windows to maximize usage
* **System health**: Monitor for rate limiting issues in production systems
* **Development planning**: Design applications with rate limit considerations
* **Cost optimization**: Balance API usage with performance requirements

This endpoint is particularly valuable for algorithmic trading systems, high-frequency applications, and any automated system that makes frequent API calls to the Hyperliquid exchange. It enables proactive rate limit management and helps prevent service disruptions due to API throttling.


## OpenAPI

````yaml openapi/hyperliquid_node_api/hypercore_info/info_userratelimit.json post /4f8d8f4040bdacd1577bff8058438274/info
openapi: 3.0.0
info:
  title: Hyperliquid Node API
  version: 1.0.0
  description: This is an API for interacting with Chainstack Hyperliquid node.
servers:
  - url: https://hyperliquid-mainnet.core.chainstack.com
security: []
paths:
  /4f8d8f4040bdacd1577bff8058438274/info:
    post:
      tags:
        - hyperliquid operations
      summary: info (userRateLimit)
      operationId: infoUserRateLimit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  default: userRateLimit
                  enum:
                    - userRateLimit
                  description: Request type to retrieve user's API rate limit information
                user:
                  type: string
                  default: '0x31ca8395cf837de08b24da3f660e77761dfb974b'
                  description: Address in 42-character hexadecimal format
              required:
                - type
                - user
      responses:
        '200':
          description: User's API rate limit information and current usage
          content:
            application/json:
              schema:
                type: object
                description: Rate limit usage summary
                properties:
                  cumVlm:
                    type: string
                  nRequestsUsed:
                    type: integer
                  nRequestsCap:
                    type: integer
              example:
                cumVlm: '2854574.593578'
                nRequestsUsed: 2890
                nRequestsCap: 2864574

````