xcaDocs
Endpoints

Scans

Inicie o scan de um token ou atualize um relatório desatualizado.

POST/api/v1/scans

Coloca na fila uma análise completa de um token e retorna o estado atual dela. A chamada pode ser repetida com segurança: ela nunca inicia um segundo scan enquanto outro estiver em andamento.

Parâmetros#

chainbody
ID da rede. Por enquanto, apenas solana."solana"padrão: "solana"
addressbodyobrigatório
Endereço do mint do token a escanear.string

Requisição#

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"}'
Testar
Cole sua chave de API para enviar uma requisição real.

Resposta#

status
Estado do scan."NONE" | "QUEUED" | "RUNNING" | "DONE" | "ERROR"
depth
Profundidade do relatório que o scan gera ou atualiza."LIGHT" | "FULL" | null
step
Etapa atual do scan.string | null
progress
Progresso de 0 a 100.number
stale
O relatório existente é mais antigo que o tempo de vida do cache.boolean
upgrading
Um relatório LIGHT está sendo atualizado para FULL.boolean
limitReached
O seu limite diário de scans acabou; é retornado o estado do relatório anterior.boolean

Exemplo de resposta#

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

Códigos de status#

200Sucesso
400validation — Um parâmetro ou o corpo da requisição é inválido; veja error.issues.
401unauthorized — A chave de API está ausente, malformada ou revogada.
402planRequired — O seu plano não inclui acesso à API ou a este recurso.
429rateLimited — Requisições demais por minuto, ou a cota mensal se esgotou.
503unavailable — Manutenção em andamento ou provedor de dados sem capacidade.

Como funciona#

  • Relatório recente: retorna DONE na hora e não consome o seu limite de scans.
  • Scan em andamento: retorna QUEUED ou RUNNING com step e progress.
  • Caso contrário: coloca um novo scan na fila e consome um scan do seu limite diário.
  • Limite diário atingido, mas existe um relatório anterior: retorna o estado desse relatório com limitReached igual a true.

Aguardando o resultado#

Consulte GET /tokens/{chain}/{address} a cada 3–5 segundos até o status ser DONE ou ERROR. A maioria dos scans termina em até um minuto.

Etapas do scan#

queuedAguardando na fila.
marketBuscando preço, liquidez e dados do mint.
holdersLendo a lista de holders.
tradesLendo os primeiros trades para encontrar snipers.
profilesPerfilando os maiores holders: origem dos fundos, idade, PnL.
classifyAtribuindo classes e montando clusters.
devVerificando os lançamentos anteriores do criador.
saveCalculando o Holder Score e salvando.
doneConcluído.
errorFalhou.
Enquanto o XCA estiver em manutenção ou o provedor de dados estiver sem capacidade, os scans retornam 503 unavailable. Tente novamente mais tarde.