xcaDocs
Эндпоинты

Сканы

Запуск скана токена или обновление устаревшего отчёта.

POST/api/v1/scans

Ставит в очередь полный анализ токена и возвращает его текущее состояние. Вызов можно безопасно повторять: он никогда не запускает второй скан, пока идёт первый.

Параметры#

chainbody
Идентификатор сети. Пока только solana."solana"по умолчанию: "solana"
addressbodyобязательно
Адрес токена (mint), который нужно просканировать.string

Запрос#

curl -s -X POST "https://app.xca.fun/api/v1/scans" \
  -H "Authorization: Bearer $XCA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"chain":"solana","address":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"}'
Попробовать
Вставь свой API-ключ, чтобы отправить настоящий запрос.

Ответ#

status
Состояние скана."NONE" | "QUEUED" | "RUNNING" | "DONE" | "ERROR"
depth
Глубина отчёта, который скан создаёт или обновляет."LIGHT" | "FULL" | null
step
Текущий шаг скана.string | null
progress
Прогресс от 0 до 100.number
stale
Существующий отчёт старше времени жизни кеша.boolean
upgrading
LIGHT-отчёт дополняется до FULL.boolean
limitReached
Дневной лимит сканов исчерпан; возвращается состояние более старого отчёта.boolean

Пример ответа#

{
  "status": "QUEUED",
  "depth": null,
  "step": "queued",
  "progress": 0,
  "stale": false,
  "upgrading": false,
  "limitReached": false
}

Коды статусов#

200Успех
400validation — Некорректный параметр или тело запроса; смотри error.issues.
401unauthorized — API-ключ отсутствует, некорректен или отозван.
402planRequired — Тариф не включает доступ к API или эту функцию.
429rateLimited — Слишком много запросов в минуту или исчерпана месячная квота.
503unavailable — Техобслуживание или у поставщика данных закончилась мощность.

Как себя ведёт#

  • Свежий отчёт: сразу возвращает DONE и не тратит лимит сканов.
  • Скан уже идёт: возвращает QUEUED или RUNNING со step и progress.
  • Иначе: ставит новый скан в очередь и тратит один скан из дневного лимита.
  • Дневной лимит исчерпан, но есть более старый отчёт: возвращает его состояние с limitReached = true.

Ожидание результата#

Опрашивай GET /tokens/{chain}/{address} раз в 3–5 секунд, пока статус не станет DONE или ERROR. Большинство сканов завершается за минуту.

Шаги скана#

queuedЖдёт в очереди.
marketПолучает цену, ликвидность и данные mint.
holdersЧитает список холдеров.
tradesЧитает самые первые сделки, чтобы найти снайперов.
profilesПрофилирует крупнейших холдеров: финансирование, возраст, PnL.
classifyНазначает классы и строит кластеры.
devПроверяет предыдущие запуски создателя.
saveСчитает Holder Score и сохраняет отчёт.
doneГотово.
errorОшибка.
Пока XCA на техобслуживании или у поставщика данных закончилась мощность, сканы возвращают 503 unavailable. Попробуй позже.