Skip to main content

Documentation Index

Fetch the complete documentation index at: https://polynode.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Every distinct builder that has tagged at least one v2 fill, ranked by cumulative notional USDC. This is v2-exclusive — v2 is the first Polymarket exchange to carry a builder field on every order. For each builder you get the total fills, notional traded, fees collected on attributed fills, and average fill size.

Request

GET /clobv2/builders

Authentication

Paid tier required. See /clobv2/trades for auth formats.

Query parameters

ParameterTypeRequiredDescription
start / start_timeintegerNoUnix seconds — only count fills at or after this time.
end / end_timeintegerNoUnix seconds — only count fills at or before this time.
limitintegerNoMax builders returned (1-500, default 50).

Parameter validation

  • Timestamps: non-negative i64.
  • limit: 1-500.
Bad input → 400 Bad Request.

Response

{
  "count": 3,
  "source": "onchain-v2",
  "builders": [
    {
      "builder": "0x950f0672f032daa0ae4e0f94920cf6fa567cc597685622a609d97c872190d6d4",
      "fills": 34,
      "notional_usdc": "4751.20043600000000000000",
      "fee_collected_usdc": "2.603250000000000000000000",
      "avg_fill_usdc": "139.74118929411764705882"
    },
    {
      "builder": "0xa08e0a8aa56078aae802c7c5e0832b9f56c697603ac8e68e0c1acc895746c569",
      "fills": 6,
      "notional_usdc": "45.0000000000000000",
      "fee_collected_usdc": "0.000000000000000000000000",
      "avg_fill_usdc": "7.5000000000000000"
    }
  ]
}

Response fields

FieldTypeDescription
countintegerNumber of builders returned.
sourcestringAlways "onchain-v2".
builders[].builderstring32-byte builder tag. Always non-zero — the zero sentinel (0x000…000) is filtered out because it means “no builder”.
builders[].fillsintegerNumber of fills attributed to this builder.
builders[].notional_usdcstring (numeric)Cumulative USDC notional of attributed fills (from the maker side of each fill).
builders[].fee_collected_usdcstring (numeric)Total protocol fees paid on the attributed fills. This is NOT the builder’s rev share — builder rev share is paid off-chain weekly, not per-fill, and is a separate number.
builders[].avg_fill_usdcstring (numeric)notional_usdc / fills.

Rate-limit headers

Standard: x-ratelimit-limit, x-ratelimit-remaining, x-ratelimit-reset.

Examples

# Top 50 builders all-time
curl "https://api.polynode.dev/clobv2/builders" \
  -H "x-api-key: pn_live_..."

# Last 24 hours
curl "https://api.polynode.dev/clobv2/builders?start=$(( $(date +%s) - 86400 ))&end=$(date +%s)" \
  -H "x-api-key: pn_live_..."

# Top 5
curl "https://api.polynode.dev/clobv2/builders?limit=5" \
  -H "x-api-key: pn_live_..."

Error responses

StatusBodyWhen
400{"error": "invalid integer limit ..."} or {"error": "invalid timestamp ..."}Bad limit or timestamp.
401{"error": "missing API key ..."}No key or bad key.
402{"error": "paid plan required ..."}Free tier.
429{"error": "rate limit exceeded", "reset_at": <unix>}Rate limit hit.
5xx{"error": "upstream gateway error"}Transient upstream; retried once.

Notes

  • Builders are 32-byte tags stored on every v2 order; pull specific builder values from this endpoint and then filter /clobv2/trades?builder=... to see their individual fills.
  • Sorted by notional_usdc DESC. limit applies after sort.
  • fee_collected_usdc is the protocol fee that the matched orders paid at settlement time — not the builder’s rev share. Builder rev shares are paid off-chain on a weekly cadence and are not derivable from on-chain data alone.
  • The zero-address builder tag (0x0000…0000) means the order was submitted without a builder attribution, and is excluded from this leaderboard. Count it via /clobv2/trades?builder=0x0000…0000 if you need to measure the unattributed share.
  • Time filtering is inclusive on both ends.