---
title: "Builder revenue leaderboard"
method: GET
path: "/api/public/v1/builders/leaderboard"
tags: ["Builder Analytics"]
---

# Builder revenue leaderboard

`GET /api/public/v1/builders/leaderboard`

Builders ranked by exact revenue from Hyperliquid's cumulative builder-fee ledger over the requested period (day, week, or month). Each row carries join-attributed volume, distinct users, and fill counts — plus the same metrics for the immediately preceding window for deltas — and the builder's most common requested fee rate over the last 7d of orders. Attributed metrics slightly undercount versus ledger revenue because trigger-order fills (stop/TP) are not yet attributed (~6% of fees ecosystem-wide), and are null altogether when the attribution pass exceeds its budget — revenue always serves. See the response's dataNotes.

## Query parameters

- `period` 'day' | 'week' | 'month'
- `limit` integer
- `offset` integer

## Response `200`

OK

- BuilderLeaderboardBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `builders` BuilderLeaderboardRow[], nullable, required
    - `attributedFills` integer, nullable, required — null when unavailable
    - `attributedUsers` integer, nullable, required — Distinct wallets with attributed fills in the window; null when unavailable
    - `attributedVolumeUsd` number, double, nullable, required — Join-attributed fill volume; null when the attribution pass was unavailable for this response (see dataNotes), 0 when the builder genuinely had no attributed fills
    - `builder` string, required
    - `builderName` string — Known display name for the builder; omitted if unknown
    - `feeTenthsBp` integer, nullable, required — Most common requested builder fee over the last 7d of orders, in tenths of a basis point. Fetched independently of the attributed figures above, so it can be null while they are populated and vice versa; null means the fee-rate pass was unavailable (see dataNotes), never that the builder charges nothing
    - `prevAttributedFills` integer, nullable, required
    - `prevAttributedUsers` integer, nullable, required
    - `prevAttributedVolumeUsd` number, double, nullable, required
    - `prevRevenueUsd` number, double, required — Same-length window immediately before, for deltas
    - `revenueUsd` number, double, required — Exact, from HL's cumulative fee ledger
  - `dataNotes` string, required
  - `ecosystem` BuilderEcosystemStats
    - `allTimeRevenueUsd` number, double, required — Total builder revenue since each code's first fee: sum of the latest cumulative ledger entry per (builder, token)
    - `computedAt` string, required — When these stats were computed (RFC3339); refreshed on a short TTL, not per-request
    - `feePayingUsers24h` integer, required — Distinct wallets whose fills carried a builder fee in the trailing 24h, across ALL builder codes, deduplicated — measured directly on fills, no attribution join
  - `period` string, required
  - `verified` BuilderStamp
    - `coverage` BuilderCoverage, required
      - `attributed_fees_usd` number, double, required — Join-attributed fees in the rollup window
      - `computed_at` string, required — When the rollup was computed (RFC3339)
      - `ledger_fees_usd` number, double, required — Exact ledger revenue in the rollup window
      - `ratio` number, double, required — attributed_fees / ledger_fees — the share of revenue the fill-level metrics account for
      - `window_end` string, required — End of that window (RFC3339)
      - `window_start` string, required — Start of the window the coverage rollup was computed over (RFC3339)
    - `ledger_block` integer, required — Latest block in HL's builder-fee ledger this data was verified against
    - `ledger_chain_time` string, required — Chain timestamp of that ledger entry (RFC3339)

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `422` — Unprocessable Entity
- `429` — Too Many Requests
- `500` — Internal Server Error
- `504` — Gateway Timeout

---

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