Token overview
The full market snapshot for one token — everything a DexScreener header shows, in one call.
Path parameters
| Field | Type | Description |
|---|---|---|
mintrequired | string | Token mint address (base58). |
Query parameters
| Field | Type | Description |
|---|---|---|
networkoptional | mainnet | devnet | Network to read. Devnet returns an empty payload (with a note) until its ingestor lands. default mainnet |
Response fields
| Field | Type | Description |
|---|---|---|
priceUsd | number | Latest USD price: our reconciled price for indexed mints, a Jupiter spot quote for unindexed ones (see priceSource). |
priceSource | quanaris | jupiter | null | quanaris = our trade-reconciled series; jupiter = spot fallback for an unindexed mint (always alongside indexed: false); null = no price at all. |
supply.total | number | Total on-chain supply (the honest on-chain figure). |
supply.circulating | null | Always null: we don't track locked/team/treasury supply on-chain yet, so the circulating fraction is unknown. See supplyNote; use supply.total / fdvUsd. |
supplyNote | string | Explains why supply.circulating is null and points to supply.total / fdvUsd. |
marketCapUsd | null | Always null: we don't track locked/team/treasury supply on-chain yet, so a true circulating market cap can't be computed honestly. Use fdvUsd. See marketCapNote. |
marketCapNote | string | Explains why marketCapUsd is null and points to fdvUsd. |
fdvUsd | number | Fully-diluted value (total supply × price) — the valuation figure we can compute honestly. |
liquidityUsd | number | null | Liquidity (on-chain for the dominant Raydium pool). |
liquiditySource | string | raydium-onchain · dexscreener · cached. |
pools[] | array | Pools with { dex, address, tvlUsd }. |
holders.count | number | null | Holder count (a lower bound when holders.countIsFloor is true). |
holders.countIsFloor | boolean | true = the bounded holder crawl capped out, so the real count is >= count. |
holders.top[] | array | Top holders (token accounts) with pct of supply, owner wallet and isPoolVault label. |
priceChange | object | % change over 5m / 1h / 6h / 24h. |
volume | object | USD volume over 5m / 1h / 6h / 24h (the 24h figure equals totalVolumeUsd). |
totalVolumeUsd | number | All priceable swaps over the exact rolling 24h (dust/outliers included). |
chartedVolumeUsd | number | Candle-eligible, bucket-aligned 24h volume — what the chart bars sum to. |
txns24h | object | { buys, sells } over 24h. |
indexed | boolean | Present (false) only when no swaps/candles were ever ingested for this mint — every market figure is empty, see note. |
note | string | Honest-empty hint (unindexed mint → register pointer; or the devnet note). |
marketCapUsd and supply.circulating are both null on purpose: we don't track locked/team/treasury supply on-chain yet, so the circulating fraction is unknown and a 'market cap' would just be a verbatim copy of FDV presented as an independent figure. Rather than ship that, we return null + marketCapNote / supplyNote and let supply.total (on-chain total) and fdvUsd (supply × price) stand as the honest figures. Both become real numbers once we track circulating supply.
For an unindexed mint, priceUsd falls back to a Jupiter spot quote (priceSource: jupiter, alongside indexed: false) so the headline price answers for any mainnet mint; fdvUsd then derives from that spot. The quote is cached in-process only and never written into our dataset.
totalVolumeUsd sums every priceable swap over the exact rolling 24h window (dust/outliers in); chartedVolumeUsd sums the candle-eligible, bucket-aligned 1h candles (what the chart bars add up to). They differ by the dust/outliers and the in-progress tail bucket, never match exactly, and use the same definitions everywhere they appear (e.g. the token list).