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

# Token holder list



## OpenAPI

````yaml openapi-spec/history.yaml get /api/sol/tokens/holders/{tokenMint}
openapi: 3.0.3
info:
  title: Raze Database API
  description: >
    Paid subscription API for Solana transaction data and history.


    Also hosts write utilities (`/utils/sol/*`): token launch, transfer, burn,

    consolidate, fees claim/config, and agent initialize — previously on

    `router.raze.bot`. Mixer/distribute removed 2026-07-25.


    ## Batch Requests

    All endpoints with path parameters (mint, signer, address, tokenMint,
    ownerAddress) support batch queries

    via comma-separated values. For example:
    `/api/sol/trades/mint/mint1,mint2,mint3?limit=50`


    - Maximum 10 values per batch request

    - Each value must be a valid address (>= 32 characters)

    - Single values behave identically to non-batch requests

    - Batch response format: `{ "success": true, "results": { "value1": {...},
    "value2": {...} }, "count": N, "timestamp": "..." }`

    - Each key in `results` contains the full single-entity response

    - Queries run in parallel for maximum performance
  version: 1.0.0
servers:
  - url: https://api.raze.bot
    description: >-
      Raze global History API — GeoDNS routes to the nearest region
      automatically
security:
  - ApiKeyAuth: []
paths:
  /api/sol/tokens/holders/{tokenMint}:
    get:
      summary: Token holder list
      operationId: getTokenHolders
      parameters:
        - name: tokenMint
          in: path
          required: true
          schema:
            type: string
          example: Fyx78ew4wRY26gPj5CkTyuZ4kvW7CkPff5Jm2vNspump
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 20
          description: Maximum number of holders to return.
        - name: fresh
          in: query
          schema:
            type: boolean
            default: false
          description: >-
            Force an on-chain RPC refresh instead of serving cached/derived
            holders. Alias - `force_rpc`.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HoldersResponse'
        '400':
          description: Invalid token mint
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    HoldersResponse:
      type: object
      description: >
        Holder list. The per-item shape depends on `source`: the `trades` tier

        (derived from trade history) includes the full per-holder trade
        breakdown

        below; the `rpc` and `cryptohouse` tiers return a thinner item

        (`address`, `amount`, `isLiquidityPool`).
      properties:
        success:
          type: boolean
        tokenMint:
          type: string
        currentPriceSol:
          type: number
          nullable: true
          description: Current token price in SOL (used to value holdings).
        solPriceUSD:
          type: number
          nullable: true
        source:
          type: string
          enum:
            - trades
            - rpc
            - cryptohouse
          description: Which tier produced the holder list.
        holders:
          type: array
          items:
            type: object
            properties:
              address:
                type: string
              amount:
                type: number
              isLiquidityPool:
                type: boolean
              bought:
                type: number
                description: Trades tier only. Total tokens bought.
              sold:
                type: number
                description: Trades tier only. Total tokens sold.
              buySol:
                type: number
                description: Trades tier only. Total SOL spent buying.
              sellSol:
                type: number
                description: Trades tier only. Total SOL received selling.
              trades:
                type: integer
                description: Trades tier only. Total trade count.
              buyCount:
                type: integer
                description: Trades tier only.
              sellCount:
                type: integer
                description: Trades tier only.
              firstTrade:
                type: string
                format: date-time
                description: Trades tier only.
              lastTrade:
                type: string
                format: date-time
                description: Trades tier only.
              isSystemAccount:
                type: boolean
                description: Trades tier only. True for known system/program accounts.
        count:
          type: integer
        timestamp:
          type: string
          format: date-time
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
        code:
          type: string
        success:
          type: boolean
      example:
        error: Unauthorized
        message: Invalid API key
        code: INVALID_KEY
        success: false
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apiKey

````