curl --request GET \
--url https://api.coinversa.ai/api/public/v1/pulse/trader/{address} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.coinversa.ai/api/public/v1/pulse/trader/{address}"
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.coinversa.ai/api/public/v1/pulse/trader/{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://api.coinversa.ai/api/public/v1/pulse/trader/{address}",
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.coinversa.ai/api/public/v1/pulse/trader/{address}"
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.coinversa.ai/api/public/v1/pulse/trader/{address}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coinversa.ai/api/public/v1/pulse/trader/{address}")
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{
"address": "<string>",
"firstTradeAt": "<string>",
"largestLoss": 123,
"largestWin": 123,
"lastTradeAt": "<string>",
"totalFees": 123,
"totalPnl": 123,
"totalTrades": 123,
"totalVolume": 123,
"winRate": 123,
"winningTrades": 123,
"$schema": "https://api.coinversa.ai/schemas/LeaderboardTrader.json",
"pnlTier": "<string>",
"pnlTierRecent": "<string>",
"recentPnl": 123,
"recentVolume": 123,
"recentWindowEnd": "<string>",
"sizeTier": "<string>",
"sizeTierRecent": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}Inspect a wallet's trading context
Fetch the indexed trader profile for a wallet. Combine it with the WebSocket tradesByUser feed to follow wallet activity. Trade statistics describe indexed fills; a successful lookup does not establish that a stream is connected. A syntactically valid example address may have no indexed profile (404). Use a wallet you intend to inspect.
curl --request GET \
--url https://api.coinversa.ai/api/public/v1/pulse/trader/{address} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.coinversa.ai/api/public/v1/pulse/trader/{address}"
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.coinversa.ai/api/public/v1/pulse/trader/{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://api.coinversa.ai/api/public/v1/pulse/trader/{address}",
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.coinversa.ai/api/public/v1/pulse/trader/{address}"
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.coinversa.ai/api/public/v1/pulse/trader/{address}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coinversa.ai/api/public/v1/pulse/trader/{address}")
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{
"address": "<string>",
"firstTradeAt": "<string>",
"largestLoss": 123,
"largestWin": 123,
"lastTradeAt": "<string>",
"totalFees": 123,
"totalPnl": 123,
"totalTrades": 123,
"totalVolume": 123,
"winRate": 123,
"winningTrades": 123,
"$schema": "https://api.coinversa.ai/schemas/LeaderboardTrader.json",
"pnlTier": "<string>",
"pnlTierRecent": "<string>",
"recentPnl": 123,
"recentVolume": 123,
"recentWindowEnd": "<string>",
"sizeTier": "<string>",
"sizeTierRecent": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}{
"$schema": "https://api.coinversa.ai/schemas/APIError.json",
"code": "<string>",
"current_tier": "<string>",
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"reason": "<string>",
"required_tier": "<string>",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example",
"upgrade_url": "<string>"
}Authorizations
Create an API key at https://developers.coinversa.ai/keys. REST limits are shared across keys by account; access uses the effective tier of the presented key.
Path Parameters
Wallet address to inspect (0x followed by 40 hexadecimal characters). An unindexed address returns 404.
Response
OK
Wallet address.
RFC3339 time of the wallet's first indexed fill. null on day/week/month leaderboards.
Most negative single-fill closed PnL, USD (<= 0; 0 when the wallet has no losing fill). null on day/week/month leaderboards.
Largest single-fill closed PnL, USD. null on day/week/month leaderboards.
RFC3339 time of the wallet's last indexed fill. null on day/week/month leaderboards.
All-time fees paid, USD. null on day/week/month leaderboards, which do not compute it.
Indexed realized PnL, USD; period follows the endpoint.
Indexed fill count, not reconstructed position count.
Indexed traded notional, USD.
Winning fills divided by total fills, percent (0 to 100).
Indexed fills with positive closed PnL.
A URL to the JSON Schema for this object.
"https://api.coinversa.ai/schemas/LeaderboardTrader.json"
All-time PnL cohort legacy slug, when available.
Rolling 30-day PnL cohort legacy slug, when available.
Realized PnL over the recent classification window, USD, when available.
Traded notional over the recent classification window, USD, when available.
Classification window end date (YYYY-MM-DD), not request completion time.
All-time size cohort legacy slug, when available.
Rolling 30-day size cohort legacy slug, when available.

