GET /traders/{address}: Trader Profile Summary
curl --request GET \
--url https://partner-api.bravadotrade.com/trader-analytics/traders/{address}import requests
url = "https://partner-api.bravadotrade.com/trader-analytics/traders/{address}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://partner-api.bravadotrade.com/trader-analytics/traders/{address}', 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/trader-analytics/traders/{address}",
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/trader-analytics/traders/{address}"
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/trader-analytics/traders/{address}")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.bravadotrade.com/trader-analytics/traders/{address}")
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{
"combo": {
"realized_uusdc": "<string>",
"unrealized_uusdc": "<string>",
"fees_uusdc": "<string>",
"quality": "<string>"
}
}Trader Data API
GET /traders/{address}: Trader Profile Summary
Wallet performance summary: PnL, volume, position counts, streaks, and identity fields.
GET
/
trader-analytics
/
traders
/
{address}
GET /traders/{address}: Trader Profile Summary
curl --request GET \
--url https://partner-api.bravadotrade.com/trader-analytics/traders/{address}import requests
url = "https://partner-api.bravadotrade.com/trader-analytics/traders/{address}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://partner-api.bravadotrade.com/trader-analytics/traders/{address}', 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/trader-analytics/traders/{address}",
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/trader-analytics/traders/{address}"
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/trader-analytics/traders/{address}")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.bravadotrade.com/trader-analytics/traders/{address}")
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{
"combo": {
"realized_uusdc": "<string>",
"unrealized_uusdc": "<string>",
"fees_uusdc": "<string>",
"quality": "<string>"
}
}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. Python examples use the signed session from that page; Node.js examples use its
bravadoFetch helper.GET https://partner-api.bravadotrade.com/trader-analytics/traders/{address}
Path Parameters
string
required
Polygon wallet address in
0x… format. Case-insensitive.Query Parameters
string
default:"all"
Rolling time window. Accepted values:
1h, 4h, 24h, 7d, 30d, 90d, 365d, all.string
default:"net"
net deducts fees from realized_pnl and total_pnl; gross reports pre-fee figures.string
default:"total"
total returns a single income aggregate; detail expands into maker_rebate, reward_income, and liquidity_reward; none omits income fields.Response
object
Example
curl -G https://partner-api.bravadotrade.com/trader-analytics/traders/0xabc123def456abc123def456abc123def456abc1 \
-H "X-BRAVADO-API-KEY: $BRAVADO_API_KEY" \
-H "X-BRAVADO-TIMESTAMP: <unix-ms>" \
-H "X-BRAVADO-SIGNATURE: <signature-for-this-request>" \
-d window=30d \
-d basis=net \
-d income=detail
{
"trader": "0xabc123def456abc123def456abc123def456abc1",
"username": "sharpshooter",
"realized_pnl": "3420.110000",
"unrealized_pnl": "210.440000",
"total_pnl": "3630.550000",
"fees": "88.200000",
"volume": "32100.000000",
"active_positions": 5,
"total_trades": 390,
"win_rate": "0.6497",
"window": "30d"
}