xcaDocs
Endpoints

Escaneos

Inicia el escaneo de un token o actualiza un reporte desactualizado.

POST/api/v1/scans

Pone en cola un análisis completo de un token y devuelve su estado actual. Puedes repetir la llamada con seguridad: nunca inicia un segundo escaneo mientras haya uno en curso.

Parámetros#

chainbody
Identificador de la red. Por ahora, solo solana."solana"por defecto: "solana"
addressbodyobligatorio
Dirección del token (mint) que quieres escanear.string

Solicitud#

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"}'
Pruébalo
Pega tu clave de API para enviar una solicitud real.

Respuesta#

status
Estado del escaneo."NONE" | "QUEUED" | "RUNNING" | "DONE" | "ERROR"
depth
Profundidad del reporte que el escaneo genera o actualiza."LIGHT" | "FULL" | null
step
Paso actual del escaneo.string | null
progress
Progreso de 0 a 100.number
stale
El reporte existente supera su tiempo de vida en caché.boolean
upgrading
Un reporte LIGHT se está actualizando a FULL.boolean
limitReached
Agotaste tu límite diario de escaneos; se devuelve el estado del reporte anterior.boolean

Respuesta de ejemplo#

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

Códigos de estado#

200Éxito
400validation — Un parámetro o el cuerpo de la solicitud no es válido; consulta error.issues.
401unauthorized — La clave de API falta, está mal formada o fue revocada.
402planRequired — Tu plan no incluye acceso a la API o a esta función.
429rateLimited — Demasiadas solicitudes por minuto o se agotó la cuota mensual.
503unavailable — Mantenimiento en curso o el proveedor de datos se quedó sin capacidad.

Cómo se comporta#

  • Reporte vigente: devuelve DONE de inmediato y no consume tu límite de escaneos.
  • Escaneo en curso: devuelve QUEUED o RUNNING con step y progress.
  • En cualquier otro caso: pone en cola un nuevo escaneo y consume un escaneo de tu límite diario.
  • Límite diario alcanzado, pero existe un reporte anterior: devuelve el estado de ese reporte con limitReached en true.

Esperar el resultado#

Consulta GET /tokens/{chain}/{address} cada 3–5 segundos hasta que el estado sea DONE o ERROR. La mayoría de los escaneos terminan en menos de un minuto.

Pasos del escaneo#

queuedEsperando en la cola.
marketObteniendo precio, liquidez y datos del mint.
holdersLeyendo la lista de holders.
tradesLeyendo las primeras operaciones para detectar snipers.
profilesPerfilando a los mayores holders: origen de fondos, antigüedad, PnL.
classifyAsignando clases y formando clústeres.
devRevisando los lanzamientos anteriores del creador.
saveCalculando el Holder Score y guardando.
doneTerminado.
errorFalló.
Mientras XCA está en mantenimiento o su proveedor de datos se queda sin capacidad, los escaneos devuelven 503 unavailable. Vuelve a intentarlo más tarde.