> ## 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 public profile leaderboard rank

> Returns the trader’s overall P&L rank for the chosen period, or a null entry if private, opted out, awaiting a refresh or without completed trades. 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/profile/{username}
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/profile/{username}:
    get:
      tags:
        - Leaderboard
      summary: Get public profile leaderboard rank
      description: >-
        Returns the trader’s overall P&L rank for the chosen period, or a null
        entry if private, opted out, awaiting a refresh or without completed
        trades. 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: getV1LeaderboardProfileUsername
      parameters:
        - name: username
          in: path
          required: true
          schema:
            type: string
            minLength: 2
            maxLength: 24
            pattern: ^[a-zA-Z0-9]+$
        - name: period
          in: query
          schema:
            type: string
            enum:
              - 7d
              - 30d
              - 90d
              - all
            default: 30d
      responses:
        '200':
          description: Public leaderboard rank or null
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model221'
        '400':
          description: Validation failed
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model19'
        '500':
          description: An unexpected error occurred
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model5'
components:
  schemas:
    Model221:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          $ref: '#/components/schemas/Model220'
    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
    Model220:
      type: object
      properties:
        entry:
          $ref: '#/components/schemas/LeaderboardEntry'
        period:
          $ref: '#/components/schemas/period'
        updatedAt:
          type: string
          example: '2026-09-17T12:00:00.000Z'
          x-format:
            isoDate: true
    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
    period:
      type: string
      example: 30d
      default: 30d
      enum:
        - 7d
        - 30d
        - 90d
        - all

````

## Related topics

- [Get trader leaderboard](/platform-api/leaderboard/get-trader-leaderboard.md)
- [Update user profile](/platform-api/user/update-user-profile.md)
- [Create user profile](/platform-api/user/create-user-profile.md)
- [Get user profile by username](/platform-api/user/get-user-profile-by-username.md)
- [Get own user profile](/platform-api/user/get-own-user-profile.md)
