xcaDocs
Ендпоінти

Холдери

Класифіковані холдери просканованого токена з 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[]
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
pnl30dPct
PnL за 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-ключ відсутній, некоректний або відкликаний.
402planRequired — Тариф не включає доступ до API або цю функцію.
404notFound — Токен ще не сканували або гаманець ще не профілювали.
429rateLimited — Забагато запитів на хвилину або вичерпано місячну квоту.

Класи холдерів#

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.