0xArchive HIP-4 Outcomes - Outcomes API

HIP-4 outcome market discovery (one row per outcome, both sides combined). Use these to enumerate live and settled binary outcome markets. Data from May 2026.

Operations 3

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 /v1/hyperliquid/hip4/outcomes List HIP-4 outcome markets · List HIP-4 outcomes #
Ask an LLM
“Which HIP-4 prediction outcomes are live or settled?”
“Can I list only settled HIP-4 outcomes?”
Tell an agent
List all HIP-4 outcomes.
List HIP-4 outcomes where settled is {is_settled}.
GET /v1/hyperliquid/hip4/outcomes/{outcome_id} Get one HIP-4 outcome with aggregated open interest · Get HIP-4 outcome detail #
Ask an LLM
“What is the combined open interest across both sides of an outcome?”
“Can I check whether an outcome's Yes and No supply are at parity?”
Tell an agent
Get HIP-4 outcome {outcome_id}.
Show aggregated OI and side parity for outcome {outcome_id}.
GET /v1/hyperliquid/hip4/outcomes/by-slug/{slug} Look up a HIP-4 outcome by slug · Get HIP-4 outcome by slug #
Ask an LLM
“Can I find a HIP-4 outcome from a readable slug like btc-above-78213-may-04-0600?”
“Does outcome lookup accept a Yes or No side slug?”
Tell an agent
Find the HIP-4 outcome with slug {slug}.
Look up outcome {slug} by its side slug.

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-hip-4-outcomes-outcomes-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-hip-4-outcomes-outcomes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 0xArchive HIP-4 Outcomes - Outcomes 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: HIP-4 Outcomes - Outcomes
  description: HIP-4 outcome market discovery (one row per outcome, both sides combined). Use these to enumerate live and settled binary outcome markets. Data from May 2026.
