GET /traders/{address}/metrics: Performance Metrics (R5/R6/R7)
curl --request GET \
--url https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metricsimport requests
url = "https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metrics"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metrics', 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}/metrics",
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}/metrics"
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}/metrics")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metrics")
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_bodyTrader Data API
GET /traders/{address}/metrics: Performance Metrics (R5/R6/R7)
Low-latency R5/R6/R7 performance and fee metrics without the full R1 disposition set.
GET
/
trader-analytics
/
traders
/
{address}
/
metrics
GET /traders/{address}/metrics: Performance Metrics (R5/R6/R7)
curl --request GET \
--url https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metricsimport requests
url = "https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metrics"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metrics', 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}/metrics",
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}/metrics"
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}/metrics")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metrics")
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_bodySign 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.Statements are precomputed for a set of wallets. For any other wallet this endpoint returns
404 with "code": "STATEMENT_NOT_AVAILABLE", and retrying will not change the answer. For realized, unrealized and overall PnL of any wallet, including open positions that were never closed, use GET /traders/{address}.GET https://partner-api.bravadotrade.com/trader-analytics/traders/{address}/metrics
Path Parameters
Query Parameters
Response: R7 Performance Fields
Example
curl -G https://partner-api.bravadotrade.com/trader-analytics/traders/0xabc.../metrics \
-H "X-BRAVADO-API-KEY: $BRAVADO_API_KEY" \
-H "X-BRAVADO-TIMESTAMP: <unix-ms>" \
-H "X-BRAVADO-SIGNATURE: <signature-for-this-request>" \
-d basis=net
{
"trader": "0xabc...",
"r7": {
"nav_uusdc": "4200000000",
"trading_pnl_uusdc": "14820110000",
"roi": "0.3812",
"twr": "0.4100",
"win_rate": "0.6497"
}
}
uusdc fields are micro-USDC integers. Divide by 1,000,000 to convert to display USDC.