> ## 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.

# Portfolio summaries of many wallets

> Same rows as GET /v1/accounts/batch/portfolio for up to your plan's batch size per call (Starter 250, Growth 1,000, Scale and Enterprise 10,000), JSON body {"addresses": [...]}. Unreadable wallets in `meta.unavailable` (not billed). Every wallet counts as queried (429 extraction_limit beyond your new-wallet allowance, before anything runs).

Pricing: base + per wallet + node reads. Scope: `accounts:read`.



## OpenAPI

````yaml /data-api/openapi.json post /v1/accounts/batch/portfolio
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/accounts/batch/portfolio:
    post:
      tags:
        - Accounts
      summary: Portfolio summaries of many wallets
      description: >-
        Same rows as GET /v1/accounts/batch/portfolio for up to your plan's
        batch size per call (Starter 250, Growth 1,000, Scale and Enterprise
        10,000), JSON body {"addresses": [...]}. Unreadable wallets in
        `meta.unavailable` (not billed). Every wallet counts as queried (429
        extraction_limit beyond your new-wallet allowance, before anything
        runs).


        Pricing: base + per wallet + node reads. Scope: `accounts:read`.
      operationId: postAccountsBatchPortfolio
      parameters:
        - 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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - addresses
              properties:
                addresses:
                  type: array
                  items:
                    type: string
                    pattern: ^0x[0-9a-fA-F]{40}$
                  minItems: 1
                  maxItems: 10000
                  uniqueItems: true
                  description: >-
                    Wallets (0x + 40 hex), distinct; at most your plan's batch
                    size (Starter 250, Growth 1,000, Scale and Enterprise
                    10,000).
      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
                        abstraction:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Account abstraction mode (default, unifiedAccount,
                            portfolioMargin, …)
                        account_value:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Perp account value on the core exchange (USD): perp
                            margin only, see equity (decimal string; may carry
                            extra trailing zeros)
                        total_notional:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Total perp position notional (decimal string; may
                            carry extra trailing zeros)
                        withdrawable:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Withdrawable (decimal string; may carry extra
                            trailing zeros)
                        maintenance_margin:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Cross maintenance margin used (decimal string; may
                            carry extra trailing zeros)
                        perp_positions:
                          type:
                            - integer
                            - 'null'
                          description: Open perp positions
                        spot_balances:
                          type:
                            - integer
                            - 'null'
                          description: Non-zero spot balances
                        spot_usdc:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Spot USDC balance (decimal string; may carry extra
                            trailing zeros)
                        as_of:
                          type:
                            - integer
                            - 'null'
                          description: Node state time (epoch ms)
                        equity:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Account equity (USD) as hyperdash.com shows it: perp
                            account value on every perp dex + spot balances at
                            their mids + staked HYPE. Unified and
                            portfolio-margin accounts: spot + staked HYPE only
                            (their perp margin is drawn from the spot balances).
                            Null when a price could not be read. Staked HYPE is
                            not read here (see GET /v1/accounts/{address}).
                            (decimal string; may carry extra trailing zeros)
                        spot_value:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Spot balances at their mids (USD): USDC = 1, other
                            tokens at their USDC pair's mid; tokens without a
                            market (e.g. outcome shares) count 0. (decimal
                            string; may carry extra trailing zeros)
                        staked_value:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Always null here: staked HYPE is not read in this
                            call, and equity leaves it out (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 -X POST -H 'Authorization: Bearer $HD_KEY' -H 'content-type:
            application/json' -d '{"addresses":["0x…"]}'
            'https://data.hyperdash.com/v1/accounts/batch/portfolio'
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.