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

# Largest holders of one outcome

> Largest holders of one HIP-4 outcome, per side: shares, cost basis, average entry, realized PnL, how the balance was established, and at the side's live mid the notional and unrealized PnL. `sort=notional` ranks by notional as hyperdash.com's Top Holders does (the site also merges the outcomes of one event); the default ranks by shares. A side's mid is its own live mid, else 1 − the other side's (as the site); without one (e.g. a settled outcome) mid_px, notional and unrealized_pnl are null and those rows rank by shares, after the priced ones. Cached up to 30 s.

Pricing: base + per row + node reads. Scope: `analytics:read`.



## OpenAPI

````yaml /data-api/openapi.json get /v1/outcomes/{outcome}/holders
openapi: 3.1.0
info:
  title: Hyperdash Data API
  version: v1
  description: >-
    Hyperliquid data from Hyperdash's own nodes. Every response reports the
    credits it cost.
servers:
  - url: https://data.hyperdash.com
security: []
tags:
  - name: Accounts
  - name: Async jobs
  - name: Builders
  - name: Cohorts
  - name: HIP-3 DEXs
  - name: Leaderboards
  - name: Lending
  - name: Liquidations
  - name: Markets
  - name: Network
  - name: Outcomes
  - name: Positions
  - name: Snapshots
  - name: Spot
  - name: Staking
  - name: Traders
paths:
  /v1/outcomes/{outcome}/holders:
    get:
      tags:
        - Outcomes
      summary: Largest holders of one outcome
      description: >-
        Largest holders of one HIP-4 outcome, per side: shares, cost basis,
        average entry, realized PnL, how the balance was established, and at the
        side's live mid the notional and unrealized PnL. `sort=notional` ranks
        by notional as hyperdash.com's Top Holders does (the site also merges
        the outcomes of one event); the default ranks by shares. A side's mid is
        its own live mid, else 1 − the other side's (as the site); without one
        (e.g. a settled outcome) mid_px, notional and unrealized_pnl are null
        and those rows rank by shares, after the priced ones. Cached up to 30 s.


        Pricing: base + per row + node reads. Scope: `analytics:read`.
      operationId: getOutcomeHolders
      parameters:
        - name: outcome
          in: path
          required: true
          description: Outcome id.
          schema:
            type: integer
            minimum: 0
            maximum: 1000000000000000
        - name: side
          in: query
          required: false
          description: 0 = Yes, 1 = No (omit for both).
          schema:
            type: integer
            minimum: 0
            maximum: 1
        - name: sort
          in: query
          required: false
          description: 'Ranking: shares held, or notional at the live mid.'
          schema:
            type: string
            default: shares
            enum:
              - shares
              - notional
        - name: limit
          in: query
          required: false
          description: Rows (≤ 100).
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: X-Max-Credits
          in: header
          required: false
          description: Refuse (free) if the request could cost more.
          schema:
            type: integer
        - name: X-Credit-Price-Version
          in: header
          required: false
          description: Expected price version; 409 price_changed if it differs.
          schema:
            type: integer
      responses:
        '200':
          description: OK
          headers:
            X-Credits-Charged:
              schema:
                type: integer
            X-Credit-Price-Version:
              schema:
                type: integer
            X-Request-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - has_more
                  - next_cursor
                  - meta
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        address:
                          type: string
                          description: Wallet
                        side_index:
                          type: integer
                          description: 0 = Yes, 1 = No
                        shares:
                          type: string
                          description: >-
                            Shares held (decimal string; may carry extra
                            trailing zeros)
                        cost_basis:
                          type: string
                          description: >-
                            Remaining cost basis (USD) (decimal string; may
                            carry extra trailing zeros)
                        avg_entry:
                          type: string
                          description: >-
                            Average entry (decimal string; may carry extra
                            trailing zeros)
                        realized_pnl:
                          type: string
                          description: >-
                            Realized PnL (decimal string; may carry extra
                            trailing zeros)
                        fills:
                          type: integer
                          description: Fills
                        last_fill_at:
                          type: integer
                          description: Last fill, epoch ms
                        balance_status:
                          type:
                            - string
                            - 'null'
                          description: >-
                            reconciled (Hyperliquid balance check under 30 min
                            old, plus later fills), stale (older check) or
                            estimated (no check: replayed from fills)
                        balance_checked_at:
                          type:
                            - integer
                            - 'null'
                          description: Last balance check, epoch ms (null when estimated)
                        mid_px:
                          type:
                            - string
                            - 'null'
                          description: >-
                            The side's live mid (price per share, USD) (decimal
                            string; may carry extra trailing zeros)
                        notional:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Shares × mid_px (USD) (decimal string; may carry
                            extra trailing zeros)
                        unrealized_pnl:
                          type:
                            - string
                            - 'null'
                          description: >-
                            (mid_px − avg_entry) × shares (USD) (decimal string;
                            may carry extra trailing zeros)
                  has_more:
                    type: boolean
                  next_cursor:
                    type:
                      - string
                      - 'null'
                  meta:
                    type: object
        '400':
          description: Invalid parameter
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '401':
          description: Invalid, expired or revoked key
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '403':
          description: Scope, plan, history or credit limit
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '409':
          description: Price version changed
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '429':
          description: Rate limited (Retry-After)
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
        '503':
          description: Backend at capacity (Retry-After)
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
        - bearer: []
      x-codeSamples:
        - lang: curl
          source: >-
            curl -H 'Authorization: Bearer $HD_KEY'
            'https://data.hyperdash.com/v1/outcomes/1234/holders'
components:
  schemas:
    Problem:
      type: object
      required:
        - type
        - title
        - status
        - code
        - request_id
      properties:
        type:
          type: string
        title:
          type: string
        status:
          type: integer
        code:
          type: string
        detail:
          type: string
        hint:
          type: string
        request_id:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: hdk_sk_live_v1_… or hdk_sk_test_v1_…

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.