---
title: "Get Perpetual Trading Leaderboard Data"
method: POST
path: "/api/v1/perp-leaderboard"
tags: ["Perp Leaderboard"]
---

# Get Perpetual Trading Leaderboard Data

`POST /api/v1/perp-leaderboard`

Get perpetual trading leaderboard data showing the most profitable traders within a given date range. This endpoint provides trader performance metrics including total PnL, ROI, and account values.

**What it helps to answer:**

1. **Who are the most profitable perpetual traders in a given timeframe?**
2. **What are the ROI percentages for top performing traders?**
3. **What are the account values of successful perpetual traders?**
4. **How do trader addresses and labels correlate with performance?**

**Key Features:**
- Trader address and label information
- Total PnL tracking in USD
- ROI calculations as percentages
- Account value tracking
- Flexible filtering and sorting options

**Label Tier Control (`premium_labels`):**
When omitted or set to `false` (the default), the response contains free-tier labels and the request is billed at the standard credit cost for this endpoint. Passing `premium_labels=true` returns premium labels (Smart Money, Fund, and other advanced labels), is billed at **150 credits per call**, and requires a paid plan.

## Request body

- PerpLeaderboardRequest — Request model for Perp Leaderboard endpoint. This endpoint provides a perpetual trading leaderboard showing the most profitable traders within a given date range.
  - `date` DateOnlyRange, required — Date range model that only accepts YYYY-MM-DD format (no time components).
    - `from` string — Start date in YYYY-MM-DD format
    - `to` string — End date in YYYY-MM-DD format
  - `pagination` PaginationRequest — Pagination parameters for API requests.
    - `page` integer — Page number (1-based)
    - `per_page` integer — Number of records per page (max 1000)
  - `filters` PerpLeaderboardFilters — Filters for Perp Leaderboard endpoint. These filters control which traders are included in the leaderboard.
    - `trader_address` union — Trader address filter
      - string
      - string[]
    - `trader_address_label` union — Filter by wallet display name. Use LIKE patterns (%) for partial matching. Note: This filters by the wallet's display name, not by label category. To filter by smart money labels, use include_smart_money_labels instead.
      - string
      - string[]
    - `total_pnl` NumericRangeFilter — Filter for numeric values (floats) with optional min/max bounds. Use for prices, volumes, ratios, and other decimal values. - Values between -10.5 and 100.75
      - `min` number — Minimum value (inclusive)
      - `max` number — Maximum value (inclusive)
    - `roi` NumericRangeFilter — Filter for numeric values (floats) with optional min/max bounds. Use for prices, volumes, ratios, and other decimal values. - Values between -10.5 and 100.75
      - `min` number — Minimum value (inclusive)
      - `max` number — Maximum value (inclusive)
    - `account_value` NumericRangeFilter — Filter for numeric values (floats) with optional min/max bounds. Use for prices, volumes, ratios, and other decimal values. - Values between -10.5 and 100.75
      - `min` number — Minimum value (inclusive)
      - `max` number — Maximum value (inclusive)
    - `include_smart_money_labels` SmartMoneyFilterType[] — Filter to include only traders with these smart money labels. For Hyperliquid, use 'Smart HL Perps Trader'. See SmartMoneyFilterType enum for valid values.
    - `exclude_smart_money_labels` SmartMoneyFilterType[] — Exclude smart money labels
  - `premium_labels` boolean — Controls label tier in the response. When null/omitted or false (the default), returns free-tier labels at the standard credit cost for this endpoint. When true, returns premium labels (Smart Money, Fund, and other advanced labels), is billed at 150 credits per call, and requires a paid plan.
  - `order_by` SortOrderPerpLeaderboardSortField[] — Custom sort order to override the endpoint's default ordering
    - `field` 'total_pnl' | 'roi' | 'account_value', required — Enum for sortable fields in Perp Leaderboard.
    - `direction` 'ASC' | 'DESC', required — Enum for sort directions.

## Response `200`

Perpetual trading leaderboard data

- PerpLeaderboardResponse — Response model for Perp Leaderboard endpoint. Contains a list of leaderboard records with pagination and metadata.
  - `data` PerpLeaderboard[], required — List of Perp Leaderboard records
    - `trader_address` string, required — The Ethereum wallet address of the trader.
    - `trader_address_label` string — The name associated with the address, derived using Nansen's multichain label function for Ethereum.
    - `total_pnl` number — Profit and loss for the selected timeframe in USD.
    - `roi` number — Return on investment for the selected timeframe as percentage.
    - `account_value` number — Current total account value in USD. Note: Account value data is only available for the top 500K traders due to upstream data limitations. Traders outside the top 500K may show 0 or null values.
  - `pagination` PaginationInfo, required — Pagination information for API responses.
    - `page` integer — Current page number
    - `per_page` integer — Number of records per page
    - `is_last_page` boolean — Whether this is the last page

## Other responses

- `400` — Bad Request - Invalid request parameters or malformed request
- `401` — Authentication error - No API key found in request
- `402` — Payment Required - This endpoint supports pay-per-request via x402 and MPP. x402 responses advertise payment options in `Payment-Required`; MPP responses advertise a fresh `WWW-Authenticate: Payment ...` challenge. Successful MPP responses may include `Payment-Receipt`.
- `403` — Forbidden - User does not have required subscription tier or has exceeded credit limit
- `404` — Not Found - The requested resource was not found
- `422` — Validation error - Invalid request parameters
- `429` — Too Many Requests - Rate limit exceeded
- `500` — Internal Server Error - An unexpected error occurred

---

[API](https://skmtc.net/nansen/apis/nansen-api.md) · [All operations](https://skmtc.net/nansen/apis/nansen-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nansen/nansen-api/revisions/02a4d2e7d827/schema)
