Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.0xarchive.io/llms.txt

Use this file to discover all available pages before exploring further.

Source OpenAPI: 0xArchive API 1.5.0; 116 paths; 90 component schemas. Historical OHLCV candle data for a Hyperliquid spot pair, derived from spot_fills by the candle-builder cron and stored in archive.spot_candles_1m_v2. Coverage matches spot fills (back to 2025-03-22 via S3 backfill). Build tier or higher. Available Intervals: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w Pagination: Use the cursor parameter with the value from the previous response’s next_cursor.

Route Metadata

FieldValue
MethodGET
Path/v1/hyperliquid/spot/candles/{symbol}
operationIdgetSpotCandles
TagHyperliquid Spot - Candles
FamilyHyperliquid Spot
Deprecated or legacyno

Request Parameters

Path Parameters

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getSpotCandles path parameters",
  "type": "object",
  "required": [
    "symbol"
  ],
  "properties": {
    "symbol": {
      "description": "Spot pair symbol. Accepts dashed canonical (`PURR-USDC`, `HYPE-USDC`), the wire-format coin (`@107`), or a bare base-token name (`HFUN`).",
      "type": "string",
      "example": "PURR-USDC",
      "x-parameter-location": "path"
    }
  }
}

Query Parameters

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getSpotCandles query parameters",
  "type": "object",
  "properties": {
    "start": {
      "description": "Start timestamp in Unix milliseconds. Defaults to 24h ago.",
      "type": "integer",
      "format": "int64",
      "x-parameter-location": "query"
    },
    "end": {
      "description": "End timestamp in Unix milliseconds. Defaults to now.",
      "type": "integer",
      "format": "int64",
      "x-parameter-location": "query"
    },
    "interval": {
      "description": "Candle interval (default: 1h)",
      "type": "string",
      "enum": [
        "1m",
        "5m",
        "15m",
        "30m",
        "1h",
        "4h",
        "1d",
        "1w"
      ],
      "default": "1h",
      "x-parameter-location": "query"
    },
    "cursor": {
      "description": "Cursor for pagination (use the value from previous response's `next_cursor`)",
      "type": "string",
      "x-parameter-location": "query"
    },
    "limit": {
      "description": "Maximum number of results (default: 100, max: 1000)",
      "type": "integer",
      "default": 100,
      "maximum": 1000,
      "x-parameter-location": "query"
    }
  }
}

Response Contracts

Status 200

List of OHLCV candles with cursor for next page

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getSpotCandles response 200",
  "description": "API response containing an array of candle data",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "description": "OHLCV candle data",
        "type": "object",
        "required": [
          "close",
          "high",
          "low",
          "open",
          "timestamp",
          "volume"
        ],
        "properties": {
          "close": {
            "description": "Closing price",
            "type": "number",
            "format": "double",
            "example": 42650.75
          },
          "high": {
            "description": "Highest price during interval",
            "type": "number",
            "format": "double",
            "example": 42750
          },
          "low": {
            "description": "Lowest price during interval",
            "type": "number",
            "format": "double",
            "example": 42300.25
          },
          "open": {
            "description": "Opening price",
            "type": "number",
            "format": "double",
            "example": 42500.5
          },
          "quote_volume": {
            "description": "Trading volume in quote asset (USD)",
            "type": "number",
            "format": "double",
            "example": 53187500
          },
          "timestamp": {
            "description": "Candle start timestamp (ISO 8601 UTC)",
            "type": "string",
            "format": "date-time",
            "example": "2026-01-01T12:00:00Z"
          },
          "trade_count": {
            "description": "Number of trades in interval",
            "type": "integer",
            "example": 4520
          },
          "volume": {
            "description": "Trading volume in base asset",
            "type": "number",
            "format": "double",
            "example": 1250.5
          }
        }
      }
    },
    "meta": {
      "type": "object",
      "properties": {
        "count": {
          "description": "Number of records returned",
          "type": "integer"
        },
        "next_cursor": {
          "description": "Cursor for pagination",
          "type": "string",
          "nullable": true
        }
      }
    },
    "success": {
      "type": "boolean",
      "example": true
    }
  }
}

Status 400

Invalid request

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getSpotCandles response 400",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
OpenAPI example
{
  "code": 400,
  "error": "Invalid request parameters"
}

Status 401

Authentication required

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getSpotCandles response 401",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
OpenAPI example
{
  "code": 401,
  "error": "Missing or invalid API key. Provide X-API-Key header."
}

Status 429

Rate limit exceeded

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getSpotCandles response 429",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    }
  }
}
OpenAPI example
{
  "code": 429,
  "error": "Rate limit exceeded"
}
Last modified on May 18, 2026