Tokens
Token identity, supply, holders, transfers, swaps, statistics, candles and launch lifecycle.
Everything keyed by a token address. Price, market cap, liquidity and candle routes resolve against a venue, one pool chosen by the default-venue rule, and never blend quote currencies. A token trading against wrapped native and against a stablecoin has two separate series.
31 routes. Every path below is served under /index/v1/{chain}, and every request carries an x-api-key header, so those two are not repeated per route. The shared contract for pagination, snapshots, precision and absence is in Read API.
Creator Tokens
GET /creators/{address}/tokensEvery token one deployer created, newest first.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
Launchpads
GET /launchpadsThe registered launchpad table this build decodes (29 pads, including the Robinhood tokenized-equities issuer RobinhoodEquities).
Launchpad Launches
GET /launchpads/{pad}/launchesLaunches from one launchpad across every one of its factory deployments (canonical factory plus aliases), oldest first by default (order=desc for newest first); ordered by chain coordinate (order: ascending_by_block_then_index) once the store's coordinate index is built, by launch sequence before that. Rows carry the same normalised metadataUri and imageUri/imageProvenance as /tokens/{token}/launch.
| Parameter | In | Required | Notes |
|---|---|---|---|
pad | path | yes | Registered launchpad name. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
All Tokens
GET /tokensPaged catalogue of every token the store has observed, including creation-only candidates that were never confirmed as ERC-20.
| Parameter | In | Required | Notes |
|---|---|---|---|
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
Token
GET /tokens/{address}Token detail: name, symbol, decimals, exact supply, creation provenance, and an embedded stats block resolved against a default venue. Carries launch { launchpad, state, metadataUri, imageUri, launchSequence } from the launch-by-token join under the same snapshot, null when no launch resolved the token. Carries holderCount { value, status, asOfBlock, burnSinkHolders }: see "Holder count" below.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
quote | query | no | /mcap, /ath, and /atl are bounded, unpaginated, quote-native snapshots: no cursor, no limit, no order: only an optional quote to resolve which quote-denominated aggregate to answer. |
Token ATH
GET /tokens/{address}/athAll-time high price, resolved across the token's pools within a bounded fanout. A quote asset (WETH) with no pool priced in the quote is answered from the counter's pools, inverted (provenance says so).
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
quote | query | no | /mcap, /ath, and /atl are bounded, unpaginated, quote-native snapshots: no cursor, no limit, no order: only an optional quote to resolve which quote-denominated aggregate to answer. |
Token ATL
GET /tokens/{address}/atlAll-time low, same shape as /ath.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
quote | query | no | /mcap, /ath, and /atl are bounded, unpaginated, quote-native snapshots: no cursor, no limit, no order: only an optional quote to resolve which quote-denominated aggregate to answer. |
Token Authority Events
GET /tokens/{address}/authority-eventsCoordinate-ordered feed of privileged-action log shapes observed on the contract: ownership transfers, post-creation mints. Evidence only, no verdict.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
Token Balance
GET /tokens/{address}/balance/{wallet}One wallet's current balance of one token, derived from observed transfers.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
wallet | path | yes | 0x-prefixed 20-byte hex address. |
Token Creator
GET /tokens/{address}/creatorThe deployer address and the creation coordinate.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
Token First Seen
GET /tokens/{address}/first-seenThe coordinate at which this token was first observed, and the evidence class that observed it.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
Token Holders
GET /tokens/{address}/holdersA token's holders, ranked by balance by default. sort=balance (default) pages the same exact balance-descending holder index as /top-holders (same (balance, wallet) cursor: the two routes' cursors are interchangeable), descending only, burn sinks excluded, in this route's lighter row shape (no supply share or audit annotations). sort=wallet_id is the old walk: the complete non-zero balance set in interned wallet-id order (asc default, desc allowed), the only view that includes negative balances and burn sinks, NOT a ranking. Every page states sort, order, orderedBy and orderingNote. Carries holderCount. Before 2026-09-19 the route had no sort and always walked wallet-id order.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
Token Liquidity
GET /tokens/{address}/liquidityProtocol-native liquidity for one pair aggregated over a bounded set of contributing pools. V2 and concentrated liquidity remain separate. Same default quote and 409 quote_not_admitted rule as /ticks.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
quote | query | no | The quote every reserve/liquidity figure below is denominated in: named explicitly, auto-resolved when the token trades against exactly one resolved quote, or refused with a 400 on ambiguity: same resolution rule as /ticks//ohlcv,. |
Token Market Cap
GET /tokens/{address}/mcapMarket capitalisation at the anchored block, from exact supply and a resolved price.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
quote | query | no | /mcap, /ath, and /atl are bounded, unpaginated, quote-native snapshots: no cursor, no limit, no order: only an optional quote to resolve which quote-denominated aggregate to answer. |
Token Market Cap Series
GET /tokens/{address}/mcap/seriesMarket-cap series over time.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
frame | query | yes | 1s, 30s, 1m, 1h, or 1d candle width. 1s/30s rows exist only for a pool with durable fine-candle retention; see the response's own fineSeriesAvailable. |
from | query | yes | Inclusive start of the unix-second range the candle series covers, aligned down to its frame's own bucket width. Must be <= to. |
to | query | yes | Inclusive end of the unix-second range the candle series covers, aligned down to its frame's own bucket width. The requested span is capped at a fixed number of candle buckets. |
quote | query | no | The market-cap series is a time series, so frame/from/to are required exactly like /pools/{address}/ohlcv; quote, cursor, limit, and order behave the same way too. |
cursor | query | no | The market-cap series is a time series, so frame/from/to are required exactly like /pools/{address}/ohlcv; quote, cursor, limit, and order behave the same way too. |
limit | query | no | The market-cap series is a time series, so frame/from/to are required exactly like /pools/{address}/ohlcv; quote, cursor, limit, and order behave the same way too. |
order | query | no | The market-cap series is a time series, so frame/from/to are required exactly like /pools/{address}/ohlcv; quote, cursor, limit, and order behave the same way too. |
Token OHLCV
GET /tokens/{address}/ohlcvToken-grain candles for one pair, aggregated over the same bounded set of contributing pools. Empty buckets are absent. Same default quote and 409 quote_not_admitted rule as /ticks. Sub-minute frames are gated PER POOL: cold pools are skipped (fineSeriesColdPools, finePoolsSkipped) and the hot subset is served (fineSeriesAvailable: true). Candle rows carry volumeBase/volumeQuote and priceNumerator/priceDenominator aliases shared with the pool grain.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
frame | query | yes | 1s, 30s, 1m, 1h, or 1d candle width. 1s/30s rows exist only for a pool with durable fine-candle retention; see the response's own fineSeriesAvailable. |
from | query | yes | Inclusive start of the unix-second range the candle series covers, aligned down to its frame's own bucket width. Must be <= to. |
to | query | yes | Inclusive end of the unix-second range the candle series covers, aligned down to its frame's own bucket width. The requested span is capped at a fixed number of candle buckets. |
quote | query | no | The token-grain OHLCV page. frame/from/to are required exactly like /pools/{address}/ohlcv's. quote is the parameter that makes this route honest: a token trading against WETH and against a stablecoin has TWO candle series, and naming neither is refused with a 400 listing the candidates rather than blended into one. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
Token Overview
GET /tokens/{address}/overviewFirst-paint composite: identity, price, market cap and window stats in one response. poolsTruncated is set for EITHER cut (the 2,048 mark bound or the 32-row listing, poolsListedBound); poolFanoutExceeded aliases poolsFanoutExceeded. When the 32-row listing cut applied under a resolved price.quote, poolsNextCursor + poolsNextRoute continue the list on /tokens/{address}/pools/ranked?quote= (same membership, same volume key, so the next page is exactly the pools after these 32); both are null otherwise. Top-level holderCount { status: exact|exact_retained_list|backfilling|unknown_retained_list_saturated|token_not_indexed, count, retainedListSize, retainedListCap, asOfBlock, burnSinkHolders } keeps its richer WS-B shape; the embedded token.holderCount is the uniform { value, status, asOfBlock, burnSinkHolders } shape every other holder-bearing route publishes.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
quote | query | no | /mcap, /ath, and /atl are bounded, unpaginated, quote-native snapshots: no cursor, no limit, no order: only an optional quote to resolve which quote-denominated aggregate to answer. |
Token Pools Aggregate
GET /tokens/{address}/pools/aggregateExact registered pools trading the token, grouped by counter-currency; V4 rows preserve manager plus poolId. Past 200 pools the busiest 200 by each pool's own trailing volume are grouped with poolsTruncated: true and the full poolsConsidered: no longer empty groups; /tokens/{currency}/pools paginates the complete set.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
quote | query | no | /mcap, /ath, and /atl are bounded, unpaginated, quote-native snapshots: no cursor, no limit, no order: only an optional quote to resolve which quote-denominated aggregate to answer. |
Token Pools Ranked
GET /tokens/{address}/pools/rankedThe token's markets: the same bounded membership /overview, /mcap and /ohlcv count (≤2,048, membershipSource), ranked by each pool's rolling-stats trailing-24h volume (sort=volume_24h, default) or by USD liquidity (sort=liquidity: each pool's liquidityUsd, unpriced pools last grouped by quote then quote-side amount), cursor-paged, descending only, limit 1..=100 (default 32). With ?quote= it ranks that quote group by quote-native volume (the /overview listing order, so /overview's poolsNextCursor resumes here); without it every quote group is ranked together by USD volume, pools whose quote has no USD mark last (grouped by quote, then quote volume). Each row is the /overview pool row plus rank, quoteAsset, rankedVolume24hQuote and rankedVolume24hUsd. Only the served page is hydrated.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed token address. |
sort | query | no | volume_24h (default) or liquidity (liquidityUsd, unpriced pools last). A liquidity cursor never resumes a volume ranking. |
quote | query | no | Rank one quote group by quote-native volume instead of ranking every group together by USD volume. |
cursor | query | no | Opaque page cursor. /overview's poolsNextCursor resumes here when quote matches. |
limit | query | no | Rows per page, 1 to 100. Defaults to 32. |
order | query | no | Only desc is accepted; any other value is a 400. |
Token Stats
GET /tokens/{address}/statsRolling 5m/1h/4h/24h statistics: volume both sides, buy and sell counts, bounded distinct traders, exact price change. Same server-side default quote as /traders (quoteSelection); quote_ambiguous remains only when no quote has USD-markable volume.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
quote | query | no | quote names the asset the windows are denominated in. Optional: a token whose pools all share one quote resolves it, and one that trades against several publishes the candidates rather than blending their units. |
Token Swaps
GET /tokens/{address}/swapsCompact quote-policy trades for this token, denormalised with side, amounts, pool and executor. This is not the complete exact pool universe. quote.decimalsProvenance says whether quote.decimals came from the pool-quote row or the strict token-metadata fallback.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
Token Ticks
GET /tokens/{address}/ticksPer-trade ticks for one pair. Ticks are merged across a bounded set of contributing pools. Same server-side default quote (quoteSelection); a ?quote= the pair-index fallback cannot admit is 409 quote_not_admitted with admissibleQuotes, never an empty page. poolsFanoutExceeded aliases poolFanoutExceeded; prices carry priceNumerator/priceDenominator aliases. ticksSource: token_index (every pool of the quote group, poolsSkipped: 0) inside the index coverage floor ticksIndexedFrom, else pool_merge.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
quote | query | no | quote behaves like every other quote-native token route: named explicitly, auto-resolved when the token trades against exactly one resolved quote, or refused with a 400 naming the candidates when several exist and the caller named none: never a blended series. |
Token Top Holders
GET /tokens/{address}/top-holdersThe COMPLETE balance-descending holder index, cursor-paged, no cap (supersedes the old capped/approximate ranking, which now backs only /traders' internal candidate set). orderedBy: balance_desc; nextCursor/truncatedBy when a page ends. Burn sinks (0x…dEaD, address(0)) never get a row at all (excluded at write time) and are published as burnedBalance/burnedPct; each row adds supplySharePct against circulatingSupplyExcludingDead (null when that supply is not valid) and the balance-drift audit flags. Carries holderCount. Use this for a "top holders" table that needs supply share; /holders (default sort=balance) is the same order in a lighter row.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
Token Traders
GET /tokens/{address}/tradersTrader rows for the token over a window, with per-trader activity. A multi-quote token without ?quote= now resolves the server-side default (quoteSelection: auto_highest_24h_usd_volume); tokenIdentity, cohortsComplete/cohortsIncompleteReason and fundingGeneration ride on the page.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
sort | query | no | sort picks the ranked dimension (remaining, bought, or pnl: last_active is a recognized name that is always refused); order is that dimension's direction, exactly like every other paginated route. quote is REQUIRED whenever sort needs one, and otherwise resolves like /overview's does: named explicitly, auto-resolved when exactly one quote exists, or left unresolved (with availableQuotes published) when several exist and the caller named none. |
order | query | no | sort picks the ranked dimension (remaining, bought, or pnl: last_active is a recognized name that is always refused); order is that dimension's direction, exactly like every other paginated route. quote is REQUIRED whenever sort needs one, and otherwise resolves like /overview's does: named explicitly, auto-resolved when exactly one quote exists, or left unresolved (with availableQuotes published) when several exist and the caller named none. |
quote | query | no | sort picks the ranked dimension (remaining, bought, or pnl: last_active is a recognized name that is always refused); order is that dimension's direction, exactly like every other paginated route. quote is REQUIRED whenever sort needs one, and otherwise resolves like /overview's does: named explicitly, auto-resolved when exactly one quote exists, or left unresolved (with availableQuotes published) when several exist and the caller named none. |
Token Trades Aggregate
GET /tokens/{address}/trades/aggregateTrade aggregate filterable by cohort tag, for splitting flow by wallet cluster. Same server-side default quote as /traders (quoteSelection).
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
period | query | yes | period is required (5m, 1h, 4h, 24h, anchored to canonical block coordinates). tag is optional: creator, fresh_wallet, sniper, cohort:{decimal id}, or funded_by:0x..; omitted, the aggregate covers every trade in the window. quote resolves like every other quote-native token route. |
tag | query | no | period is required (5m, 1h, 4h, 24h, anchored to canonical block coordinates). tag is optional: creator, fresh_wallet, sniper, cohort:{decimal id}, or funded_by:0x..; omitted, the aggregate covers every trade in the window. quote resolves like every other quote-native token route. |
quote | query | no | period is required (5m, 1h, 4h, 24h, anchored to canonical block coordinates). tag is optional: creator, fresh_wallet, sniper, cohort:{decimal id}, or funded_by:0x..; omitted, the aggregate covers every trade in the window. quote resolves like every other quote-native token route. |
Token Transfer Fee Observations
GET /tokens/{address}/transfer-fee-observationsPer swap for one pair, the venue-stated token amount against the amount actually credited, over the same bounded set of contributing pools.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
quote | query | no | quote behaves like every other quote-native token route: named explicitly, auto-resolved when the token trades against exactly one resolved quote, or refused with a 400 naming the candidates when several exist and the caller named none: never a blended series. |
Token Transfers
GET /tokens/{address}/transfersExact ERC-20 transfer history with mint, burn and dead-sink flags.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
Token Default Venue
GET /tokens/{address}/venueWhich pool the default-venue rule picks, and the values that decided it.
| Parameter | In | Required | Notes |
|---|---|---|---|
address | path | yes | 0x-prefixed 20-byte hex address. |
Token Launch
GET /tokens/{token}/launchLaunch lifecycle state for a launchpad token: curve, graduation status, venue, metadataUri (normalised on read: bare IPFS CIDs and /ipfs/ paths as ipfs://…, inline JSON collapsed to its image or ""), plus imageUri/imageProvenance (launch_calldata, curated, none). Every registered pad links its token as of 2026-09-18; historical rows relink through rh-store-doctor backfill-launch-tokens.
| Parameter | In | Required | Notes |
|---|---|---|---|
token | path | yes | 0x-prefixed 20-byte hex address. |
New Tokens
GET /tokens/newNewest-first discovery feed of tokens, ordered by the block/tx/log coordinate they were first observed at. Each row carries symbol/name/decimals from the strict metadata observation and holderCount (one memoised point read per distinct token per page).
| Parameter | In | Required | Notes |
|---|---|---|---|
cursor | query | no | Opaque page cursor. See Pagination. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
order | query | no | Sort direction: this route's accepted values and default are on the schema (enum/default); a route whose backing index has no reverse walk accepts only asc. See Pagination for the shared contract. |
launchpads | query | no | Comma-separated canonical launchpad names: watch only these. GET /launchpads lists the accepted names. |
exclude_launchpads | query | no | Comma-separated canonical launchpad names: exclude these. Naming the same launchpad in both is not an error; exclusion always wins. |
Token Search
GET /tokens/searchToken search over symbol, name and address, composable with market and date filters and a caller-chosen sort.
| Parameter | In | Required | Notes |
|---|---|---|---|
mode | query | no | Optional index_page selects bounded text order, not a global ranking. |
allowScan | query | no | Required for symbol/name searches, which rank every bounded text-index match. address= remains an indexed point lookup and needs no opt-in. |
address | query | no | Exactly one selector is accepted per request: address short-circuits to the exact answer; symbol/name are exact (already-normalized) matches; symbol_prefix/name_prefix are bounded prefix seeks. Combining selectors, or pairing address with cursor/sort/order, is refused rather than silently picking one. The market and date filter/sort fields below are exactly /screener's own vocabulary (min_total_volume_quote through require_distinct_exact), reused verbatim, plus min_first_seen_block/ max_first_seen_block for the one axis this route adds. |
symbol | query | no | Exactly one selector is accepted per request: address short-circuits to the exact answer; symbol/name are exact (already-normalized) matches; symbol_prefix/name_prefix are bounded prefix seeks. Combining selectors, or pairing address with cursor/sort/order, is refused rather than silently picking one. The market and date filter/sort fields below are exactly /screener's own vocabulary (min_total_volume_quote through require_distinct_exact), reused verbatim, plus min_first_seen_block/ max_first_seen_block for the one axis this route adds. |
symbol_prefix | query | no | Exactly one selector is accepted per request: address short-circuits to the exact answer; symbol/name are exact (already-normalized) matches; symbol_prefix/name_prefix are bounded prefix seeks. Combining selectors, or pairing address with cursor/sort/order, is refused rather than silently picking one. The market and date filter/sort fields below are exactly /screener's own vocabulary (min_total_volume_quote through require_distinct_exact), reused verbatim, plus min_first_seen_block/ max_first_seen_block for the one axis this route adds. |
name | query | no | Exactly one selector is accepted per request: address short-circuits to the exact answer; symbol/name are exact (already-normalized) matches; symbol_prefix/name_prefix are bounded prefix seeks. Combining selectors, or pairing address with cursor/sort/order, is refused rather than silently picking one. The market and date filter/sort fields below are exactly /screener's own vocabulary (min_total_volume_quote through require_distinct_exact), reused verbatim, plus min_first_seen_block/ max_first_seen_block for the one axis this route adds. |
name_prefix | query | no | Exactly one selector is accepted per request: address short-circuits to the exact answer; symbol/name are exact (already-normalized) matches; symbol_prefix/name_prefix are bounded prefix seeks. Combining selectors, or pairing address with cursor/sort/order, is refused rather than silently picking one. The market and date filter/sort fields below are exactly /screener's own vocabulary (min_total_volume_quote through require_distinct_exact), reused verbatim, plus min_first_seen_block/ max_first_seen_block for the one axis this route adds. |
quote | query | no | Denominates every quote-dependent filter/sort AND selects which pair each row's live statistics display. Required whenever a market filter or sort key is used. |
window | query | no | 5m, 1h, 4h, or 24h. Defaults to 24h (/screener defaults to 5m). |
sort | query | no | The ordering key. Defaults to first_seen_block. Every other value is /screener's own market vocabulary, reused verbatim. |
order | query | no | Exactly one selector is accepted per request: address short-circuits to the exact answer; symbol/name are exact (already-normalized) matches; symbol_prefix/name_prefix are bounded prefix seeks. Combining selectors, or pairing address with cursor/sort/order, is refused rather than silently picking one. The market and date filter/sort fields below are exactly /screener's own vocabulary (min_total_volume_quote through require_distinct_exact), reused verbatim, plus min_first_seen_block/ max_first_seen_block for the one axis this route adds. |
cursor | query | no | Exactly one selector is accepted per request: address short-circuits to the exact answer; symbol/name are exact (already-normalized) matches; symbol_prefix/name_prefix are bounded prefix seeks. Combining selectors, or pairing address with cursor/sort/order, is refused rather than silently picking one. The market and date filter/sort fields below are exactly /screener's own vocabulary (min_total_volume_quote through require_distinct_exact), reused verbatim, plus min_first_seen_block/ max_first_seen_block for the one axis this route adds. |
limit | query | no | Page row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema. |
min_total_volume_quote | query | no | Inclusive lower bound on the row's totalVolumeQuote, exact quote-native base units as a decimal string. |
min_buy_volume_quote | query | no | Inclusive lower bound on the row's buyVolumeQuote, exact quote-native base units as a decimal string. |
min_sell_volume_quote | query | no | Inclusive lower bound on the row's sellVolumeQuote, exact quote-native base units as a decimal string. |
min_trades | query | no | Inclusive lower bound on the row's trades count. |
min_buys | query | no | Inclusive lower bound on the row's buys count. |
min_sells | query | no | Inclusive lower bound on the row's sells count. |
min_distinct_traders_lower_bound | query | no | Inclusive lower bound on the row's distinctTraders.lowerBound: the proven floor, not the (possibly higher) estimate. |
max_total_volume_quote | query | no | Inclusive upper bound on the row's totalVolumeQuote, exact quote-native base units as a decimal string. |
max_trades | query | no | Inclusive upper bound on the row's trades count. |
max_buys | query | no | Inclusive upper bound on the row's buys count. |
max_sells | query | no | Inclusive upper bound on the row's sells count. |
min_covered_blocks | query | no | Inclusive lower bound on the row's window.coveredBlocks: excludes a subject whose ranked span was clipped short (a young chain, a thin history) below this many blocks. |
require_window_fully_covered | query | no | When true, excludes any row where window.windowFullyCovered is false: the exact-only counterpart to minCoveredBlocks. |
require_distinct_exact | query | no | When true, excludes any row whose distinct-trader counts are not proven exact (distinctBuyers/distinctSellers/distinctTraders' own exact field), rather than accepting a sketch estimate. |
min_first_seen_block | query | no | Date filter: the token's first-seen block is at or above this. |
max_first_seen_block | query | no | Date filter: the token's first-seen block is at or below this. |