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

# List Holder Concentration Index

> Returns a paginated list of stablecoins and RWA tokens with daily-updated holder concentration data. Each record includes top-10 and top-30 cohort objects with a Herfindahl-style index, linear top-share percentage, and a risk band. `meta.byRiskBand` counts are computed before the `riskBand` filter so dashboards always see the full ecosystem distribution. `meta.riskBandThresholds` documents the band derivation thresholds in-band.



## OpenAPI

````yaml GET /rwa/hci
openapi: 3.0.1
info:
  title: Risk Score API
  description: API definition for Webacy Risk Scores
  version: 1.2.0
servers:
  - url: https://api.webacy.com
    description: Webacy Risk Score API (Production)
  - url: https://api-development.webacy.com
    description: Webacy Risk Score API (Development)
  - url: http://0.0.0.0:3030/api/v1/risk-score
    description: Webacy Risk Score API - Local
security:
  - api_key: []
tags:
  - name: Threat Risks
    description: Analyze addresses for security threats and malicious activity
  - name: Sanction Checks
    description: Check addresses against OFAC and other sanction lists
  - name: Approval Risks
    description: Analyze token approvals and associated risks
  - name: Transaction Risks
    description: Assess risk details for blockchain transactions
  - name: Exposure Risk
    description: Understand risk profile and exposure of addresses
  - name: Contract Risk
    description: Real-time smart contract security analysis
  - name: URL Risks
    description: Analyze URLs for phishing and security threats
  - name: API Usage
    description: Monitor and manage API consumption
  - name: Holder Analysis
    description: Token holder distribution and sniper detection
  - name: Address Poisoning
    description: Detect address poisoning attack patterns
  - name: Token Analysis
    description: Comprehensive token security and market analysis
  - name: Pool Analysis
    description: Liquidity pool data and analysis
  - name: Transaction Scanning
    description: Scan and simulate transactions for risks
  - name: trading-lite
    description: Lightweight trading risk assessment
  - name: RWA & Pegged Tokens
    description: >-
      Real-world asset and pegged-token analytics (supply flows, mint/burn
      velocity)
  - name: Vault Risk v3
    description: >-
      Webacy-native v3 vault risk surface — composite grade, categories,
      coverage, and the framework taxonomy (RFC-019).
  - name: RWA Risk v3
    description: >-
      Webacy-native v3 RWA / stablecoin risk surface — composite grade,
      structural-health criteria, and batch (RFC-019).
paths:
  /rwa/hci:
    get:
      tags:
        - Depeg Monitor
      summary: List Holder Concentration Index
      description: >-
        Returns a paginated list of stablecoins and RWA tokens with
        daily-updated holder concentration data. Each record includes top-10 and
        top-30 cohort objects with a Herfindahl-style index, linear top-share
        percentage, and a risk band. `meta.byRiskBand` counts are computed
        before the `riskBand` filter so dashboards always see the full ecosystem
        distribution. `meta.riskBandThresholds` documents the band derivation
        thresholds in-band.
      operationId: listHolderConcentrationIndex
      parameters:
        - name: chain
          in: query
          description: >-
            Filter by chain slug (eth, arb, base, opt, pol, bsc, sol). Returns
            400 for unrecognized values.
          required: false
          schema:
            type: string
          example: eth
        - name: riskBand
          in: query
          description: >-
            Filter by HCI risk band. Case-sensitive lowercase. Returns 400 for
            unrecognized or incorrectly-cased values. `meta.byRiskBand` counts
            are always computed before this filter.
          required: false
          schema:
            type: string
            enum:
              - low
              - medium
              - high
              - extreme
        - name: minTop10Index
          in: query
          description: >-
            Minimum top-10 holder concentration index (0–1). E.g. 0.4 returns
            high and extreme tokens only. Returns 400 for non-numeric or
            out-of-range values.
          required: false
          schema:
            type: number
            minimum: 0
            maximum: 1
          example: 0.4
        - name: sort
          in: query
          description: Field to sort by. Defaults to top10Index.
          required: false
          schema:
            type: string
            enum:
              - top10Index
              - top30Index
              - symbol
              - chain
              - holderCount
            default: top10Index
        - name: order
          in: query
          description: Sort direction. Defaults to desc.
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
        - name: page
          in: query
          description: 1-indexed page number. Defaults to 1.
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: pageSize
          in: query
          description: Number of results per page. Defaults to 50, max 500.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 50
      responses:
        '200':
          description: >-
            Paginated HCI list with per-token holderConcentration data and
            ecosystem-wide meta aggregates
          content:
            application/json:
              example:
                data:
                  - chain: eth
                    address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
                    symbol: USDC
                    name: USD Coin
                    holderConcentration:
                      top10:
                        index: 0.421
                        topSharePct: 62.3
                        riskBand: high
                      top30:
                        index: 0.612
                        topSharePct: 78.5
                        riskBand: extreme
                      holderCount: 2341847
                  - chain: eth
                    address: '0xdac17f958d2ee523a2206206994597c13d831ec7'
                    symbol: USDT
                    name: Tether USD
                    holderConcentration:
                      top10:
                        index: 0.183
                        topSharePct: 41.7
                        riskBand: low
                      top30:
                        index: 0.241
                        topSharePct: 55.2
                        riskBand: medium
                      holderCount: 5892341
                meta:
                  generatedAt: '2026-04-24T03:00:00Z'
                  stale: false
                  page: 1
                  pageSize: 50
                  total: 749
                  totalPages: 15
                  totalUnfiltered: 749
                  byRiskBand:
                    low: 312
                    medium: 187
                    high: 198
                    extreme: 52
                  riskBandThresholds:
                    low:
                      - 0
                      - 0.2
                    medium:
                      - 0.2
                      - 0.4
                    high:
                      - 0.4
                      - 0.6
                    extreme:
                      - 0.6
                      - 1
        '400':
          description: Invalid chain, riskBand, minTop10Index, sort, or order value
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '503':
          description: HCI data temporarily unavailable (S3/cache failure)
      security:
        - api_key: []
components:
  responses:
    UnauthorizedError:
      description: Authorization information is missing or invalid
      content:
        application/json:
          example:
            message: Unauthorized
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: x-api-key

````