xcaDocs
Endpoint’ler

Token raporu

Bir token’ın piyasa verileri, güvenlik bilgileri, Holder Score’u, holder metrikleri, kümeleri, dev geçmişi ve işlem aktivitesi.

GET/api/v1/tokens/{chain}/{address}

XCA’nın bir token için sahip olduğu en son raporu döndürür. Rapor okumak hiçbir zaman tarama başlatmaz: durum NONE ise token henüz taranmamıştır, bu yüzden önce POST /scans çağır.

Parametreler#

chainpathzorunlu
Zincir kimliği. Şimdilik yalnızca solana."solana"
addresspathzorunlu
Token’ın mint adresi.string

İstek#

curl -s "https://app.xca.fun/api/v1/tokens/solana/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" \
  -H "Authorization: Bearer $XCA_API_KEY"
Dene
Gerçek bir istek göndermek için API anahtarını yapıştır.

Yanıt#

chain
Zincir kimliği.string
address
Token’ın mint adresi.string
status
Rapor durumu. NONE, token’ın hiç taranmadığı anlamına gelir."NONE" | "QUEUED" | "RUNNING" | "DONE" | "ERROR"
depth
Yeni paritelerin otomatik taramaları için LIGHT, tam analiz için FULL."LIGHT" | "FULL" | null
upgrading
LIGHT bir rapor FULL seviyesine yükseltiliyor.boolean
step
Tarama sürerken mevcut tarama adımı.string | null
progress
0 ile 100 arasında tarama ilerlemesi.number
errorMessage
Durum ERROR olduğunda son taramanın neden başarısız olduğu.string | null
symbol
Token ticker’ı.string | null
name
Token adı.string | null
imageUrl
Token logosunun URL’si.string | null
market
DexScreener’dan alınan ana işlem paritesi.object | null
pairAddress
En likit paritenin adresi.string | null
dexId
Paritenin bulunduğu DEX.string | null
url
Paritenin DexScreener sayfası.string | null
name
Pariteden alınan token adı.string | null
symbol
Pariteden alınan token ticker’ı.string | null
quoteSymbol
Paritenin kote varlığı, örneğin SOL.string | null
imageUrl
DexScreener’dan alınan token logosu.string | null
priceUsd
USD cinsinden fiyat.number | null
liquidityUsd
Tüm havuzların likiditesi, USD.number | null
fdvUsd
Tamamen seyreltilmiş değerleme (FDV), USD.number | null
marketCapUsd
Piyasa değeri, USD.number | null
volume24hUsd
24 saatlik işlem hacmi, USD.number | null
txns24h
24 saatteki alım ve satım işlemleri.{ buys, sells } | null
change
Fiyatın 5 dakikalık ve 1, 6 ve 24 saatlik yüzde değişimi.{ m5, h1, h6, h24 }
pairCreatedAt
Paritenin oluşturulma zamanı.string | null
poolAddresses
Token’ın bilinen tüm havuzlarının adresleri.string[]
websites
Projenin web siteleri.{ url, label }[]
socials
Projenin sosyal medya bağlantıları.{ type, url }[]
fetchedAt
Piyasa verilerinin çekildiği zaman.string
security
Mint hakkında zincir üstü bilgiler.object | null
mintAuthority
Yeni token basma yetkisine sahip adres; yetki iptal edilmişse null.string | null
freezeAuthority
Holder hesaplarını dondurma yetkisine sahip adres; yetki iptal edilmişse null.string | null
program
Mint’in ait olduğu token programı."spl-token" | "spl-token-2022" | "unknown"
supply
Tam token birimi cinsinden toplam arz.number
decimals
Token’ın ondalık basamak sayısı.number
creator
Token’ı oluşturan cüzdan (biliniyorsa).string | null
createdAt
Mint’in oluşturulma zamanı.string | null
computedAt
Raporun hesaplandığı zaman.string | null
stale
Rapor, önbellek ömründen daha eski.boolean
holderScore
0 (tehlikeli) ile 100 (temiz) arasında Holder Score.number | null
riskLevel
Skordan türetilen risk seviyesi."low" | "medium" | "high" | null
metrics
Dağılım metrikleri; anahtarlar planına bağlıdır.object | null
limited
Holder verileri kısmi (sağlayıcı limitleri nedeniyle).boolean
holdersTotal
Toplam holder sayısı.number
holdersAnalyzed
Analize dahil edilen holder’lar.number
profiled
Tam cüzdan profili olan holder’lar.number
top10Pct
En büyük 10 gerçek holder’ın elindeki pay (havuzlar, yakım adresleri ve borsalar hariç).number
topHolderPct
En büyük gerçek holder’ın elindeki pay.number
floatPct
Dolaşımdaki arz: havuzlar ve yakım adresleri dışında kalan pay.number
devPct
Yaratıcının elindeki pay.number
devBundlePct
Yaratıcıyla aynı bundle içindeki cüzdanların elindeki pay.number
sniperCount
Sniper cüzdan sayısı.number
sniperPct
Sniper’ların elindeki pay.number
freshCount
Yeni cüzdan sayısı.number
freshPct
Yeni cüzdanların elindeki pay.number
clusterPct
Aynı cüzdandan fonlanan cüzdan kümelerinin elindeki pay.number
smartCount
Smart money holder sayısı.number
smartPct
Smart money’nin elindeki pay.number
poolPct
Likidite havuzlarının elindeki pay.number
burnPct
Yakım adreslerine gönderilen pay.number
avgPnlUsd
Profili çıkarılan holder’ların 30 günlük ortalama PnL değeri, USD.number | null
launchAt
İşlemlerin başladığı zaman.string | null
launchSlot
İlk işlemin gerçekleştiği Solana slot’u.number | null
scoreVersion
Raporun puanlanmasında kullanılan Holder Score modelinin sürümü.number
breakdown
Her Holder Score faktörü, puanı ve ölçülen değeriyle.{ key, points, value, total?, cap? }[]
mainReason
En çok puana mal olan faktör.{ key, points, value, total?, cap? } | null
clusters
Aynı cüzdan tarafından fonlanan holder grupları.object[] | null
id
Küme kimliği; holder’ların clusterId alanı buna referans verir.string
funder
Üyeleri fonlayan cüzdan.string
funderLabel
Fonlayan cüzdanın bilinen etiketi, örneğin bir borsa.string | null
members
Üye cüzdanlar.string[]
sharePct
Kümenin elindeki pay.number
clustersCount
Küme sayısı; küme listesi kilitliyken de döner.number
devHistory
Yaratıcının önceki lansmanları.object | null
creator
Yaratıcı cüzdan.string | null
launches
Yaratıcının çıkardığı token’lar.number
rugs
Likiditesini kaybeden lansmanlar.number
avgLifespanSec
Yaratıcının token’larının ortalama ömrü (biliniyorsa).number | null
tokens
Lansmanlar, en yenisi başta.{ address, symbol, name, createdAt, liquidityUsd, fdvUsd, rugged }[]
approximate
Yaratıcının en erken alımlarından çıkarıldı, bu yüzden bunu bir tahmin olarak değerlendir.true
devTeaser
Lansman ve rug sayıları; dev geçmişi kilitliyken de döner.{ launches, rugs } | null
activity
Ana paritedeki son işlemler.object | null
recent
Son swap’lar; time, milisaniye cinsinden bir Unix zaman damgasıdır.{ signature, time, wallet, side, amount, valueUsd }[]
topTraders
Token’ın en kârlı trader’ları.{ wallet, boughtUsd, soldUsd, pnlUsd, trades }[]
locked
Planına dahil olmayan özellikler; bunların alanları null olur ya da yanıtta yer almaz.string[]

