xcaDocs
Endpoint

Laporan token

Data pasar, keamanan, Holder Score, metrik holder, klaster, riwayat dev, dan aktivitas trading sebuah token.

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

Mengembalikan laporan terbaru yang dimiliki XCA untuk sebuah token. Membaca laporan tidak pernah memulai pemindaian: jika statusnya NONE, token itu belum pernah dipindai, jadi panggil POST /scans terlebih dahulu.

Parameter#

chainpathwajib
ID chain. Untuk saat ini hanya solana."solana"
addresspathwajib
Alamat mint token.string

Permintaan#

curl -s "https://app.xca.fun/api/v1/tokens/solana/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" \
  -H "Authorization: Bearer $XCA_API_KEY"
Coba langsung
Tempel kunci API-mu untuk mengirim permintaan sungguhan.

Respons#

chain
ID chain.string
address
Alamat mint token.string
status
Status laporan. NONE berarti token belum pernah dipindai."NONE" | "QUEUED" | "RUNNING" | "DONE" | "ERROR"
depth
LIGHT untuk pemindaian otomatis pair baru, FULL untuk analisis lengkap."LIGHT" | "FULL" | null
upgrading
Laporan LIGHT sedang di-upgrade menjadi FULL.boolean
step
Tahap pemindaian saat ini selama pemindaian berjalan.string | null
progress
Progres pemindaian dari 0 sampai 100.number
errorMessage
Alasan pemindaian terakhir gagal, jika status bernilai ERROR.string | null
symbol
Ticker token.string | null
name
Nama token.string | null
imageUrl
URL logo token.string | null
market
Pair trading utama dari DexScreener.object | null
pairAddress
Alamat pair yang paling likuid.string | null
dexId
DEX tempat pair tersebut berada.string | null
url
Halaman DexScreener untuk pair tersebut.string | null
name
Nama token menurut pair.string | null
symbol
Ticker token menurut pair.string | null
quoteSymbol
Aset quote pair, misalnya SOL.string | null
imageUrl
Logo token dari DexScreener.string | null
priceUsd
Harga dalam USD.number | null
liquidityUsd
Likuiditas semua pool, dalam USD.number | null
fdvUsd
Valuasi terdilusi penuh (FDV), dalam USD.number | null
marketCapUsd
Market cap, dalam USD.number | null
volume24hUsd
Volume trading 24 jam, dalam USD.number | null
txns24h
Transaksi beli dan jual dalam 24 jam.{ buys, sells } | null
change
Perubahan harga dalam persen selama 5 menit, 1 jam, 6 jam, dan 24 jam.{ m5, h1, h6, h24 }
pairCreatedAt
Waktu pair dibuat.string | null
poolAddresses
Alamat semua pool token yang diketahui.string[]
websites
Situs web proyek.{ url, label }[]
socials
Tautan media sosial proyek.{ type, url }[]
fetchedAt
Waktu data pasar diambil.string
security
Fakta on-chain tentang mint.object | null
mintAuthority
Pihak yang bisa mencetak token baru; null jika sudah dicabut.string | null
freezeAuthority
Pihak yang bisa membekukan akun holder; null jika sudah dicabut.string | null
program
Program token yang dipakai mint."spl-token" | "spl-token-2022" | "unknown"
supply
Total suplai dalam satuan token utuh.number
decimals
Jumlah desimal token.number
creator
Dompet yang membuat token, jika diketahui.string | null
createdAt
Waktu mint dibuat.string | null
computedAt
Waktu laporan dihitung.string | null
stale
Umur laporan sudah melewati masa berlaku cache.boolean
holderScore
Holder Score dari 0 (berbahaya) sampai 100 (bersih).number | null
riskLevel
Tingkat risiko yang diturunkan dari skor."low" | "medium" | "high" | null
metrics
Metrik distribusi; key yang tersedia bergantung pada paketmu.object | null
limited
Data holder tidak lengkap (karena batasan penyedia data).boolean
holdersTotal
Jumlah total holder.number
holdersAnalyzed
Jumlah holder yang disertakan dalam analisis.number
profiled
Jumlah holder yang memiliki profil dompet lengkap.number
top10Pct
Porsi yang dipegang 10 holder riil terbesar (di luar pool, alamat burn, dan exchange).number
topHolderPct
Porsi yang dipegang holder riil terbesar.number
floatPct
Suplai beredar: porsi di luar pool dan alamat burn.number
devPct
Porsi yang dipegang pembuat token.number
devBundlePct
Porsi yang dipegang dompet dalam bundle pembuat token.number
sniperCount
Jumlah dompet sniper.number
sniperPct
Porsi yang dipegang sniper.number
freshCount
Jumlah dompet baru.number
freshPct
Porsi yang dipegang dompet baru.number
clusterPct
Porsi yang dipegang klaster dompet dengan pendana yang sama.number
smartCount
Jumlah holder smart money.number
smartPct
Porsi yang dipegang smart money.number
poolPct
Porsi yang berada di pool likuiditas.number
burnPct
Porsi yang dikirim ke alamat burn.number
avgPnlUsd
Rata-rata PnL 30 hari dari holder yang sudah punya profil, dalam USD.number | null
launchAt
Waktu trading dimulai.string | null
launchSlot
Slot Solana untuk trade pertama.number | null
scoreVersion
Versi model Holder Score yang dipakai untuk menilai laporan.number
breakdown
Setiap faktor Holder Score beserta poin dan nilai terukurnya.{ key, points, value, total?, cap? }[]
mainReason
Faktor yang paling banyak mengurangi poin.{ key, points, value, total?, cap? } | null
clusters
Kelompok holder yang didanai oleh dompet yang sama.object[] | null
id
ID klaster, dirujuk oleh clusterId pada holder.string
funder
Dompet yang mendanai para anggota.string
funderLabel
Label pendana yang dikenal, misalnya sebuah exchange.string | null
members
Dompet anggota.string[]
sharePct
Porsi yang dipegang klaster.number
clustersCount
Jumlah klaster, tetap tersedia meskipun daftar klaster terkunci.number
devHistory
Peluncuran sebelumnya dari pembuat token.object | null
creator
Dompet pembuat token.string | null
launches
Jumlah token yang pernah diluncurkan pembuatnya.number
rugs
Jumlah peluncuran yang kehilangan likuiditasnya.number
avgLifespanSec
Rata-rata umur token milik pembuatnya, jika diketahui.number | null
tokens
Daftar peluncuran, dari yang terbaru.{ address, symbol, name, createdAt, liquidityUsd, fdvUsd, rugged }[]
approximate
Disimpulkan dari pembelian paling awal oleh pembuat token, jadi anggap sebagai perkiraan.true
devTeaser
Jumlah peluncuran dan rug, tetap tersedia meskipun riwayat dev terkunci.{ launches, rugs } | null
activity
Aktivitas trading terbaru di pair utama.object | null
recent
Swap terbaru; time adalah Unix timestamp dalam milidetik.{ signature, time, wallet, side, amount, valueUsd }[]
topTraders
Trader dengan profit terbesar di token ini.{ wallet, boughtUsd, soldUsd, pnlUsd, trades }[]
locked
Fitur yang tidak termasuk dalam paketmu; field-nya bernilai null atau tidak disertakan.string[]

