0xArchive System API

Health checks and system status

Operations 4

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /health Check whether the API is up · Health check #
Ask an LLM
“Is the 0xArchive API up right now?”
“Can I ping a health endpoint without an API key?”
Tell an agent
Check the API health status.
Run an unauthenticated health check before starting my data pull.
GET /v1/symbols List every public market symbol · List public symbols #
Ask an LLM
“Which market symbols can I get data for across all venues?”
“Where do I find the full symbol universe before picking a venue-specific route?”
Tell an agent
List all public market symbols across every venue family.
Pull the public symbol list so I can see which coins are covered.
GET /v1/stats Get public API usage statistics · Get public API stats #
Ask an LLM
“What headline statistics does the public stats endpoint report?”
“Can I read the lightweight public API stats without authenticating?”
Tell an agent
Fetch the public API stats.
Show me the lightweight public statistics used on the website.
GET /v1/status/coverage Get the public data coverage status · Get public coverage status #
Ask an LLM
“Is there a public, no-auth view of data coverage across venues?”
“How fresh is the public coverage summary shown on the status page?”
Tell an agent
Get the public coverage status summary.
Show the no-auth coverage status used by the status page.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/0xarchive:0xarchive-system-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

0xarchive-system-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 0xArchive System API
  description: REST API for current and historical market data from Hyperliquid and Lighter. Hyperliquid coverage includes core perpetuals, Spot, HIP-3 builder perpetuals, and HIP-4 outcome markets. Coverage and access requirements vary by route. See https://docs.0xarchive.io/ for authentication, limits, and examples.
  version: 1.6.1
  termsOfService: https://0xarchive.io/terms
  contact:
    name: 0xArchive Support
    url: https://0xarchive.io
    email: support@0xarchive.io
  license:
    name: Proprietary
    url: https://0xarchive.io/terms
servers:
- url: https://api.0xarchive.io
  description: Production API
security:
- ApiKeyAuth: []
tags:
- name: System
  description: Health checks and system status
paths:
  /health:
    get:
      tags:
      - System
      summary: Health check
      description: Check API health status. No authentication required.
      operationId: healthCheck
      security: []
      responses:
        '200':
          description: API is healthy
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
  /v1/symbols:
    get:
      tags:
      - System
      summary: List public symbols
      description: List the public market symbol universe across supported 0xArchive venue families. This no-auth feed powers website discovery and can be used before choosing a venue-specific route. It is a public utility route, not a legacy alias.
      operationId: listSymbols
      security: []
      parameters: []
      responses:
        '200':
          description: Public symbol universe
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SymbolsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/RateLimited'
  /v1/stats:
    get:
      tags:
      - System
      summary: Get public API stats
      description: Get lightweight public statistics used by website/product surfaces. This is a no-auth public utility route, not a legacy alias.
      operationId: getPublicStats
      security: []
      parameters: []
      responses:
        '200':
          description: Public statistics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/RateLimited'
  /v1/status/coverage:
    get:
      tags:
      - System
      summary: Get public coverage status
      description: Get the public coverage summary used by status and discovery surfaces. Response is cached by the API for five minutes. This no-auth public utility route reuses the data-quality coverage shape and is not a legacy alias.
      operationId: getPublicCoverageStatus
      security: []
      parameters: []
      responses:
        '200':
          description: Public coverage status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoverageResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    ExchangeCoverageResponse:
      type: object
      description: Coverage for a single exchange
      properties:
        exchange:
          type: string
          description: Exchange name
        data_types:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DataTypeCoverage'
    CoverageResponse:
      type: object
      description: Overall coverage response
      properties:
        exchanges:
          type: array
          items:
            $ref: '#/components/schemas/ExchangeCoverageResponse'
    Error:
      type: object
      description: Error response
      properties:
        code:
          type: integer
          description: HTTP status code
        error:
          type: string
          description: Error message
        error_code:
          type: string
          description: 'Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.'
        request_id:
          type: string
          format: uuid
          description: Unique request ID for support
    SymbolEntry:
      type: object
      description: Public market symbol entry.
      required:
      - symbol
      - exchange
      - data_types
      properties:
        symbol:
          type: string
          example: BTC
        exchange:
          type: string
          description: Venue-family key.
          example: hyperliquid
        coverage_from:
          type:
          - string
          - 'null'
          format: date-time
        coverage_to:
          type:
          - string
          - 'null'
          format: date-time
        data_types:
          type: array
          items:
            type: string
          example:
          - l2_orderbook
          - trades
          - liquidations
        coverage_by_type:
          type: object
          additionalProperties:
            type: string
            format: date-time
        size_per_day:
          type: object
          additionalProperties:
            type: number
        slug:
          type:
          - string
          - 'null'
          description: HIP-4 slug when available.
        outcome_pair:
          type:
          - array
          - 'null'
          items:
            type: string
          minItems: 2
          maxItems: 2
        display_title:
          type:
          - string
          - 'null'
        is_settled:
          type:
          - boolean
          - 'null'
        is_active:
          type:
          - boolean
          - 'null'
      additionalProperties: false
    SymbolsResponse:
      type: object
      description: Public symbol universe response.
      required:
      - symbols
      properties:
        symbols:
          type: array
          items:
            $ref: '#/components/schemas/SymbolEntry'
    DataTypeCoverage:
      type: object
      description: Coverage for a data type
      properties:
        earliest:
          type: string
          format: date-time
          description: Earliest available data timestamp
        latest:
          type: string
          format: date-time
          description: Latest available data timestamp
        total_records:
          type: integer
          format: int64
          description: Total number of records
        symbols:
          type: integer
          description: Number of symbols with data
        resolution:
          type:
          - string
          - 'null'
          description: Data resolution (e.g., '1.2s', '1m')
        lag:
          type:
          - string
          - 'null'
          description: Current data lag
        completeness:
          type: number
          description: Completeness percentage (0-100)
    StatsResponse:
      type: object
      description: Public lightweight API/site statistics.
      properties:
        l4_open_orders:
          type: integer
          format: int64
          description: Current L4 open-order count used by public status/product surfaces.
          example: 1234567
      additionalProperties: true
  responses:
    RateLimited:
      description: Rate limit exceeded
      headers:
        X-RateLimit-Limit:
          schema:
            type: integer
          description: Requests per second limit
        X-RateLimit-Remaining:
          schema:
            type: integer
          description: Remaining requests this second
        X-RateLimit-Reset:
          schema:
            type: integer
          description: Unix timestamp when limit resets
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 429
            error: Rate limit exceeded
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 400
            error: 'Failed to deserialize query string: limit: invalid digit found in string'
            error_code: invalid_query_params
            request_id: 3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authentication. Get yours at https://0xarchive.io/dashboard
externalDocs:
  description: 0xArchive Developer Docs
  url: https://docs.0xarchive.io/
x-0xarchive-docs-language-overlay:
  name: data-quality-supported-venue-language
  reason: Public OpenAPI language must describe supported venue-family coverage instead of broad exchange coverage.
  updated_at: '2026-05-24'
  remove_when: Public source OpenAPI uses supported venue-family wording for data-quality coverage and latency descriptions.
x-0xarchive-docs-overlay:
  name: hyperliquid-spot
  reason: Hyperliquid Spot routes are included in the local REST contract.
  source: live endpoint behavior and public CLI/MCP/Skill surface truth
  updated_at: '2026-05-08'
  remove_when: Public source contract includes the same Spot route family.