Örnek yanıt#

{
  "chain": "solana",
  "address": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
  "status": "DONE",
  "depth": "FULL",
  "upgrading": false,
  "step": "done",
  "progress": 100,
  "errorMessage": null,
  "symbol": "Bonk",
  "name": "Bonk",
  "imageUrl": "https://arweave.net/hQiPZOsRZXGXBJd_82PhVdlM_hACsT_q6wqwf5cSY7I",
  "market": {
    "pairAddress": "6oFWm7KPLfxnwMb3z5xwBoXNSPP3JJyirAPqPSiVcnsp",
    "dexId": "raydium",
    "url": "https://dexscreener.com/solana/6ofwm7kplfxnwmb3z5xwboxnspp3jjyirapqpsivcnsp",
    "name": "Bonk",
    "symbol": "Bonk",
    "quoteSymbol": "SOL",
    "imageUrl": "https://arweave.net/hQiPZOsRZXGXBJd_82PhVdlM_hACsT_q6wqwf5cSY7I",
    "priceUsd": 0.00002134,
    "liquidityUsd": 2864210.4,
    "fdvUsd": 1897000000,
    "marketCapUsd": 1652000000,
    "volume24hUsd": 18450000,
    "txns24h": {
      "buys": 18210,
      "sells": 16930
    },
    "change": {
      "m5": 0.4,
      "h1": -1.2,
      "h6": 3.8,
      "h24": 5.1
    },
    "pairCreatedAt": "2022-12-25T11:04:12.000Z",
    "poolAddresses": [
      "6oFWm7KPLfxnwMb3z5xwBoXNSPP3JJyirAPqPSiVcnsp"
    ],
    "websites": [
      {
        "url": "https://bonkcoin.com",
        "label": "Website"
      }
    ],
    "socials": [
      {
        "type": "twitter",
        "url": "https://x.com/bonk_inu"
      }
    ],
    "fetchedAt": "2026-10-02T09:12:40.000Z"
  },
  "security": {
    "mintAuthority": null,
    "freezeAuthority": null,
    "program": "spl-token",
    "supply": 88870000000000,
    "decimals": 5,
    "creator": "9AhKqLR67hwapvG8SA2JFXaCshXc9nALJjpKaHZrsbkw",
    "createdAt": "2022-12-25T10:52:01.000Z"
  },
  "computedAt": "2026-10-02T09:12:44.000Z",
  "stale": false,
  "holderScore": 84,
  "riskLevel": "low",
  "metrics": {
    "limited": false,
    "holdersTotal": 912345,
    "holdersAnalyzed": 4000,
    "profiled": 100,
    "top10Pct": 64.2,
    "topHolderPct": 31.7,
    "floatPct": 96.6,
    "devPct": 0,
    "devBundlePct": 0.3,
    "sniperCount": 2,
    "sniperPct": 6.6,
    "freshCount": 41,
    "freshPct": 17.6,
    "clusterPct": 8.8,
    "smartCount": 7,
    "smartPct": 2.1,
    "poolPct": 3.4,
    "burnPct": 0,
    "avgPnlUsd": 1840.5,
    "launchAt": "2022-12-25T11:04:12.000Z",
    "launchSlot": 168410720,
    "scoreVersion": 2,
    "breakdown": [
      {
        "key": "top10",
        "points": -17.2,
        "value": 66.5
      },
      {
        "key": "topHolder",
        "points": -5.9,
        "value": 32.8
      },
      {
        "key": "devBundle",
        "points": 0,
        "value": 0.3
      },
      {
        "key": "snipers",
        "points": -0.6,
        "value": 6.8
      },
      {
        "key": "clusters",
        "points": -1.8,
        "value": 9.1
      },
      {
        "key": "fresh",
        "points": -0.6,
        "value": 18.2
      },
      {
        "key": "holders",
        "points": 0,
        "value": 912345
      },
      {
        "key": "authorities",
        "points": 0,
        "value": 0
      },
      {
        "key": "devRugs",
        "points": 0,
        "value": 0,
        "total": 1
      },
      {
        "key": "liquidity",
        "points": 0,
        "value": 2864210.4
      },
      {
        "key": "smartMoneyBonus",
        "points": 10,
        "value": 7
      }
    ],
    "mainReason": {
      "key": "top10",
      "points": -17.2,
      "value": 66.5
    }
  },
  "clusters": [
    {
      "id": "c1",
      "funder": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
      "funderLabel": null,
      "members": [
        "3Kv1…",
        "8Zq4…",
        "Fh2T…"
      ],
      "sharePct": 1.8
    }
  ],
  "clustersCount": 3,
  "devHistory": {
    "creator": "9AhKqLR67hwapvG8SA2JFXaCshXc9nALJjpKaHZrsbkw",
    "launches": 1,
    "rugs": 0,
    "avgLifespanSec": null,
    "tokens": [],
    "approximate": true
  },
  "devTeaser": {
    "launches": 1,
    "rugs": 0
  },
  "activity": {
    "recent": [
      {
        "signature": "4Vt2…",
        "time": 1790932360000,
        "wallet": "7xKX…",
        "side": "buy",
        "amount": 152000000,
        "valueUsd": 3244.1
      }
    ],
    "topTraders": [
      {
        "wallet": "2bQm…",
        "boughtUsd": 41200,
        "soldUsd": 78900,
        "pnlUsd": 37700,
        "trades": 18
      }
    ]
  },
  "locked": []
}

