Credits Leaderboard
curl --request GET \
--url https://api.polynode.dev/v3/credits/leaderboard \
--header 'x-api-key: <api-key>'import requests
url = "https://api.polynode.dev/v3/credits/leaderboard"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.polynode.dev/v3/credits/leaderboard', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.polynode.dev/v3/credits/leaderboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.polynode.dev/v3/credits/leaderboard"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.polynode.dev/v3/credits/leaderboard")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polynode.dev/v3/credits/leaderboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 2,
"leaderboard": [
{
"count": 106,
"eoa": "0x4ea8472864fc33f3ea826899e96aebd976e136b6",
"first_ts": 1774400703,
"last_ts": 1783385494,
"rank": 1,
"total": "667213.708000",
"username": "0x06dc51826bc524d9a83770e7de9dd7e005b0452",
"wallet": "0x06dc51826bc524d9a83770e7de9dd7e005b04524",
"wallet_type": "safe"
},
{
"count": 2,
"eoa": null,
"first_ts": 1782418339,
"last_ts": 1782418442,
"rank": 2,
"total": "597264.000000",
"username": null,
"wallet": "0x2d507657ca4ebcc8f9a38f6764c07310b66dea54",
"wallet_type": null
}
],
"types": [
"referral_reward"
],
"window": "all"
}Credits API Reference
Credits Leaderboard
Top earners for any credit type over any window, across every wallet. Not possible with Polymarket’s per-wallet activity feed.
GET
/
v3
/
credits
/
leaderboard
Credits Leaderboard
curl --request GET \
--url https://api.polynode.dev/v3/credits/leaderboard \
--header 'x-api-key: <api-key>'import requests
url = "https://api.polynode.dev/v3/credits/leaderboard"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.polynode.dev/v3/credits/leaderboard', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.polynode.dev/v3/credits/leaderboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.polynode.dev/v3/credits/leaderboard"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.polynode.dev/v3/credits/leaderboard")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polynode.dev/v3/credits/leaderboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 2,
"leaderboard": [
{
"count": 106,
"eoa": "0x4ea8472864fc33f3ea826899e96aebd976e136b6",
"first_ts": 1774400703,
"last_ts": 1783385494,
"rank": 1,
"total": "667213.708000",
"username": "0x06dc51826bc524d9a83770e7de9dd7e005b0452",
"wallet": "0x06dc51826bc524d9a83770e7de9dd7e005b04524",
"wallet_type": "safe"
},
{
"count": 2,
"eoa": null,
"first_ts": 1782418339,
"last_ts": 1782418442,
"rank": 2,
"total": "597264.000000",
"username": null,
"wallet": "0x2d507657ca4ebcc8f9a38f6764c07310b66dea54",
"wallet_type": null
}
],
"types": [
"referral_reward"
],
"window": "all"
}Top earners for any credit program over 24h/7d/30d/all-time or an explicit time range.
Add
Leaderboard entries are identity-enriched: each row carries
username (Polymarket display name), eoa (controlling account) and wallet_type where known. Fields are null for wallets without a resolved identity.Credit types
Every credits endpoint accepts these values intype/types:
| Value | Program |
|---|---|
reward | Liquidity rewards |
yield | Yield on balances |
maker_rebate | Maker rebates |
taker_rebate | Taker rebates |
referral_reward | Referral rewards |
types accepts a comma-separated set (types=maker_rebate,taker_rebate) or all.
One leaderboard per program
# liquidity rewards
curl "https://api.polynode.dev/v3/credits/leaderboard?type=reward&limit=25" \
-H "x-api-key: $POLYNODE_API_KEY"
# yield
curl "https://api.polynode.dev/v3/credits/leaderboard?type=yield&limit=25" \
-H "x-api-key: $POLYNODE_API_KEY"
# maker rebates
curl "https://api.polynode.dev/v3/credits/leaderboard?type=maker_rebate&limit=25" \
-H "x-api-key: $POLYNODE_API_KEY"
# taker rebates
curl "https://api.polynode.dev/v3/credits/leaderboard?type=taker_rebate&limit=25" \
-H "x-api-key: $POLYNODE_API_KEY"
# referral rewards
curl "https://api.polynode.dev/v3/credits/leaderboard?type=referral_reward&limit=25" \
-H "x-api-key: $POLYNODE_API_KEY"
window=7d (or 24h/30d), or explicit start_ts/end_ts, and min_amount to filter small earners. type=all ranks by combined credits.Authorizations
Query Parameters
One of reward, yield, maker_rebate, taker_rebate, referral_reward, or all to rank by combined credits.
Available options:
reward, yield, maker_rebate, taker_rebate, referral_reward, all Comma-separated set of credit types (One of reward, yield, maker_rebate, taker_rebate, referral_reward), or all for every type.
24h, 7d, 30d, or all (default).
Unix seconds start bound (inclusive).
Unix seconds end bound (inclusive).
Minimum total to appear (USD).
Entries, max 100 (default 25).
Pagination offset.
Response
200 - application/json
Success

