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

# Leaderboard updates

> Live leaderboard snapshots for eligible wallets. Requires authentication.



## AsyncAPI

````yaml _generated/asyncapi.yaml leaderboardChannel
id: leaderboardChannel
title: Leaderboard updates
description: Live leaderboard snapshots for eligible wallets. Requires authentication.
servers:
  - id: production
    protocol: wss
    host: joyride.exchange
    bindings: []
    variables: []
address: leaderboard
parameters: []
bindings: []
operations:
  - &ref_0
    id: receiveLeaderboardUpdate
    title: Receive leaderboard update
    description: Receive live leaderboard snapshots.
    type: receive
    messages:
      - &ref_1
        id: LeaderboardUpdate
        contentType: application/json
        payload:
          - name: Leaderboard snapshot
            description: >-
              Live leaderboard snapshot delivered on the `leaderboard` channel.
              Wallets disqualified by admin review or automatic anti-abuse
              checks are excluded.
            type: object
            properties:
              - name: entries
                type: array
                required: true
                properties:
                  - name: rank
                    type: integer
                    description: 1-based global rank ordered by descending total P&L.
                    required: true
                  - name: wallet
                    type: string
                    required: true
                  - name: username
                    type: string
                    required: false
                  - name: avatar_url
                    type: string
                    required: false
                  - name: available
                    type: integer
                    description: Available balance (USDC micros).
                    required: true
                  - name: locked
                    type: integer
                    description: Locked balance (USDC micros).
                    required: true
                  - name: total_pnl
                    type: integer
                    description: >-
                      Total P&L: (available + locked - initial_balance) +
                      options_value (USDC micros).
                    required: true
                  - name: return_pct
                    type: number
                    description: 'Percentage return: total_pnl / initial_balance * 100.'
                    required: true
                  - name: unrealized_pnl
                    type: integer
                    description: Sum of per-position mark-to-market P&L (USDC micros).
                    required: true
                  - name: options_value
                    type: integer
                    description: >-
                      Net signed mark-to-market value of open positions (USDC
                      micros). Positive for longs, negative for shorts.
                    required: true
                  - name: equity
                    type: integer
                    description: >-
                      Total account value: available + locked + options_value
                      (USDC micros).
                    required: true
              - name: timestamp
                type: integer
                description: Server timestamp (milliseconds since epoch).
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            entries:
              type: array
              items:
                type: object
                properties:
                  rank:
                    type: integer
                    description: 1-based global rank ordered by descending total P&L.
                    x-parser-schema-id: <anonymous-schema-222>
                  wallet:
                    type: string
                    x-parser-schema-id: <anonymous-schema-223>
                  username:
                    type: string
                    nullable: true
                    x-parser-schema-id: <anonymous-schema-224>
                  avatar_url:
                    type: string
                    nullable: true
                    x-parser-schema-id: <anonymous-schema-225>
                  available:
                    type: integer
                    description: Available balance (USDC micros).
                    x-parser-schema-id: <anonymous-schema-226>
                  locked:
                    type: integer
                    description: Locked balance (USDC micros).
                    x-parser-schema-id: <anonymous-schema-227>
                  total_pnl:
                    type: integer
                    description: >-
                      Total P&L: (available + locked - initial_balance) +
                      options_value (USDC micros).
                    x-parser-schema-id: <anonymous-schema-228>
                  return_pct:
                    type: number
                    format: double
                    description: 'Percentage return: total_pnl / initial_balance * 100.'
                    x-parser-schema-id: <anonymous-schema-229>
                  unrealized_pnl:
                    type: integer
                    description: Sum of per-position mark-to-market P&L (USDC micros).
                    x-parser-schema-id: <anonymous-schema-230>
                  options_value:
                    type: integer
                    description: >-
                      Net signed mark-to-market value of open positions (USDC
                      micros). Positive for longs, negative for shorts.
                    x-parser-schema-id: <anonymous-schema-231>
                  equity:
                    type: integer
                    description: >-
                      Total account value: available + locked + options_value
                      (USDC micros).
                    x-parser-schema-id: <anonymous-schema-232>
                required:
                  - rank
                  - wallet
                  - available
                  - locked
                  - total_pnl
                  - return_pct
                  - unrealized_pnl
                  - options_value
                  - equity
                x-parser-schema-id: <anonymous-schema-221>
              x-parser-schema-id: <anonymous-schema-220>
            timestamp:
              type: integer
              description: Server timestamp (milliseconds since epoch).
              x-parser-schema-id: <anonymous-schema-233>
          required:
            - entries
            - timestamp
          x-parser-schema-id: <anonymous-schema-219>
        title: Leaderboard snapshot
        description: >-
          Live leaderboard snapshot delivered on the `leaderboard` channel.
          Wallets disqualified by admin review or automatic anti-abuse checks
          are excluded.
        example: |-
          {
            "entries": {
              "rank": 123,
              "wallet": "<string>",
              "username": "<string>",
              "avatar_url": "<string>",
              "available": 123,
              "locked": 123,
              "total_pnl": 123,
              "return_pct": 123,
              "unrealized_pnl": 123,
              "options_value": 123,
              "equity": 123
            },
            "timestamp": 123
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: LeaderboardUpdate
    bindings: []
    extensions:
      - id: x-parser-unique-object-id
        value: leaderboardChannel
sendOperations:
  - *ref_0
receiveOperations: []
sendMessages:
  - *ref_1
receiveMessages: []
extensions:
  - id: x-parser-unique-object-id
    value: leaderboardChannel
securitySchemes: []

````