Durum kodları#

200Başarılı
400validation — Bir parametre ya da istek gövdesi geçersiz; error.issues alanına bak.
401unauthorized — API anahtarı eksik, hatalı biçimlendirilmiş ya da iptal edilmiş.
402planRequired — Planın API erişimini ya da bu özelliği içermiyor.
429rateLimited — Dakika başına çok fazla istek gönderildi ya da aylık kota doldu.

Rapor durumu#

NONEHiç taranmadı. POST /scans ile bir tarama başlat.
QUEUEDBir worker bekleniyor.
RUNNINGAnaliz ediliyor; step ve progress alanlarına bak.
DONETamamlandı; rapor eksiksiz.
ERRORSon tarama başarısız oldu; errorMessage alanına bak ve tekrar dene.

Bilmekte fayda var#

  • Planına dahil olmayan özelliklerin alanları null olur ya da yanıtta yer almaz; bu özelliklerin anahtarları locked içinde listelenir.
  • Rapor önbellek ömründen eskiyse stale true olur; yeni bir POST /scans çağrısı raporu yeniler.
  • LIGHT raporlar yeni paritelerin otomatik taramalarından gelir ve biri onları açana kadar cüzdan PnL verisi içermez; bu veriler eklenirken upgrading true olur.
  • Paylar, havuzlarda tutulan token’lar dahil toplam arzın yüzdesidir.