Latest KOL spot trades
curl --request GET \
--url https://mainnet.solanatracker.io/trades/kols \
--header 'x-api-key: <api-key>'import requests
url = "https://mainnet.solanatracker.io/trades/kols"
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://mainnet.solanatracker.io/trades/kols', 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://mainnet.solanatracker.io/trades/kols",
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://mainnet.solanatracker.io/trades/kols"
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://mainnet.solanatracker.io/trades/kols")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.solanatracker.io/trades/kols")
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{
"trades": [
{
"tx": "2fWJCNojUK7SyLY1atumdq1tPyUZSS9ENvH6XmdhozvkbZEjqF3aeh2APc93QNBCE4L1yDZCB5a3wp4fS7KCRc7H",
"amount": 13720522.130153,
"priceUsd": 0.0001106240879205581,
"volume": 1517.8202464420085,
"volumeSol": 20.202379779999998,
"type": "buy",
"wallet": "9jyqFiLnruggwNn4EQwBNFXwpbLM9hrA4hV59ytyAVVz",
"time": 1786471285000,
"program": "axiom-flash",
"pools": [],
"identity": {
"name": "Nach",
"twitter": "@NachSOL",
"avatar": "https://kol-avatar.solanatracker.io/9jyqFiLnruggwNn4EQwBNFXwpbLM9hrA4hV59ytyAVVz"
}
}
],
"nextCursor": "eyJ0aW1lIjoxNzg2NDcxMTg1MDAwfQ",
"hasNextPage": true,
"sortDirection": "DESC",
"minVolume": 1000
}KOL Trades
Latest KOL spot trades
Returns the newest spot DEX trades from wallets on the shared KOL roster with absolute USD volume at or above minVolume. Each trade includes identity when available.
GET
/
trades
/
kols
Latest KOL spot trades
curl --request GET \
--url https://mainnet.solanatracker.io/trades/kols \
--header 'x-api-key: <api-key>'import requests
url = "https://mainnet.solanatracker.io/trades/kols"
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://mainnet.solanatracker.io/trades/kols', 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://mainnet.solanatracker.io/trades/kols",
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://mainnet.solanatracker.io/trades/kols"
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://mainnet.solanatracker.io/trades/kols")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://mainnet.solanatracker.io/trades/kols")
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{
"trades": [
{
"tx": "2fWJCNojUK7SyLY1atumdq1tPyUZSS9ENvH6XmdhozvkbZEjqF3aeh2APc93QNBCE4L1yDZCB5a3wp4fS7KCRc7H",
"amount": 13720522.130153,
"priceUsd": 0.0001106240879205581,
"volume": 1517.8202464420085,
"volumeSol": 20.202379779999998,
"type": "buy",
"wallet": "9jyqFiLnruggwNn4EQwBNFXwpbLM9hrA4hV59ytyAVVz",
"time": 1786471285000,
"program": "axiom-flash",
"pools": [],
"identity": {
"name": "Nach",
"twitter": "@NachSOL",
"avatar": "https://kol-avatar.solanatracker.io/9jyqFiLnruggwNn4EQwBNFXwpbLM9hrA4hV59ytyAVVz"
}
}
],
"nextCursor": "eyJ0aW1lIjoxNzg2NDcxMTg1MDAwfQ",
"hasNextPage": true,
"sortDirection": "DESC",
"minVolume": 1000
}Authorizations
Query Parameters
Minimum absolute USD volume for KOL trades. Use 0 or omit the parameter to receive all eligible KOL trades. Allowed: 0, 1000, 2500, 5000, 10000. Default 0.
Available options:
0, 1000, 2500, 5000, 10000 Pagination cursor. Prefer the opaque nextCursor from the previous response (base64url JSON of time/tx/token/side/wallet). A raw millisecond timestamp is also accepted.
Page size. Default 250, max 500.
Required range:
1 <= x <= 500When true, attach meta.from / meta.to token metadata and historical prices.
Token-scoped KOL only. Keep rows where from or to matches the path token.
Only DESC is supported.
Available options:
DESC Response
Latest spot trades
Was this page helpful?