curl --get "https://data.solanatracker.io/trades/{tokenAddress}" \
--header "x-api-key: YOUR_API_KEY" \
--data-urlencode "events=liquidity" \
--data-urlencode "enrich=identity" \
--data-urlencode "limit=50"import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getTokenTradeHistory('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', {
events: 'all', // Use 'liquidity' for LP adds/removes only, or 'trades' for swaps.
enrich: 'identity',
limit: 100,
sortDirection: 'DESC',
});
import requests
url = "https://data.solanatracker.io/trades/{tokenAddress}"
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://data.solanatracker.io/trades/{tokenAddress}', 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://data.solanatracker.io/trades/{tokenAddress}",
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://data.solanatracker.io/trades/{tokenAddress}"
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://data.solanatracker.io/trades/{tokenAddress}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/trades/{tokenAddress}")
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": "5V4apVkgHf49J5acYPiuh5rB89EGsF8ocSysgnD9vFfZsTtDamhN3MFDKJSq7Dn7Z6Y5XhjghuVYuvvYWnSFpnvW",
"amount": 90,
"priceUsd": 6,
"volume": 540,
"volumeSol": 3,
"type": "sell",
"wallet": "F7R61te4Ac8xZ4pfkJUdF6iaaHy9tnM8nVRUPv8H8EMi",
"time": 1789722000000,
"program": "pumpfun-amm",
"pools": [
"9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2"
]
}
],
"nextCursor": null,
"hasNextPage": false,
"sortDirection": "DESC"
}Get Token Trades
在此端点的代币、池和钱包范围内查询活动。使用 events=all 合并兑换交易与流动性增减,或使用 events=liquidity 仅获取流动性。省略 events 则保持仅返回兑换交易的行为。添加 enrich=identity 可获取两类记录的钱包身份。
流动性记录的类型为 add_liquidity 或 remove_liquidity,包含单个 pool 和 tokens[] 中的精确字符串数量,不含兑换价格、成交量或 PnL。REST 示例、分页和实时订阅请参阅流动性指南。
curl --get "https://data.solanatracker.io/trades/{tokenAddress}" \
--header "x-api-key: YOUR_API_KEY" \
--data-urlencode "events=liquidity" \
--data-urlencode "enrich=identity" \
--data-urlencode "limit=50"import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getTokenTradeHistory('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', {
events: 'all', // Use 'liquidity' for LP adds/removes only, or 'trades' for swaps.
enrich: 'identity',
limit: 100,
sortDirection: 'DESC',
});
import requests
url = "https://data.solanatracker.io/trades/{tokenAddress}"
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://data.solanatracker.io/trades/{tokenAddress}', 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://data.solanatracker.io/trades/{tokenAddress}",
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://data.solanatracker.io/trades/{tokenAddress}"
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://data.solanatracker.io/trades/{tokenAddress}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/trades/{tokenAddress}")
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": "5V4apVkgHf49J5acYPiuh5rB89EGsF8ocSysgnD9vFfZsTtDamhN3MFDKJSq7Dn7Z6Y5XhjghuVYuvvYWnSFpnvW",
"amount": 90,
"priceUsd": 6,
"volume": 540,
"volumeSol": 3,
"type": "sell",
"wallet": "F7R61te4Ac8xZ4pfkJUdF6iaaHy9tnM8nVRUPv8H8EMi",
"time": 1789722000000,
"program": "pumpfun-amm",
"pools": [
"9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2"
]
}
],
"nextCursor": null,
"hasNextPage": false,
"sortDirection": "DESC"
}SDK Example
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getTokenTradeHistory('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', {
events: 'all', // Use 'liquidity' for LP adds/removes only, or 'trades' for swaps.
enrich: 'identity',
limit: 100,
sortDirection: 'DESC',
});
授权
用于鉴权的 API Key
路径参数
查询参数
选择 trades(默认,仅兑换交易)、all(兑换与流动性)或 liquidity(仅流动性增减)。所有模式均返回 trades 数组。无效值返回 HTTP 400。
trades, all, liquidity 传入 identity,为每条交易或流动性记录添加当前钱包身份,包括可用的 KOL 资料、标签、交易平台、开发者/池标签和 SNS 名称。未知钱包返回 identity: null。省略时不查询身份。all 和 * 也启用身份;pool 和 developer 为兼容别名。
将 nextCursor 原样传回。默认交易模式使用时间戳;events=all 和 events=liquidity 返回不透明字符串,绑定代币、池、钱包、events 与 sortDirection。分页时请保持这些筛选不变。
结果数量默认 250,最多 500。events=all 或 events=liquidity 模式支持 1–500。
1 <= x <= 500时间顺序:DESC(从新到旧)或 ASC(从旧到新)。无效值返回 HTTP 400。
ASC, DESC 设为 true,为兑换交易的来源与目标代币添加元数据。流动性记录保留 tokens 数组,不添加兑换元数据。
设为 true,仅保留涉及请求代币的兑换交易。流动性操作不受影响。
此页面对您有帮助吗?