Endpoints
Holders
Holders classificados de um token escaneado, com PnL, horário de entrada e origem dos fundos, página por página.
GET
/api/v1/tokens/{chain}/{address}/holdersRetorna os holders analisados de um token, ordenados pelo ranking, com a classe que o XCA atribuiu a cada carteira. O token precisa ter sido escaneado; caso contrário, você recebe 404.
Parâmetros#
chainpathobrigatórioID da rede. Por enquanto, apenas solana."solana"
addresspathobrigatórioEndereço do mint do token.string
pagequeryNúmero da página, começando em 1.integer ≥ 1padrão: 1
pageSizequeryHolders por página.10 | 25 | 50 | 100padrão: 100
classqueryRetorna apenas os holders desta classe.ALL | HolderClasspadrão: ALL
Requisição#
curl -s "https://app.xca.fun/api/v1/tokens/solana/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263/holders?class=SMART_MONEY&pageSize=25" \
-H "Authorization: Bearer $XCA_API_KEY"Testar
Cole sua chave de API para enviar uma requisição real.
Resposta#
rowsHolders desta página.HolderRow[]
rowsHolders desta página.HolderRow[]
rankPosição por saldo; 1 é o maior.number
addressEndereço da carteira.string | null
sharePctParticipação no supply.number
valueUsdValor da posição, em USD.number | null
classClasse que o XCA atribuiu à carteira.HolderClass | "HIDDEN"
flagsCaracterísticas extras da carteira.string[]
entryAtHorário da primeira compra.string | null
entryBlockBlocos entre o lançamento e a primeira compra (snipers têm números baixos).number | null
pnl30dUsdPnL realizado e não realizado em 30 dias, em USD.number | null
pnl30dPctPnL em 30 dias, em porcentagem.number | null
winRateProporção de trades lucrativos, de 0 a 1.number | null
avgHoldSecTempo médio de hold, em segundos.number | null
trades30dTrades em 30 dias.number | null
fundedByCarteira que enviou os primeiros fundos para esta.string | null
clusterIdCluster ao qual a carteira pertence.string | null
profiledExiste um perfil de carteira completo.boolean
totalHolders visíveis que correspondem ao filtro.number
lockedCountHolders ocultos pelo limite do seu plano.number
pagePágina atual.number
pageSizeHolders por página.number
visibleLimitQuantos top holders o seu plano exibe; -1 significa todos.number
Exemplo de resposta#
{
"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
}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.
402
planRequired — O seu plano não inclui acesso à API ou a este recurso.404
notFound — O token ainda não foi escaneado ou a carteira ainda não foi perfilada.429
rateLimited — Requisições demais por minuto, ou a cota mensal se esgotou.Classes de holders#
SMART_MONEY | Trader lucrativo nos últimos 30 dias, com win rate alto. |
REGULAR | Nada digno de nota. |
DEV | O criador do token. |
DEV_BUNDLE | Comprou junto com o criador ou recebeu fundos dele. |
SNIPER | Comprou nos primeiros blocos após o lançamento. |
FRESH | Carteira criada muito recentemente. |
POOL | Pool de liquidez, vault ou bonding curve. |
CEX | Carteira de exchange centralizada. |
BURN | Endereço de queima. |
Bom saber#
- O seu plano limita quantos top holders ficam visíveis; total conta apenas os visíveis, e
lockedCountinforma quantos outros existem. - Filtrar por
SNIPER,DEV_BUNDLE,SMART_MONEYouFRESHexige o recurso correspondente no seu plano; caso contrário, você recebe 402. - Uma classe que o seu plano não pode ver é retornada como
HIDDEN. - Os campos de PnL dependem do nível de PnL do plano: o básico traz pnl30dUsd e
winRate, e o detalhado adiciona pnl30dPct,avgHoldSece trades30d.