---
title: "Get paginated maker leaderboard"
method: GET
path: "/v2/leaderboard"
tags: ["Leaderboard"]
---

# Get paginated maker leaderboard

`GET /v2/leaderboard`

Returns a paginated list of makers sorted by profit, volume, or liquidity. When window is not lifetime, totalAmountTaken and realizedProfitUsd are window-scoped while liquidity, success rate, and counts remain lifetime.

## Query parameters

- `sortBy` 'profit' | 'volume' | 'liquidity'
- `sortOrder` 'asc' | 'desc'
- `window` 'lifetime' | '7d' | '30d' | '90d'
- `limit` integer
- `offset` integer

## Response `200`

Leaderboard retrieved successfully

- object
  - `success` boolean, required
  - `message` string, required
  - `responseObject` LeaderboardResponse
    - `makers` MakerResponse[], required
      - `id` string, required — Composite key: {chainId}_{makerAddressLowercase}
      - `chainId` number, required — Chain ID (8453 = Base)
      - `maker` string, required — Maker wallet address
      - `rank` number, required — Position in leaderboard for current sort
      - `totalAmountTaken` number, required — Total filled volume in USD
      - `grossDeposited` number, required — Total liquidity deposited over time in USD
      - `totalWithdrawn` number, required — Total liquidity withdrawn in USD
      - `outstandingIntentAmount` number, required — Currently locked in pending intents in USD
      - `activeDepositCount` integer, required — Current active deposits
      - `totalDepositCount` integer, required — Lifetime deposit count
      - `fulfilledIntents` integer, required — Successfully completed orders
      - `prunedIntents` integer, required — Expired/cancelled orders
      - `signaledIntents` integer, required — Orders that were signaled
      - `totalIntents` integer, required — Total orders received
      - `manualReleaseCount` integer, required — Manual releases (disputes)
      - `successRateBps` integer, required — Success rate in basis points (0-10000 = 0-100%)
      - `realizedProfitUsd` number, required — Total realized profit in USD
      - `aprBps` integer, nullable, required — Annualized return rate in basis points
      - `firstSeenAt` string, nullable, required — First activity timestamp (ISO 8601)
      - `updatedAt` string, required — Last activity timestamp (ISO 8601)
    - `pagination` Pagination, required
      - `total` integer, nullable, required — Total number of makers (null if not available)
      - `limit` integer, required — Page size
      - `offset` integer, required — Current offset
      - `hasMore` boolean, required — Whether there are more results
    - `window` 'lifetime' | '7d' | '30d' | '90d'
    - `windowStartDay` integer, nullable
    - `windowEndDay` integer, nullable
    - `meta` CacheMeta, required
      - `cachedAt` string, required — When the data was cached (ISO 8601)
      - `cacheExpiresAt` string, required — When the cache expires (ISO 8601)
      - `builtAt` string, nullable — When the snapshot backing this response was built (ISO 8601)
      - `partial` boolean — Whether the backing snapshot had partial window coverage
      - `degraded` boolean — Whether the response fell back to lifetime data
      - `effectiveWindow` 'lifetime' | '7d' | '30d' | '90d' — Window actually used for this response
  - `statusCode` number, required
  - `errorCode` string

---

[API](https://skmtc.dev/peer/apis/swagger-api.md) · [All operations](https://skmtc.dev/peer/apis/swagger-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/peer/swagger-api/revisions/d5fcf4abb61a/schema)
