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

# Get Contest Leaderboard

> Returns a contest leaderboard sorted by PnL or volume.

### Endpoint

`GET /api/contests/{id}/leaderboard`

Returns a contest leaderboard sorted by PnL or volume.

### Parameters

| Parameter | Location | Required | Type    | Description                |
| --------- | -------- | -------- | ------- | -------------------------- |
| `id`      | path     | Yes      | string  | Contest ID.                |
| `sortBy`  | query    | No       | string  | Sort field: pnl or volume. |
| `limit`   | query    | No       | integer | Items to return.           |
| `offset`  | query    | No       | integer | Pagination offset.         |

### Usage Example

```bash theme={null}
curl -X GET "https://backend-global.gains.trade/api/contests/contest-id/leaderboard"
```

### Response Structure

The generated API panel lists the response schema for status codes: 200, 404, 503, 500. Error responses generally return an `error` or `message` field.


## OpenAPI

````yaml get /api/contests/{id}/leaderboard
openapi: 3.0.3
info:
  title: Gains Network Backend API
  version: 1.0.0
  description: >-
    OpenAPI reference for Gains Network backend-global and public chain-specific
    trading backend endpoints.
servers:
  - url: https://backend-global.gains.trade
    description: Backend Global API
  - url: https://backend-arbitrum.gains.trade
    description: Arbitrum trading backend
  - url: https://backend-base.gains.trade
    description: Base trading backend
  - url: https://backend-polygon.gains.trade
    description: Polygon trading backend
  - url: https://backend-sepolia.gains.trade
    description: Arbitrum Sepolia trading backend
  - url: http://localhost:3002
    description: Local backend-global development server
security: []
tags:
  - name: Health
  - name: Stats
  - name: APR
  - name: Trading History
  - name: Personal Trading History
  - name: Leaderboard
  - name: Holding Rates
  - name: Contests
  - name: Dapp
  - name: Wallet
  - name: Circle
  - name: Solana
  - name: Transak
  - name: Bridge
  - name: Campaigns
  - name: VIP
  - name: Notifications
  - name: Referrals
  - name: Trading Backend
  - name: Legacy Contests
  - name: Rewards
paths:
  /api/contests/{id}/leaderboard:
    get:
      tags:
        - Contests
      summary: Get Contest Leaderboard
      description: Returns a contest leaderboard sorted by PnL or volume.
      operationId: get_contest-leaderboard
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Contest ID.
        - name: sortBy
          in: query
          required: false
          schema:
            type: string
            example: pnl
          description: 'Sort field: pnl or volume.'
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            example: 50
          description: Items to return.
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            example: 0
          description: Pagination offset.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Service initializing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
        success:
          type: boolean
      additionalProperties: true

````