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

# Get trader leaderboard

> Public profiles participate automatically unless the trader explicitly opts out. All eligible evaluation and funded accounts are combined; demo and test accounts are excluded. P&L and win statistics use completed trades, net of fees and commissions; open positions are excluded. Periods include today and start at UTC midnight. Sharpe uses complete UTC calendar days (including zero-return days), a fixed initial-capital denominator, zero risk-free rate and sqrt(365) annualization; today is excluded. Sharpe requires at least 20 complete days and nonzero sample standard deviation. Undefined Sharpe/profit-factor results are excluded when ranking by that metric. Ranks share ties. Results refresh approximately every five minutes; stale results older than 30 minutes are omitted. Leaderboard participation publishes dollar amounts independently of Social Feed display settings. An opted-out or private profile is excluded immediately.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/leaderboard
openapi: 3.0.0
info:
  title: Hyperprop Platform API
  version: 1.0.0
  description: >-
    REST API for the Hyperprop Trading Platform — provision evaluation and
    funded trading accounts, manage traders and plans, react to account
    lifecycle events via signed webhooks, and reconcile billing. Built for prop
    firms integrating from their own backend.


    Authentication, quick start, error handling, idempotency, pagination, custom
    metadata, webhooks, and the MCP connector are documented at
    https://docs.hyperprop.com.
  x-logo:
    url: https://app.hyperprop.com/logo-icon.svg
    altText: Hyperprop
    href: https://hyperprop.com
servers:
  - url: https://api.hyperprop.com/platform
    description: Production
security: []
tags:
  - name: Authentication
    description: >-
      User authentication - signup, signin, signout, password reset, email
      verification, OAuth, and MFA
  - name: User
    description: >-
      User account management - profile, notifications, agreements, dismissals,
      and audit logs. Requires Bearer token.
  - name: Organization
    description: >-
      Organization management - profile, team, trading accounts, plans, and
      rules. Supports **dual authentication**: Bearer JWT token (dashboard
      users) OR X-API-Key (programmatic access).
  - name: Market Data
    description: CME futures contracts and market data. Requires Bearer token.
  - name: Indicator Builder
    description: >-
      AI-assisted authoring of custom Hyperprop Script indicators for the web
      terminal. Requires Bearer token.
  - name: System
    description: System endpoints - health checks and connectivity
paths:
  /v1/leaderboard:
    get:
      tags:
        - Leaderboard
      summary: Get trader leaderboard
      description: >-
        Public profiles participate automatically unless the trader explicitly
        opts out. All eligible evaluation and funded accounts are combined; demo
        and test accounts are excluded. P&L and win statistics use completed
        trades, net of fees and commissions; open positions are excluded.
        Periods include today and start at UTC midnight. Sharpe uses complete
        UTC calendar days (including zero-return days), a fixed initial-capital
        denominator, zero risk-free rate and sqrt(365) annualization; today is
        excluded. Sharpe requires at least 20 complete days and nonzero sample
        standard deviation. Undefined Sharpe/profit-factor results are excluded
        when ranking by that metric. Ranks share ties. Results refresh
        approximately every five minutes; stale results older than 30 minutes
        are omitted. Leaderboard participation publishes dollar amounts
        independently of Social Feed display settings. An opted-out or private
        profile is excluded immediately.
      operationId: getV1Leaderboard
      parameters:
        - name: period
          in: query
          schema:
            type: string
            enum:
              - 7d
              - 30d
              - 90d
              - all
            default: 30d
        - name: sort
          in: query
          schema:
            type: string
            enum:
              - pnl
              - sharpe
              - winRate
              - profitFactor
            default: pnl
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: offset
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 1000000
            default: 0
      responses:
        '200':
          description: Ranked participating traders
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model18'
        '400':
          description: Validation failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model19'
        '500':
          description: An unexpected error occurred
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model5'
components:
  schemas:
    Model18:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          $ref: '#/components/schemas/Model17'
    Model19:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 400
        error:
          type: string
          example: Bad Request
        message:
          type: string
          example: Validation failed
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: VALIDATION_ERROR
    Model5:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 500
        error:
          type: string
          example: Internal Server Error
        message:
          type: string
          example: An unexpected error occurred
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: INTERNAL_ERROR
    Model17:
      type: object
      properties:
        items:
          $ref: '#/components/schemas/items'
        total:
          type: integer
          example: 125
        hasMore:
          type: boolean
          example: true
        period:
          $ref: '#/components/schemas/period'
        sort:
          $ref: '#/components/schemas/sort'
        updatedAt:
          type: string
          example: '2026-09-17T12:00:00.000Z'
          x-format:
            isoDate: true
    items:
      type: array
      items:
        $ref: '#/components/schemas/LeaderboardEntry'
    period:
      type: string
      example: 30d
      default: 30d
      enum:
        - 7d
        - 30d
        - 90d
        - all
    sort:
      type: string
      example: pnl
      enum:
        - pnl
        - sharpe
        - winRate
        - profitFactor
    LeaderboardEntry:
      type: object
      properties:
        rank:
          type: integer
          example: 1
          minimum: 1
        username:
          type: string
          example: alextrades
        displayName:
          type: string
          example: Alex
        avatarUrl:
          type: string
          example: null
        pnl:
          type: number
          description: Completed-trade P&L in USD, after fees and commissions
          example: 1520.5
        sharpe:
          type: number
          description: >-
            Annualized daily return Sharpe; null when fewer than 20 complete
            calendar days or undefined
          example: 1.25
        winRate:
          type: number
          description: Percentage of completed trades with positive net P&L
          example: 60
          minimum: 0
          maximum: 100
        profitFactor:
          type: number
          description: >-
            Net winning trade profits divided by net losing trade losses; null
            when there are no losses
          example: 1.8
          minimum: 0
        trades:
          type: integer
          example: 25
          minimum: 0
        tradingDays:
          type: integer
          description: UTC days with at least one completed trade
          example: 12
          minimum: 0
        maxDrawdown:
          type: number
          description: >-
            Largest realized closed-trade peak-to-trough decline in USD within
            the period
          example: 350
          minimum: 0

````

## Related topics

- [Get public profile leaderboard rank](/platform-api/leaderboard/get-public-profile-leaderboard-rank.md)
- [Get a specific trader](/platform-api/organization/get-a-specific-trader.md)
- [Get traders for your organization](/platform-api/organization/get-traders-for-your-organization.md)
- [Update user profile](/platform-api/user/update-user-profile.md)
- [Get user profile by username](/platform-api/user/get-user-profile-by-username.md)
