CoinWorldCap Developer Support Request a key

DEX tokens: what the endpoints share

The /dex/* endpoints serve on-chain tokens traded on decentralized exchanges — the data behind DexScan on our website: three ranked lists (Trending, New and Gainers), shorter-window versions of Trending and Gainers, the chains they cover, and one token at a time.

Where the numbers come from. The lists are rebuilt about every two minutes, mainly from CoinMarketCap's DEX data. A token's market cap and FDV are those of the asset we list for it (asset_id) when we have one, and the list's own otherwise.

Naming a token. A token is named by chain_slug — a slug from /dex/chains, matched exactly, so case matters — and address, its contract address. An address shaped 0x followed by 40 hexadecimal digits matches in any case and comes back lower-cased, whatever the chain; any other address (Solana, Sui) matches only as written. URL-encode both: a slug such as bnb-smart-chain-(bep20) carries parentheses, a Sui address carries ::.

Freshness. /dex/tokens and /dex/tokens/info carry data_time, when the list that supplied the data was built, and stale, true once that is more than two hours ago. A list more than three hours old is not served: the endpoints answer 503 with code 50300 when we have no Trending list younger than that (every /dex endpoint here but /dex/tokens/history reads it first), and a New, Gainers or shorter-window list that old, or missing, reads as empty.

Field names, if you know our website's DEX API. The data is the same; the names follow this API:

Website (/api/v2/dex) Here
chain chain_slug
price_usd, liquidity_usd, market_cap_usd, fdv_usd price, liquidity, market_cap, fdv
volume_usd on a row volume_24h; inside windows, volume
change_5m, change_1h, change_4h, change_24h percent_change object, keys 5m, 1h, 4h, 24h; change_6h is not served
launched_at, last_trade_at, updated_at (Unix milliseconds) launch_time, last_trade_time, data_time (RFC3339)
txns, traders (strings) integers
risk_level highRisk high_risk
logo missing: null ""
rank (position in the filtered list) not served; trending_rank and chain_rank are
sort_by + sort_order (or the older sort_type), descending by default sort=<key>[:asc|desc], keys named as here, ascending by default
page_size (or the older size), up to 200, larger values cut to 200 size or limit, up to 100, larger values a 400
filter *_usd_min / *_usd_max, change_24h_*, change_* *_min / *_max, percent_change_24h_*, percent_change_*