Skip to content
Indexer AccessAPI reference

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}/tokens

Every token one deployer created, newest first.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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 /launchpads

The registered launchpad table this build decodes (29 pads, including the Robinhood tokenized-equities issuer RobinhoodEquities).

Launchpad Launches

GET /launchpads/{pad}/launches

Launches 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.

ParameterInRequiredNotes
padpathyesRegistered launchpad name.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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 /tokens

Paged catalogue of every token the store has observed, including creation-only candidates that were never confirmed as ERC-20.

ParameterInRequiredNotes
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
quotequeryno/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}/ath

All-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).

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
quotequeryno/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}/atl

All-time low, same shape as /ath.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
quotequeryno/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-events

Coordinate-ordered feed of privileged-action log shapes observed on the contract: ownership transfers, post-creation mints. Evidence only, no verdict.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
walletpathyes0x-prefixed 20-byte hex address.

Token Creator

GET /tokens/{address}/creator

The deployer address and the creation coordinate.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.

Token First Seen

GET /tokens/{address}/first-seen

The coordinate at which this token was first observed, and the evidence class that observed it.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.

Token Holders

GET /tokens/{address}/holders

A 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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}/liquidity

Protocol-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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
quotequerynoThe 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}/mcap

Market capitalisation at the anchored block, from exact supply and a resolved price.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
quotequeryno/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/series

Market-cap series over time.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
framequeryyes1s, 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.
fromqueryyesInclusive start of the unix-second range the candle series covers, aligned down to its frame's own bucket width. Must be <= to.
toqueryyesInclusive 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.
quotequerynoThe 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.
cursorquerynoThe 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.
limitquerynoThe 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.
orderquerynoThe 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}/ohlcv

Token-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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
framequeryyes1s, 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.
fromqueryyesInclusive start of the unix-second range the candle series covers, aligned down to its frame's own bucket width. Must be <= to.
toqueryyesInclusive 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.
quotequerynoThe 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.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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}/overview

First-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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
quotequeryno/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/aggregate

Exact 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
quotequeryno/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/ranked

The 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed token address.
sortquerynovolume_24h (default) or liquidity (liquidityUsd, unpriced pools last). A liquidity cursor never resumes a volume ranking.
quotequerynoRank one quote group by quote-native volume instead of ranking every group together by USD volume.
cursorquerynoOpaque page cursor. /overview's poolsNextCursor resumes here when quote matches.
limitquerynoRows per page, 1 to 100. Defaults to 32.
orderquerynoOnly desc is accepted; any other value is a 400.

Token Stats

GET /tokens/{address}/stats

Rolling 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
quotequerynoquote 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}/swaps

Compact 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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}/ticks

Per-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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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.
quotequerynoquote 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-holders

The 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
limitquerynoPage 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}/traders

Trader 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.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
sortquerynosort 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.
orderquerynosort 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.
quotequerynosort 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/aggregate

Trade aggregate filterable by cohort tag, for splitting flow by wallet cluster. Same server-side default quote as /traders (quoteSelection).

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
periodqueryyesperiod 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.
tagquerynoperiod 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.
quotequerynoperiod 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-observations

Per swap for one pair, the venue-stated token amount against the amount actually credited, over the same bounded set of contributing pools.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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.
quotequerynoquote 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}/transfers

Exact ERC-20 transfer history with mint, burn and dead-sink flags.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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}/venue

Which pool the default-venue rule picks, and the values that decided it.

ParameterInRequiredNotes
addresspathyes0x-prefixed 20-byte hex address.

Token Launch

GET /tokens/{token}/launch

Launch 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.

ParameterInRequiredNotes
tokenpathyes0x-prefixed 20-byte hex address.

New Tokens

GET /tokens/new

Newest-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).

ParameterInRequiredNotes
cursorquerynoOpaque page cursor. See Pagination.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
orderquerynoSort 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.
launchpadsquerynoComma-separated canonical launchpad names: watch only these. GET /launchpads lists the accepted names.
exclude_launchpadsquerynoComma-separated canonical launchpad names: exclude these. Naming the same launchpad in both is not an error; exclusion always wins.
GET /tokens/search

Token search over symbol, name and address, composable with market and date filters and a caller-chosen sort.

ParameterInRequiredNotes
modequerynoOptional index_page selects bounded text order, not a global ranking.
allowScanquerynoRequired for symbol/name searches, which rank every bounded text-index match. address= remains an indexed point lookup and needs no opt-in.
addressquerynoExactly 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.
symbolquerynoExactly 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_prefixquerynoExactly 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.
namequerynoExactly 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_prefixquerynoExactly 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.
quotequerynoDenominates 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.
windowqueryno5m, 1h, 4h, or 24h. Defaults to 24h (/screener defaults to 5m).
sortquerynoThe ordering key. Defaults to first_seen_block. Every other value is /screener's own market vocabulary, reused verbatim.
orderquerynoExactly 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.
cursorquerynoExactly 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.
limitquerynoPage row cap. See Pagination for the shared contract; the exact default and maximum for this route are on the schema.
min_total_volume_quotequerynoInclusive lower bound on the row's totalVolumeQuote, exact quote-native base units as a decimal string.
min_buy_volume_quotequerynoInclusive lower bound on the row's buyVolumeQuote, exact quote-native base units as a decimal string.
min_sell_volume_quotequerynoInclusive lower bound on the row's sellVolumeQuote, exact quote-native base units as a decimal string.
min_tradesquerynoInclusive lower bound on the row's trades count.
min_buysquerynoInclusive lower bound on the row's buys count.
min_sellsquerynoInclusive lower bound on the row's sells count.
min_distinct_traders_lower_boundquerynoInclusive lower bound on the row's distinctTraders.lowerBound: the proven floor, not the (possibly higher) estimate.
max_total_volume_quotequerynoInclusive upper bound on the row's totalVolumeQuote, exact quote-native base units as a decimal string.
max_tradesquerynoInclusive upper bound on the row's trades count.
max_buysquerynoInclusive upper bound on the row's buys count.
max_sellsquerynoInclusive upper bound on the row's sells count.
min_covered_blocksquerynoInclusive 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_coveredquerynoWhen true, excludes any row where window.windowFullyCovered is false: the exact-only counterpart to minCoveredBlocks.
require_distinct_exactquerynoWhen 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_blockquerynoDate filter: the token's first-seen block is at or above this.
max_first_seen_blockquerynoDate filter: the token's first-seen block is at or below this.

View this page as Markdown