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. Get bounded historical trades for a Hyperliquid Spot pair.

Route Metadata

FieldValue
MethodGET
Path/v1/hyperliquid/spot/trades/{symbol}
operationIdgetHyperliquidSpotTrades
TagHyperliquid Spot
FamilyHyperliquid Spot
Deprecated or legacyno

Request Parameters

Path Parameters

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidSpotTrades path parameters",
  "type": "object",
  "required": [
    "symbol"
  ],
  "properties": {
    "symbol": {
      "description": "Hyperliquid Spot pair symbol, for example HYPE-USDC",
      "type": "string",
      "example": "HYPE-USDC",
      "x-parameter-location": "path"
    }
  }
}

Query Parameters

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidSpotTrades query parameters",
  "type": "object",
  "properties": {
    "start": {
      "description": "Start timestamp for bounded historical queries.",
      "oneOf": [
        {
          "type": "integer",
          "format": "int64",
          "example": 1704067200000
        },
        {
          "type": "string",
          "format": "date-time",
          "example": "2026-01-01T00:00:00Z"
        }
      ],
      "x-parameter-location": "query"
    },
    "end": {
      "description": "End timestamp for bounded historical queries.",
      "oneOf": [
        {
          "type": "integer",
          "format": "int64",
          "example": 1704070800000
        },
        {
          "type": "string",
          "format": "date-time",
          "example": "2026-01-01T01:00:00Z"
        }
      ],
      "x-parameter-location": "query"
    },
    "cursor": {
      "description": "Cursor for pagination. Use the value from the previous response metadata.",
      "type": "string",
      "x-parameter-location": "query"
    },
    "limit": {
      "description": "Maximum number of records to return.",
      "type": "integer",
      "default": 100,
      "maximum": 10000,
      "x-parameter-location": "query"
    }
  }
}

Response Contracts

Status 200

List of trades with cursor for next page

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidSpotTrades response 200",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "description": "Trade/fill record with full execution details",
        "type": "object",
        "required": [
          "coin",
          "price",
          "side",
          "size",
          "symbol",
          "timestamp"
        ],
        "properties": {
          "builder_address": {
            "description": "Builder address that routed this order. Present only when the order was placed through a builder.",
            "type": "string",
            "nullable": true
          },
          "builder_fee": {
            "description": "Builder fee charged on this fill, paid to the builder (in quote currency, typically USDC). Present only when builder_address is set.",
            "type": "string",
            "nullable": true
          },
          "cloid": {
            "description": "Client order ID",
            "type": "string",
            "nullable": true
          },
          "closed_pnl": {
            "description": "Realized PnL if closing a position",
            "type": "string",
            "nullable": true
          },
          "coin": {
            "description": "Trading pair symbol (deprecated, use symbol instead)",
            "type": "string",
            "deprecated": true,
            "example": "BTC"
          },
          "crossed": {
            "description": "True if taker (crossed the spread), false if maker",
            "type": "boolean",
            "nullable": true
          },
          "deployer_fee": {
            "description": "HIP-3 deployer fee share on this fill (in quote currency). Negative for the maker side (rebate), positive for the taker side. Present only on HIP-3 fills.",
            "type": "string",
            "nullable": true
          },
          "direction": {
            "description": "Position direction (e.g., 'Open Long', 'Close Short', 'Long > Short')",
            "type": "string",
            "nullable": true
          },
          "fee": {
            "description": "Trading fee amount",
            "type": "string",
            "nullable": true
          },
          "fee_token": {
            "description": "Fee denomination (e.g., USDC)",
            "type": "string",
            "nullable": true
          },
          "maker_address": {
            "description": "Maker's wallet address (the resting order)",
            "type": "string",
            "nullable": true
          },
          "order_id": {
            "description": "Associated order ID",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "price": {
            "description": "Execution price",
            "type": "string",
            "example": "42150.50"
          },
          "priority_gas": {
            "description": "Priority fee burned in HYPE (not USDC) for write priority on the Hyperliquid validator queue. Independent of builder_fee and deployer_fee — paid to the network, not to a builder or deployer. Present only when the order paid for priority.",
            "type": "number",
            "nullable": true
          },
          "side": {
            "description": "Trade side: 'B' (buy) or 'A' (sell/ask)",
            "type": "string",
            "enum": [
              "A",
              "B"
            ],
            "example": "B"
          },
          "size": {
            "description": "Trade size",
            "type": "string",
            "example": "0.5"
          },
          "start_position": {
            "description": "Position size before this trade",
            "type": "string",
            "nullable": true
          },
          "symbol": {
            "description": "Trading pair symbol",
            "type": "string",
            "example": "BTC"
          },
          "taker_address": {
            "description": "Taker's wallet address (crossed the spread)",
            "type": "string",
            "nullable": true
          },
          "timestamp": {
            "description": "Execution timestamp (UTC)",
            "type": "string",
            "format": "date-time",
            "example": "2025-01-21T10:30:45.123Z"
          },
          "trade_id": {
            "description": "Unique trade ID",
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "twap_id": {
            "description": "TWAP execution ID",
            "type": "integer",
            "nullable": true
          },
          "tx_hash": {
            "description": "Blockchain transaction hash",
            "type": "string",
            "nullable": true
          },
          "user_address": {
            "description": "User's wallet address",
            "type": "string",
            "nullable": true
          }
        }
      }
    },
    "meta": {
      "description": "Response metadata",
      "type": "object",
      "properties": {
        "count": {
          "description": "Number of records returned",
          "type": "integer"
        },
        "next_cursor": {
          "description": "Cursor for pagination (timestamp). Use this value as the `cursor` parameter to fetch the next page of results.",
          "type": "string",
          "nullable": true
        },
        "request_id": {
          "description": "Unique request ID for support",
          "type": "string",
          "format": "uuid"
        }
      }
    },
    "success": {
      "type": "boolean",
      "example": true
    }
  }
}

Status 400

Invalid request

application/json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidSpotTrades 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": "getHyperliquidSpotTrades 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": "getHyperliquidSpotTrades 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