Эндпоинты
Холдеры
Классифицированные холдеры просканированного токена с PnL, временем входа и источником финансирования — постранично.
GET
/api/v1/tokens/{chain}/{address}/holdersВозвращает проанализированных холдеров токена, отсортированных по рангу, с классом, который XCA назначил каждому кошельку. Токен должен быть просканирован, иначе придёт 404.
Параметры#
chainpathобязательноИдентификатор сети. Пока только solana."solana"
addresspathобязательноАдрес токена (mint).string
pagequeryНомер страницы, начиная с 1.integer ≥ 1по умолчанию: 1
pageSizequeryХолдеров на страницу.10 | 25 | 50 | 100по умолчанию: 100
classqueryВозвращать только холдеров этого класса.ALL | HolderClassпо умолчанию: ALL
Запрос#
curl -s "https://app.xca.fun/api/v1/tokens/solana/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263/holders?class=SMART_MONEY&pageSize=25" \
-H "Authorization: Bearer $XCA_API_KEY"Попробовать
Вставь свой API-ключ, чтобы отправить настоящий запрос.
Ответ#
rowsХолдеры на этой странице.HolderRow[]
rowsХолдеры на этой странице.HolderRow[]
rankМесто по балансу, 1 — крупнейший.number
addressАдрес кошелька.string | null
sharePctДоля предложения.number
valueUsdСтоимость позиции, USD.number | null
classКласс, который XCA назначил кошельку.HolderClass | "HIDDEN"
flagsДополнительные признаки кошелька.string[]
entryAtВремя первой покупки.string | null
entryBlockБлоков между запуском и первой покупкой (у снайперов — мало).number | null
pnl30dUsdРеализованный и нереализованный PnL за 30 дней, USD.number | null
pnl30dPctPnL за 30 дней, проценты.number | null
winRateДоля прибыльных сделок, от 0 до 1.number | null
avgHoldSecСреднее время удержания, секунды.number | null
trades30dСделок за 30 дней.number | null
fundedByКошелёк, первым пополнивший этот.string | null
clusterIdКластер, к которому относится кошелёк.string | null
profiledЕсть полный профиль кошелька.boolean
totalВидимых холдеров, подходящих под фильтр.number
lockedCountХолдеров, скрытых лимитом тарифа.number
pageТекущая страница.number
pageSizeХолдеров на страницу.number
visibleLimitСколько топ-холдеров показывает тариф; -1 — всех.number
Пример ответа#
{
"rows": [
{
"rank": 4,
"address": "5Hr7wZg7oBpVhH5nngRqzr5W7ZFUfCsfEhbziZJak7fr",
"sharePct": 1.92,
"valueUsd": 3641200,
"class": "SMART_MONEY",
"flags": [
"smart"
],
"entryAt": "2023-01-04T18:22:10.000Z",
"entryBlock": null,
"pnl30dUsd": 48210.7,
"pnl30dPct": 31.4,
"winRate": 0.64,
"avgHoldSec": 1209600,
"trades30d": 37,
"fundedBy": "FWznbcNXWQuHTawe9RxvQ2LdCENssh12dsznf4RiouN5",
"clusterId": null,
"profiled": true
}
],
"total": 7,
"lockedCount": 0,
"page": 1,
"pageSize": 25,
"visibleLimit": -1
}Коды статусов#
200Успех
400validation — Некорректный параметр или тело запроса; смотри
error.issues.401unauthorized — API-ключ отсутствует, некорректен или отозван.
402
planRequired — Тариф не включает доступ к API или эту функцию.404
notFound — Токен ещё не сканировали или кошелёк ещё не профилировали.429
rateLimited — Слишком много запросов в минуту или исчерпана месячная квота.Классы холдеров#
SMART_MONEY | Прибыльный трейдер за 30 дней с высоким win rate. |
REGULAR | Ничего примечательного. |
DEV | Создатель токена. |
DEV_BUNDLE | Покупал вместе с создателем или профинансирован создателем. |
SNIPER | Купил в первых блоках после запуска. |
FRESH | Только что созданный кошелёк. |
POOL | Пул ликвидности, хранилище или bonding curve. |
CEX | Кошелёк централизованной биржи. |
BURN | Адрес сжигания. |
Стоит знать#
- Тариф ограничивает, сколько топ-холдеров видно; total считает только видимых, а
lockedCountпоказывает, сколько ещё есть. - Фильтр по
SNIPER,DEV_BUNDLE,SMART_MONEYилиFRESHтребует соответствующей функции в тарифе, иначе придёт 402. - Класс, который твой тариф не видит, возвращается как
HIDDEN. - Поля PnL зависят от уровня PnL в тарифе: базовый даёт pnl30dUsd и
winRate, подробный добавляет pnl30dPct,avgHoldSecи trades30d.