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#
chainpathzorunluZincir kimliği. Şimdilik yalnızca solana."solana"
addresspathzorunluToken’ı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#
chainZincir kimliği.string
addressToken’ın mint adresi.string
statusRapor durumu. NONE, token’ın hiç taranmadığı anlamına gelir."NONE" | "QUEUED" | "RUNNING" | "DONE" | "ERROR"
depthYeni paritelerin otomatik taramaları için LIGHT, tam analiz için FULL."LIGHT" | "FULL" | null
upgradingLIGHT bir rapor FULL seviyesine yükseltiliyor.boolean
stepTarama sürerken mevcut tarama adımı.string | null
progress0 ile 100 arasında tarama ilerlemesi.number
errorMessageDurum ERROR olduğunda son taramanın neden başarısız olduğu.string | null
symbolToken ticker’ı.string | null
nameToken adı.string | null
imageUrlToken logosunun URL’si.string | null
marketDexScreener’dan alınan ana işlem paritesi.object | null
marketDexScreener’dan alınan ana işlem paritesi.object | null
pairAddressEn likit paritenin adresi.string | null
dexIdParitenin bulunduğu DEX.string | null
urlParitenin DexScreener sayfası.string | null
namePariteden alınan token adı.string | null
symbolPariteden alınan token ticker’ı.string | null
quoteSymbolParitenin kote varlığı, örneğin SOL.string | null
imageUrlDexScreener’dan alınan token logosu.string | null
priceUsdUSD cinsinden fiyat.number | null
liquidityUsdTüm havuzların likiditesi, USD.number | null
fdvUsdTamamen seyreltilmiş değerleme (FDV), USD.number | null
marketCapUsdPiyasa değeri, USD.number | null
volume24hUsd24 saatlik işlem hacmi, USD.number | null
txns24h24 saatteki alım ve satım işlemleri.{ buys, sells } | null
changeFiyatın 5 dakikalık ve 1, 6 ve 24 saatlik yüzde değişimi.{ m5, h1, h6, h24 }
pairCreatedAtParitenin oluşturulma zamanı.string | null
poolAddressesToken’ın bilinen tüm havuzlarının adresleri.string[]
websitesProjenin web siteleri.{ url, label }[]
socialsProjenin sosyal medya bağlantıları.{ type, url }[]
fetchedAtPiyasa verilerinin çekildiği zaman.string
securityMint hakkında zincir üstü bilgiler.object | null
securityMint hakkında zincir üstü bilgiler.object | null
mintAuthorityYeni token basma yetkisine sahip adres; yetki iptal edilmişse null.string | null
freezeAuthorityHolder hesaplarını dondurma yetkisine sahip adres; yetki iptal edilmişse null.string | null
programMint’in ait olduğu token programı."spl-token" | "spl-token-2022" | "unknown"
supplyTam token birimi cinsinden toplam arz.number
decimalsToken’ın ondalık basamak sayısı.number
creatorToken’ı oluşturan cüzdan (biliniyorsa).string | null
createdAtMint’in oluşturulma zamanı.string | null
computedAtRaporun hesaplandığı zaman.string | null
staleRapor, önbellek ömründen daha eski.boolean
holderScore0 (tehlikeli) ile 100 (temiz) arasında Holder Score.number | null
riskLevelSkordan türetilen risk seviyesi."low" | "medium" | "high" | null
metricsDağılım metrikleri; anahtarlar planına bağlıdır.object | null
metricsDağılım metrikleri; anahtarlar planına bağlıdır.object | null
limitedHolder verileri kısmi (sağlayıcı limitleri nedeniyle).boolean
holdersTotalToplam holder sayısı.number
holdersAnalyzedAnalize dahil edilen holder’lar.number
profiledTam cüzdan profili olan holder’lar.number
top10PctEn büyük 10 gerçek holder’ın elindeki pay (havuzlar, yakım adresleri ve borsalar hariç).number
topHolderPctEn büyük gerçek holder’ın elindeki pay.number
floatPctDolaşımdaki arz: havuzlar ve yakım adresleri dışında kalan pay.number
devPctYaratıcının elindeki pay.number
devBundlePctYaratıcıyla aynı bundle içindeki cüzdanların elindeki pay.number
sniperCountSniper cüzdan sayısı.number
sniperPctSniper’ların elindeki pay.number
freshCountYeni cüzdan sayısı.number
freshPctYeni cüzdanların elindeki pay.number
clusterPctAynı cüzdandan fonlanan cüzdan kümelerinin elindeki pay.number
smartCountSmart money holder sayısı.number
smartPctSmart money’nin elindeki pay.number
poolPctLikidite havuzlarının elindeki pay.number
burnPctYakım adreslerine gönderilen pay.number
avgPnlUsdProfili çı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
scoreVersionRaporun puanlanmasında kullanılan Holder Score modelinin sürümü.number
breakdownHer Holder Score faktörü, puanı ve ölçülen değeriyle.{ key, points, value, total?, cap? }[]
mainReasonEn çok puana mal olan faktör.{ key, points, value, total?, cap? } | null
clustersAynı cüzdan tarafından fonlanan holder grupları.object[] | null
clustersAynı cüzdan tarafından fonlanan holder grupları.object[] | null
idKüme kimliği; holder’ların clusterId alanı buna referans verir.string
funderÜyeleri fonlayan cüzdan.string
funderLabelFonlayan cüzdanın bilinen etiketi, örneğin bir borsa.string | null
membersÜye cüzdanlar.string[]
sharePctKümenin elindeki pay.number
clustersCountKüme sayısı; küme listesi kilitliyken de döner.number
devHistoryYaratıcının önceki lansmanları.object | null
devHistoryYaratıcının önceki lansmanları.object | null
creatorYaratıcı cüzdan.string | null
launchesYaratıcının çıkardığı token’lar.number
rugsLikiditesini kaybeden lansmanlar.number
avgLifespanSecYaratıcının token’larının ortalama ömrü (biliniyorsa).number | null
tokensLansmanlar, en yenisi başta.{ address, symbol, name, createdAt, liquidityUsd, fdvUsd, rugged }[]
approximateYaratıcının en erken alımlarından çıkarıldı, bu yüzden bunu bir tahmin olarak değerlendir.true
devTeaserLansman ve rug sayıları; dev geçmişi kilitliyken de döner.{ launches, rugs } | null
activityAna paritedeki son işlemler.object | null
activityAna paritedeki son işlemler.object | null
recentSon swap’lar; time, milisaniye cinsinden bir Unix zaman damgasıdır.{ signature, time, wallet, side, amount, valueUsd }[]
topTradersToken’ın en kârlı trader’ları.{ wallet, boughtUsd, soldUsd, pnlUsd, trades }[]
lockedPlanı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ş.
402
planRequired — Planın API erişimini ya da bu özelliği içermiyor.429
rateLimited — Dakika başına çok fazla istek gönderildi ya da aylık kota doldu.Rapor durumu#
NONE | Hiç taranmadı. POST /scans ile bir tarama başlat. |
QUEUED | Bir worker bekleniyor. |
RUNNING | Analiz ediliyor; step ve progress alanlarına bak. |
DONE | Tamamlandı; rapor eksiksiz. |
ERROR | Son 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. LIGHTraporlar 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.