GET /leaderboard: Wallet Leaderboard
curl --request GET \
--url https://partner-api.bravadotrade.com/v2/polymarket/leaderboardimport requests
url = "https://partner-api.bravadotrade.com/v2/polymarket/leaderboard"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://partner-api.bravadotrade.com/v2/polymarket/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://partner-api.bravadotrade.com/v2/polymarket/leaderboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://partner-api.bravadotrade.com/v2/polymarket/leaderboard"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://partner-api.bravadotrade.com/v2/polymarket/leaderboard")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.bravadotrade.com/v2/polymarket/leaderboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"entries": [
{
"user": "<string>",
"rank": 123,
"entry_edge": "<string>",
"first_trade_at": 123,
"metrics": {},
"trading_styles": {}
}
],
"pagination": {},
"computed_at": 123
}Polymarket analytics
GET /leaderboard: Wallet Leaderboard
Polymarket wallets ranked for a rolling window, with trading-style filters and metric floors. Cursor-paginated.
GET
/
v2
/
polymarket
/
leaderboard
GET /leaderboard: Wallet Leaderboard
curl --request GET \
--url https://partner-api.bravadotrade.com/v2/polymarket/leaderboardimport requests
url = "https://partner-api.bravadotrade.com/v2/polymarket/leaderboard"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://partner-api.bravadotrade.com/v2/polymarket/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://partner-api.bravadotrade.com/v2/polymarket/leaderboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://partner-api.bravadotrade.com/v2/polymarket/leaderboard"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://partner-api.bravadotrade.com/v2/polymarket/leaderboard")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.bravadotrade.com/v2/polymarket/leaderboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"entries": [
{
"user": "<string>",
"rank": 123,
"entry_edge": "<string>",
"first_trade_at": 123,
"metrics": {},
"trading_styles": {}
}
],
"pagination": {},
"computed_at": 123
}Sign each request with a fresh HMAC signature. The cURL and HTTP header values below are placeholders, not reusable credentials. For runnable signing code, use request signing examples.
venue parameter). See response conventions for the number, timestamp and null rules.
GET https://partner-api.bravadotrade.com/v2/polymarket/leaderboard
Query Parameters
string
default:"all_time"
Rolling window: one of
1d, 7d, 30d, all_time.string
Rank metric: one of
total_pnl, roi, win_rate, volume, trades.string
Sort direction:
asc or desc.string
Include only wallets carrying this trading style (e.g.
WHALE, MARKET_MAKER). Case-insensitive.string
Exclude wallets carrying this trading style.
number
Minimum volume in USD.
integer
Minimum trade count.
integer
Rows per page, up to 100.
string
Opaque cursor from the previous page’s
pagination.pagination_key.Response
array
Show entry
Show entry
string
Wallet address.
integer
1-based rank within this page’s ordering.
string
Decimal string;
null when unknown.integer
Unix seconds;
null when unknown.object
Window metrics.
realized_pnl, total_pnl, volume (USD decimal strings); roi, win_rate (0–1 decimals); trades, wins, losses, positions_closed (counts); profit_factor, avg_buy_price, avg_sell_price; fees_paid, fees_refunded. Every field is a decimal string or null (see conventions — fees_paid is null on day windows, fees_refunded is always null).object
is_whale, is_market_maker, is_active_trader, is_buy_and_hold, is_degen, is_high_conviction, is_contrarian, is_value_hunter (booleans) and primary_style (string or null).object
limit, count, has_more (boolean), pagination_key (string or null).integer
Unix seconds the snapshot was computed.