paths:
  /v1/hyperliquid/hip4/outcomes:
    get:
      tags:
      - HIP-4 Outcomes - Outcomes
      summary: List HIP-4 outcomes
      description: List HIP-4 outcome markets (one row per outcome, both sides combined). Optional `is_settled` filter. Cursor pagination. Response uses `Hip4OutcomeAggregate` and OMITS the `aggregated_oi` field. Use `/outcomes/{outcome_id}` to fetch a single outcome with `aggregated_oi` populated. Data available from May 2026.
      operationId: listHip4Outcomes
      parameters:
      - name: is_settled
        in: query
        description: Filter by settlement status. Omit to return both live and settled outcomes.
        schema:
          type: boolean
      - name: cursor
        in: query
        description: Cursor for pagination (use the value from previous response's `next_cursor`)
        schema:
          type: string
      - name: limit
        in: query
        description: 'Maximum number of results (default: 100, max: 1000)'
        schema:
          type: integer
          default: 100
          maximum: 1000
      security:
      - ApiKeyAuth: []
      responses:
        '200':
          description: List of HIP-4 outcomes (without `aggregated_oi`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseHip4OutcomeAggregateArray'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /v1/hyperliquid/hip4/outcomes/{outcome_id}:
    get:
      tags:
      - HIP-4 Outcomes - Outcomes
      summary: Get HIP-4 outcome detail
      description: 'Get a single HIP-4 outcome by `outcome_id`. Response uses `Hip4OutcomeAggregate` WITH `aggregated_oi` populated: latest both-sides OI snapshot including `outcome_display_open_interest_contracts` (sum of side0 + side1), `paired_set_supply_contracts` (paired-set notional), and `side_supply_parity` (whether side0 == side1 within tolerance). Currency is always `USDH`. Data available from May 2026.'
      operationId: getHip4Outcome
      parameters:
      - name: outcome_id
        in: path
        required: true
        description: 'Numeric outcome ID (integer >= 0). Each outcome has two sides: side 0 (Yes) and side 1 (No).'
        schema:
          type: integer
          format: int64
          example: 0
        example: 0
      security:
      - ApiKeyAuth: []
      responses:
        '200':
          description: HIP-4 outcome detail (with `aggregated_oi`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseHip4OutcomeAggregate'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
  /v1/hyperliquid/hip4/outcomes/by-slug/{slug}:
    get:
      tags:
      - HIP-4 Outcomes - Outcomes
      summary: Get HIP-4 outcome by slug
      description: Look up a HIP-4 outcome aggregate by synthesized outcome slug or side slug, for example `btc-above-78213-may-04-0600` or `btc-above-78213-yes-may-04-0600`. Returns the same aggregate shape as `/outcomes/{outcome_id}` with `aggregated_oi` populated when available.
      operationId: getHip4OutcomeBySlug
      parameters:
      - name: slug
        in: path
        required: true
        description: HIP-4 outcome or side slug.
        schema:
          type: string
          example: btc-above-78213-may-04-0600
        example: btc-above-78213-may-04-0600
      responses:
        '200':
          description: HIP-4 outcome aggregate
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseHip4OutcomeAggregate'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    Hip4SideSpec:
      type: object
      description: 'Per-side spec nested in `Hip4OutcomeAggregate.side_specs`. One element per side (typically two: side 0 = Yes, side 1 = No).'
      required:
      - side
      - name
      - coin
      - asset_id
      properties:
        side:
          type: integer
          description: 'Side index: 0 = Yes, 1 = No'
          enum:
          - 0
          - 1
          example: 0
        name:
          type: string
          description: Human label for this side
          example: 'Yes'
        coin:
          type: string
          description: Coin identifier for this side. Returned in `#`-prefixed form. REST paths accept either the bare numeric id (e.g. `0`) or the `#`-prefixed form (e.g. `#0`).
          example: '#0'
        asset_id:
          type: integer
          format: int64
          description: Public asset ID for this side
          example: 100000000
    ApiResponseHip4OutcomeAggregateArray:
      type: object
      description: API response wrapping an array of HIP-4 outcome aggregates (without `aggregated_oi`; use `/outcomes/{outcome_id}` for the detail variant)
      properties:
        success:
          type: boolean
          example: true
        data:
          type: array
          items:
            $ref: '#/components/schemas/Hip4OutcomeAggregate'
        meta:
          $ref: '#/components/schemas/ApiMeta'
    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
    ApiResponseHip4OutcomeAggregate:
      type: object
      description: API response wrapping a single HIP-4 outcome aggregate (with `aggregated_oi` populated on the detail endpoint)
      properties:
        success:
          type: boolean
          example: true
        data:
          $ref: '#/components/schemas/Hip4OutcomeAggregate'
        meta:
          $ref: '#/components/schemas/ApiMeta'
    Hip4OutcomeAggregate:
      type: object
      description: Per-outcome aggregate (both sides combined). Returned by `/outcomes` (list, without `aggregated_oi`) and `/outcomes/{outcome_id}` (detail, with `aggregated_oi` populated).
      required:
      - outcome_id
      - side_specs
      - is_settled
      properties:
        outcome_id:
          type: integer
          format: int64
          description: Numeric outcome identifier
          example: 0
        name:
          type:
          - string
          - 'null'
          description: Human-readable outcome name (without per-side suffix)
          example: BTC ≥ 78213 by 2026-05-03 06:00 UTC
        description_raw:
          type:
          - string
          - 'null'
          description: Pipe-delimited recurring-market metadata as emitted upstream
          example: class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d
        class:
          type:
          - string
          - 'null'
          description: Outcome class (e.g., `priceBinary`)
          example: priceBinary
        underlying:
          type:
          - string
          - 'null'
          description: Underlying asset for recurring price-binary outcomes
          example: BTC
        expiry:
          type:
          - string
          - 'null'
          format: date-time
          description: Settlement timestamp (UTC)
          example: '2026-05-03T06:00:00Z'
        target_price:
          type:
          - number
          - 'null'
          description: Target price for the binary outcome
          example: 78213
        period:
          type:
          - string
          - 'null'
          description: Cadence of the recurring market (e.g., `1d`, `1h`)
          example: 1d
        side_specs:
          type: array
          description: 'Per-side specs. Typically two elements: side 0 (Yes) and side 1 (No).'
          items:
            $ref: '#/components/schemas/Hip4SideSpec'
        is_settled:
          type: boolean
          description: Whether the outcome has settled
          example: false
        status:
          type:
          - string
          - 'null'
          description: Lifecycle status (`live`, `settled`, ...)
          example: live
        source_seen_at:
          type:
          - string
          - 'null'
          format: date-time
          description: Last time the outcome was seen upstream
          example: '2026-05-02T20:25:00Z'
        aggregated_oi:
          allOf:
          - $ref: '#/components/schemas/Hip4AggregatedOi'
          description: Display/paired/parity OI aggregates. Populated ONLY on the `/outcomes/{outcome_id}` detail response. Omitted (or null) on the `/outcomes` list response.
    Hip4AggregatedOi:
      type: object
      description: Derived OI display fields combining both sides of a HIP-4 outcome. Currency is always `USDH` (Hyperliquid's stablecoin). Only populated on `/outcomes/{outcome_id}` (detail), NOT on `/outcomes` (list).
      required:
      - currency
      properties:
        side0_open_interest_contracts:
          type:
          - number
          - 'null'
          description: Latest open-interest contracts for side 0 (Yes)
          example: 568048
        side1_open_interest_contracts:
          type:
          - number
          - 'null'
          description: Latest open-interest contracts for side 1 (No)
          example: 568048
        outcome_display_open_interest_contracts:
          type:
          - number
          - 'null'
          description: 'Display total: sum of side0 + side1 OI contracts. Use this for outcome-level OI dashboards.'
          example: 1136096
        paired_set_supply_contracts:
          type:
          - number
          - 'null'
          description: 'Paired-set supply: minimum of side0 and side1 OI contracts. Represents the count of fully collateralized Yes+No pairs in circulation.'
          example: 568048
        side_supply_parity:
          type:
          - boolean
          - 'null'
          description: True when side0 OI equals side1 OI within tolerance. Parity should hold for binary outcomes; a sustained false value indicates ingestion drift.
          example: true
        currency:
          type: string
          description: Notional currency. Always `USDH` for HIP-4.
          enum:
          - USDH
          example: USDH
        as_of:
          type:
          - string
          - 'null'
          format: date-time
          description: Latest timestamp across both sides
          example: '2026-05-02T20:27:21Z'
        side0_as_of:
          type:
          - string
          - 'null'
          format: date-time
          description: Timestamp of the side 0 OI sample
          example: '2026-05-02T20:27:21Z'
        side1_as_of:
          type:
          - string
          - 'null'
          format: date-time
          description: Timestamp of the side 1 OI sample
          example: '2026-05-02T20:27:21Z'
    ApiMeta:
      type: object
      description: Response metadata
      properties:
        count:
          type: integer
          description: Number of records returned
        next_cursor:
          type:
          - string
          - 'null'
          description: Cursor for pagination (timestamp). Use this value as the `cursor` parameter to fetch the next page of results.
        request_id:
          type: string
          format: uuid
          description: Unique request ID for support
        coverage_from:
          type: string
          format: date-time
          description: Earliest coverage for the requested symbol and data type. Present only when the requested window ends before coverage begins.
        notice:
          type: string
          description: Human-readable advisory about the response. Currently used when the requested window ends before coverage begins for the symbol; may carry other advisories in future.
  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
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 401
            error: Missing or invalid API key. Provide X-API-Key header.
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 404
            error: Resource not found
    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.