Contoh respons#

{
  "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": []
}

Kode status#

200Berhasil
400validation — Ada parameter atau body yang tidak valid; lihat error.issues.
401unauthorized — Kunci API tidak disertakan, salah format, atau sudah dicabut.
402planRequired — Paketmu tidak menyertakan akses API atau fitur ini.
429rateLimited — Terlalu banyak permintaan per menit, atau kuota bulanan sudah habis.

Status laporan#

NONEBelum pernah dipindai. Mulai pemindaian dengan POST /scans.
QUEUEDMenunggu worker.
RUNNINGSedang dianalisis; lihat step dan progress.
DONESelesai; laporan sudah lengkap.
ERRORPemindaian terakhir gagal; lihat errorMessage lalu coba lagi.

Perlu diketahui#

  • Field dari fitur yang tidak termasuk dalam paketmu bernilai null atau tidak disertakan, dan key fitur tersebut tercantum di locked.
  • stale bernilai true jika umur laporan sudah melewati masa berlaku cache; POST /scans berikutnya akan memperbaruinya.
  • Laporan LIGHT berasal dari pemindaian otomatis pair baru dan belum memuat PnL dompet sampai ada yang membukanya; selama proses upgrade itu berlangsung, upgrading bernilai true.
  • Porsi dinyatakan dalam persen dari total suplai, termasuk token yang dipegang pool.