Servidor MCP

Hyperliquid Market Data — OHLCV, Funding Rates & Positioning (Tessera)

dev.tesseralytics/hyperliquid-data

Qué hace este MCP

Provides Hyperliquid perpetual-market data including OHLCV, funding, open interest, positioning, live metrics, cross-sectional rankings, screening, and time series.

describe_dataset
The full dictionary for ONE downloadable dataset: description plus every column's type, nullability and plain-English meaning. Pass a name from list_datasets. Open — no key needed. For the fields the query tools accept, use list_fields.
Esquema de entrada
{'type': 'object', 'title': 'DatasetArg', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['asset'], 'properties': {'asset': {'type': 'string', 'description': 'Dataset name, as returned by `list_datasets`.'}}, 'description': "Which dataset's dictionary to return."}
Esquema de salida
{'type': 'object', '$defs': {'Temporal': {'type': 'object', 'required': ['grain', 'timestamp_field', 'label', 'convention'], 'properties': {'grain': {'type': 'string', 'description': 'Observation width, e.g. `1m`, `1h`, `1d`, `1mo`.'}, 'label': {'type': 'string', 'description': 'What the label marks: one of `interval_start`, `interval_end`,\n`snapshot`, `forecast_target`.'}, 'convention': {'type': 'string', 'description': 'One-paragraph plain-English join / look-ahead contract.'}, 'timestamp_field': {'type': 'string', 'description': 'Which column carries the label, e.g. `time`, `day`, `month_start`.'}}, 'description': "The dataset's temporal contract â\x80\x94 what the timestamp column marks and the\nlook-ahead-safety rules for joining. Mirror of the resolver's `temporal`\nblock (`semantic/__init__.py`)."}, 'ColumnDoc': {'type': 'object', 'required': ['name', 'type', 'nullable', 'meaning'], 'properties': {'name': {'type': 'string', 'description': 'Column name.'}, 'type': {'type': 'string', 'description': 'Arrow type string, e.g. `float64`, `timestamp[us]`.'}, 'meaning': {'type': 'string', 'description': "Plain-English meaning â\x80\x94 *what* the column is and why it's useful."}, 'nullable': {'type': 'boolean', 'description': 'Whether the column may be null.'}, 'description': {'type': 'string', 'nullable': True, 'description': 'Technical description â\x80\x94 *how* the column is computed. May be absent.'}}, 'description': "One column's dictionary entry: the engineering facts (type/nullability/how\nit's computed) plus the plain-English `meaning` (what it is and why you'd care)."}, 'ColumnGroup': {'type': 'object', 'required': ['columns'], 'properties': {'label': {'type': 'string', 'nullable': True, 'description': 'Section heading, or `null` for a single unlabelled group.'}, 'window': {'type': 'string', 'default': None, 'nullable': True, 'description': "Temporal window of this group's fields relative to the timestamp label:\none of `point_in_time`, `backward`, `forward`, `contemporaneous`,\n`static`. Null when the dataset-level `temporal.convention` covers them."}, 'columns': {'type': 'array', 'items': {'$ref': '#/$defs/ColumnDoc'}}, 'meaning': {'type': 'string', 'nullable': True, 'description': 'Group-level plain-English meaning, used for large column families (e.g.\nthe residualized factor backbone) where a per-column line adds no value.'}}, 'description': 'A labelled section of columns within a dataset.'}}, 'title': 'DatasetDoc', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'title', 'category', 'cadence', 'summary', 'description', 'tier', 'column_count', 'column_groups'], 'properties': {'name': {'type': 'string', 'description': 'Dataset name, exactly as `list_datasets` reports it.'}, 'note': {'type': 'string', 'nullable': True, 'description': 'Optional "how to use this" callout.'}, 'tier': {'type': 'string', 'description': 'Display tier: `free` or `pro`. Re-derived from `policy.rs` on read, so it\nalways matches actual entitlement regardless of the on-disk value.'}, 'title': {'type': 'string', 'description': 'Human-friendly title, e.g. "Order-flow OHLCV (1-minute)".'}, 'cadence': {'type': 'string', 'description': 'How frequently the data is sampled, e.g. "1-minute bars".'}, 'summary': {'type': 'string', 'description': 'One-line intuitive summary â\x80\x94 the catalog card.'}, 'category': {'type': 'string', 'description': 'Presentation category, e.g. `raw-tiles` or `forecast-layer`.'}, 'keywords': {'type': 'array', 'items': {'type': 'string'}, 'default': [], 'description': 'Per-dataset discovery keywords (schema.org keywords on the web).'}, 'temporal': {'$ref': '#/$defs/Temporal', 'default': {'grain': '', 'label': '', 'convention': '', 'timestamp_field': ''}, 'description': 'Machine-readable timestamp/interval contract: what the label marks and\nhow to join without leaking the future. Defaulted so snapshots predating\nthe field still deserialize.'}, 'use_case': {'type': 'string', 'default': '', 'description': 'One-line "what you\'d use it for" (buyer-intent) copy.'}, 'seo_title': {'type': 'string', 'default': '', 'description': 'Keyword-first SEO title tag (web `<title>`). Defaulted so older snapshots\nwithout the field still deserialize.'}, 'description': {'type': 'string', 'description': 'Longer prose â\x80\x94 the dictionary page header.'}, 'column_count': {'type': 'integer', 'format': 'uint', 'minimum': 0, 'description': 'Number of documented columns.'}, 'column_groups': {'type': 'array', 'items': {'$ref': '#/$defs/ColumnGroup'}, 'description': 'Columns, grouped for presentation, in schema order.'}, 'direct_answer': {'type': 'string', 'default': '', 'description': '40-60 word keyword-first lead answer â\x80\x94 the definitional "what is this"\nblurb, and the strongest AI-citation extraction target. Defaulted for\nforward/backward compatibility with snapshots predating the field.'}}, 'description': "One dataset's catalog entry + full data dictionary."}
funding_divergence
Rank markets by how far their funding has diverged from a benchmark (default ETH) over a trailing window. metric=rate compares mean daily funding; metric=cum_funding_spread compares funding accumulated over the window. Returns the most diverged in each direction. Markets with no funding reading are excluded from both lists. Descriptive only.
Esquema de entrada
{'type': 'object', 'title': 'DivergenceArgs', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'coins': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'nullable': True, 'description': 'Restrict to these markets.'}, 'scope': {'type': 'string', 'default': None, 'nullable': True, 'description': '`crypto` (the default), `hip3`, or `all`.'}, 'top_n': {'type': 'integer', 'format': 'uint', 'default': None, 'minimum': 0, 'nullable': True, 'description': 'Markets per ranked list, 1..50. Defaults to 10.'}, 'metric': {'type': 'string', 'default': None, 'nullable': True, 'description': "`rate` (the default) ranks each market's mean daily funding minus the\nbenchmark's; `cum_funding_spread` ranks funding accumulated over the\nwindow, high minus low, minus the benchmark's."}, 'benchmark': {'type': 'string', 'default': None, 'nullable': True, 'description': 'The market whose funding is the yardstick. Defaults to ETH.'}, 'window_days': {'type': 'integer', 'format': 'uint', 'default': None, 'minimum': 0, 'nullable': True, 'description': 'Length of the trailing window in days, 1..365. Defaults to 7.'}}}
Esquema de salida
{'type': 'object', '$defs': {'DivergenceRow': {'type': 'object', 'required': ['coin', 'value', 'divergence'], 'properties': {'coin': {'type': 'string'}, 'value': {'type': 'number', 'format': 'double', 'description': "This market's value for the requested metric over the window."}, 'divergence': {'type': 'number', 'format': 'double', 'description': "`value` minus the benchmark's."}}, 'description': "One market's funding divergence from the benchmark."}}, 'title': 'DivergenceResult', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['source', 'as_of', 'scope', 'coin_count', 'metric', 'benchmark', 'window_days', 'benchmark_value', 'top_positive', 'top_negative', 'truncated', 'notes'], 'properties': {'as_of': {'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'scope': {'type': 'string'}, 'metric': {'type': 'string'}, 'source': {'type': 'string'}, 'benchmark': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'coin_count': {'type': 'integer', 'format': 'int64', 'description': 'How many markets had a funding reading in the window; markets without\none are excluded from both lists and from this count.'}, 'window_days': {'type': 'integer', 'format': 'uint', 'minimum': 0}, 'top_negative': {'type': 'array', 'items': {'$ref': '#/$defs/DivergenceRow'}, 'description': "The largest divergences toward the benchmark's opposite, most extreme\nfirst."}, 'top_positive': {'type': 'array', 'items': {'$ref': '#/$defs/DivergenceRow'}, 'description': 'The largest divergences away from the benchmark, most extreme first.'}, 'benchmark_value': {'type': 'number', 'format': 'double', 'description': "The benchmark's own value for the metric."}}}
get_universe
The coverage picture: the last complete day, how many markets are in the universe for a scope, how much history sits behind them, and how densely it is populated. A compact SUMMARY by default — pass top_n (1..50) only if you need the per-market day counts.
Esquema de entrada
{'type': 'object', 'title': 'UniverseArgs', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'day': {'type': 'string', 'default': None, 'nullable': True, 'description': 'The day to describe, `YYYY-MM-DD` or `latest`.'}, 'scope': {'type': 'string', 'default': None, 'nullable': True, 'description': '`crypto` (the default), `hip3`, or `all`.'}, 'top_n': {'type': 'integer', 'format': 'uint', 'default': None, 'minimum': 0, 'nullable': True, 'description': 'Per-market detail is off by default; passing a value (1..50) returns\nthat many markets, listed by name, alongside the summary.'}}}
Esquema de salida
{'type': 'object', '$defs': {'UniverseCoin': {'type': 'object', 'required': ['coin', 'days'], 'properties': {'coin': {'type': 'string'}, 'days': {'type': 'integer', 'format': 'int64', 'description': 'How many days of the range this market appears on.'}}, 'description': "One market's coverage within the described range."}}, 'title': 'UniverseResult', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['source', 'as_of', 'scope', 'min_day', 'max_complete_day', 'day_count', 'months_covered', 'coin_count_total', 'coin_count_crypto', 'coin_count_hip3', 'row_count', 'rows_per_market_day', 'coverage_from_manifest', 'truncated', 'notes'], 'properties': {'as_of': {'type': 'string', 'description': 'The day the per-population counts describe.'}, 'coins': {'type': 'array', 'items': {'$ref': '#/$defs/UniverseCoin'}, 'nullable': True, 'description': 'Per-market detail, only when requested. Markets are listed by name.'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'scope': {'type': 'string'}, 'source': {'type': 'string'}, 'min_day': {'type': 'string', 'description': "The oldest day the counts below cover: the published range start, or the\ncaller's history floor when the plan clips it (the response says so in\n`notes`)."}, 'day_count': {'type': 'integer', 'format': 'int64', 'description': 'Distinct days in the range.'}, 'row_count': {'type': 'integer', 'format': 'int64', 'description': 'Rows in scope over the whole range.'}, 'truncated': {'type': 'boolean', 'description': 'True when more markets exist than the detail list returned.'}, 'months_covered': {'type': 'integer', 'format': 'int64'}, 'coin_count_hip3': {'type': 'integer', 'format': 'int64', 'description': 'Markets with a deployer prefix on the described day.'}, 'coin_count_total': {'type': 'integer', 'format': 'int64', 'description': 'Distinct markets in scope over the whole range.'}, 'max_complete_day': {'type': 'string', 'description': 'The newest complete day â\x80\x94 the day `latest` resolves to.'}, 'coin_count_crypto': {'type': 'integer', 'format': 'int64', 'description': 'Markets without a deployer prefix on the described day, whatever scope\nwas asked for.'}, 'rows_per_market_day': {'type': 'number', 'format': 'double', 'description': '`row_count` divided by (days Ã\x97 markets) â\x80\x94 how densely the range is\npopulated. Below 1.0 means some markets are missing some days.'}, 'coverage_from_manifest': {'type': 'boolean', 'description': 'True when the day range came from the published coverage manifest,\nfalse when it had to be read from the data itself.'}}}
list_datasets
List the downloadable datasets: one-line summary, the plan required, and the month range available. Open — no key needed. Then use describe_dataset for one dataset's columns, or list_fields for the fields the query tools accept.
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'type': 'object', '$defs': {'CatalogEntry': {'type': 'object', 'required': ['name', 'title', 'category', 'cadence', 'summary', 'tier', 'column_count'], 'properties': {'name': {'type': 'string'}, 'tier': {'type': 'string', 'description': "`free` or `pro` â\x80\x94 the plan required to read this dataset's data."}, 'title': {'type': 'string'}, 'months': {'type': 'array', 'items': {'type': 'string'}, 'nullable': True, 'description': 'The published month range, `[earliest, latest]`. Absent when the catalog\nlists no months for it.'}, 'cadence': {'type': 'string'}, 'summary': {'type': 'string'}, 'category': {'type': 'string'}, 'column_count': {'type': 'integer', 'format': 'uint', 'minimum': 0}}, 'description': 'One dataset in the public catalog.'}}, 'title': 'DatasetsResult', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['your_tier', 'generated_at', 'datasets'], 'properties': {'datasets': {'type': 'array', 'items': {'$ref': '#/$defs/CatalogEntry'}}, 'your_tier': {'type': 'string', 'description': "The caller's own plan (`free`, `pro` or `anonymous`)."}, 'generated_at': {'type': 'string', 'description': 'When this catalog was produced.'}}}
list_fields
Every field the query tools accept, each with its meaning, unit and whether it can be missing. Open — no key needed. Call this before query_cross_section, screen_universe or query_series. Percentile, z-score and the top_pct/bottom_pct conditions rank within the markets your plan can see, so they need a wide slice.
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'type': 'object', '$defs': {'FieldDoc': {'type': 'object', 'required': ['name', 'meaning', 'unit', 'nullable', 'kind'], 'properties': {'kind': {'type': 'string', 'description': '`stored` (a column in the daily source) or `factor` (computed at query\ntime over a trailing window, or from the end-day row).'}, 'name': {'type': 'string'}, 'type': {'type': 'string', 'nullable': True, 'description': "The stored column's type (`float64`, `uint32`, `date32`, â\x80¦); absent for\nquery-time factors, which are always floats."}, 'unit': {'type': 'string', 'description': 'The unit the values actually carry (`usd_notional`, `base_units`,\n`ratio`, `fraction`, `count`, `date`, â\x80¦). A stored column name is never a\nsynonym for its unit â\x80\x94 the OI a caller sees is USD notional where the\ncolumn is named for the notion.'}, 'meaning': {'type': 'string', 'description': 'Plain-English meaning, authored in the semantic layer.'}, 'nullable': {'type': 'boolean', 'description': 'Whether the value can be absent for a market on a day.'}}, 'description': "One addressable field's documentation.\n\nServed verbatim by the MCP plane's `list_fields`; the schema derive is what\nkeeps the tool's advertised output shape and the served JSON the same thing."}}, 'title': 'FieldsResult', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['generated_at', 'fields', 'notes'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}}, 'fields': {'type': 'array', 'items': {'$ref': '#/$defs/FieldDoc'}, 'description': 'Every field the query tools accept.'}, 'generated_at': {'type': 'string', 'description': 'When this vocabulary was produced.'}}}
live_market
What is happening right now: mark price, current hourly funding, open interest, 24-hour traded notional and premium for up to 25 markets, taken straight from the venue's public API and stamped with the moment it was read. Use this for 'now' questions; the daily tools answer completed days only.
Esquema de entrada
{'type': 'object', 'title': 'LiveMarketArgs', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['coins'], 'properties': {'coins': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The markets to snapshot, 1..25.'}}}
Esquema de salida
{'type': 'object', '$defs': {'LiveMarketRow': {'type': 'object', 'required': ['coin'], 'properties': {'coin': {'type': 'string'}, 'mid_px': {'type': 'number', 'format': 'double', 'nullable': True}, 'oi_usd': {'type': 'number', 'format': 'double', 'nullable': True, 'description': '`open_interest * mark_px` when both are present.'}, 'mark_px': {'type': 'number', 'format': 'double', 'nullable': True}, 'premium': {'type': 'number', 'format': 'double', 'nullable': True}, 'oracle_px': {'type': 'number', 'format': 'double', 'nullable': True}, 'funding_rate': {'type': 'number', 'format': 'double', 'nullable': True, 'description': 'Current hourly funding rate.'}, 'open_interest': {'type': 'number', 'format': 'double', 'nullable': True, 'description': 'Open interest in base units, as reported upstream.'}, 'day_volume_usd': {'type': 'number', 'format': 'double', 'nullable': True}}, 'description': 'Snapshot of one market, as of the upstream fetch.'}}, 'title': 'LiveMarketResult', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['source', 'as_of', 'coin_count', 'rows', 'notes'], 'properties': {'rows': {'type': 'array', 'items': {'$ref': '#/$defs/LiveMarketRow'}}, 'as_of': {'type': 'string', 'description': 'When the snapshot was taken, UTC.'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'string', 'description': '`hyperliquid_rest` â\x80\x94 this is the live market, not the completed-day data.'}, 'coin_count': {'type': 'integer', 'format': 'uint', 'minimum': 0}}}
query_cross_section
Rank the whole market on ONE completed day: pick columns, an order_by field and top_n. Answers 'top markets by funding / open interest / returns on the latest day' and 'what percentile is BTC on open interest'. day defaults to the last complete day; scope defaults to crypto (HIP-3 markets track an underlying that closes, so their flow is not comparable); stat=percentile|zscore ranks within your visible markets; window_days recomputes the trailing-window fields; min_usd_volume_7d_avg keeps dust out of the ranking. Field names come from list_fields — never guess them, they are snake_case compound names; for a cut ('top decile by X') use screen_universe.
Esquema de entrada
{'type': 'object', 'title': 'CrossSectionArgs', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'day': {'type': 'string', 'default': None, 'nullable': True, 'description': 'The day to rank, `YYYY-MM-DD`, or `latest` (the default: the most recent\ncomplete day).'}, 'stat': {'type': 'string', 'default': None, 'nullable': True, 'description': '`raw` (the default), `percentile`, or `zscore`. Percentile and z-score\nare ranked **within the markets your plan can see**, so they need a\nslice of at least four markets.'}, 'coins': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'nullable': True, 'description': "Restrict to these markets. A market outside your plan's coverage is\nignored rather than widening the answer."}, 'scope': {'type': 'string', 'default': None, 'nullable': True, 'description': '`crypto` (the default), `hip3`, or `all`. Restricted markets track an\nunderlying that closes, so their flow is not comparable on a weekend.'}, 'top_n': {'type': 'integer', 'format': 'uint', 'default': None, 'minimum': 0, 'nullable': True, 'description': 'How many markets to return, 1..50. Defaults to 20.'}, 'columns': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'nullable': True, 'description': "Fields to return per market, from `list_fields`. `coin` is always\nincluded. Defaults to price, traded notional and the day's return."}, 'order_by': {'type': 'string', 'default': None, 'nullable': True, 'description': "The field to rank by. Need not appear in `columns`. Defaults to the\nday's traded notional."}, 'descending': {'type': 'boolean', 'default': None, 'nullable': True, 'description': 'Rank largest first (the default). Set false for the smallest.'}, 'window_days': {'type': 'integer', 'format': 'uint', 'default': None, 'minimum': 0, 'nullable': True, 'description': 'Recompute the trailing-window fields over this many days, 1..365\n(default 7). The response always states the window it used.'}, 'min_usd_volume_7d_avg': {'type': 'number', 'format': 'double', 'default': None, 'nullable': True, 'description': 'Drop markets whose average daily traded notional over the window is\nbelow this value, so dust cannot top a ranking.'}}}
Esquema de salida
{'type': 'object', 'title': 'CrossSectionResult', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['source', 'as_of', 'scope', 'coin_count', 'ranked_count', 'row_count', 'truncated', 'stat', 'rows', 'notes'], 'properties': {'rows': {'type': 'array', 'items': True}, 'stat': {'type': 'string', 'description': 'The ranking treatment actually applied: `raw`, `percentile` or\n`zscore`.'}, 'as_of': {'type': 'string', 'description': 'The UTC day the answer describes.'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'scope': {'type': 'string', 'description': 'The market population the ranking ran over.'}, 'source': {'type': 'string', 'description': '`tessera_daily` â\x80\x94 the answer is from completed days, not the live market.'}, 'row_count': {'type': 'integer', 'format': 'uint', 'minimum': 0, 'description': 'How many markets are in `rows`.'}, 'truncated': {'type': 'boolean', 'description': 'True when `ranked_count` exceeds `row_count`.'}, 'coin_count': {'type': 'integer', 'format': 'int64', 'description': 'The number of markets in your visible slice on that day â\x80\x94 the\ndenominator every statistic and floor below is measured against.'}, 'ranked_count': {'type': 'integer', 'format': 'int64', 'description': 'How many markets had a value for the ranked field and passed the floor.'}}}
query_series
The daily series for one market or a few (max 10): one row per market per day over a trailing window, oldest first. Answers 'is this move backed by real flow' and 'how has positioning built up'. ending_day defaults to the last complete day. The whole answer is capped, so markets times window_days must stay inside the row cap; the response states the window it used.
Esquema de entrada
{'type': 'object', 'title': 'SeriesArgs', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['coins'], 'properties': {'coins': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The markets to return, 1..10.'}, 'scope': {'type': 'string', 'default': None, 'nullable': True, 'description': '`crypto` (the default), `hip3`, or `all`.'}, 'columns': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'nullable': True, 'description': 'Fields to return per row, from `list_fields`. `day` and `coin` are\nalways included.'}, 'ending_day': {'type': 'string', 'default': None, 'nullable': True, 'description': 'The last day to include, `YYYY-MM-DD` or `latest`.'}, 'window_days': {'type': 'integer', 'format': 'uint', 'default': None, 'minimum': 0, 'nullable': True, 'description': 'Length of the trailing window in days, 1..365. Defaults to 7.'}}}
Esquema de salida
{'type': 'object', 'title': 'SeriesResult', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['source', 'as_of', 'scope', 'window_days', 'coin_count', 'row_count', 'truncated', 'rows', 'notes'], 'properties': {'rows': {'type': 'array', 'items': True}, 'as_of': {'type': 'string', 'description': 'The last day in the series.'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'scope': {'type': 'string'}, 'source': {'type': 'string'}, 'row_count': {'type': 'integer', 'format': 'uint', 'minimum': 0}, 'truncated': {'type': 'boolean'}, 'coin_count': {'type': 'integer', 'format': 'int64', 'description': 'The markets the series covers.'}, 'window_days': {'type': 'integer', 'format': 'uint', 'minimum': 0, 'description': 'The window the trailing fields were computed over.'}}}
screen_universe
Screen the whole market on ONE completed day with several conditions ANDed together. Conditions use op >, <, >=, <=, between, top_pct or bottom_pct; top_pct/bottom_pct are deciles of the markets you can see. Answers 'top-decile funding with bottom-decile open-interest change' and 'open interest rising faster than volume'. A market that does not report a field never satisfies a condition on it.
Esquema de entrada
{'type': 'object', '$defs': {'ConditionArg': {'type': 'object', 'required': ['column', 'op', 'value'], 'properties': {'op': {'type': 'string', 'description': 'One of `>`, `<`, `>=`, `<=`, `between`, `top_pct`, `bottom_pct`.\n`top_pct`/`bottom_pct` keep the best/worst `value` percent of the\nmarkets you can see by that field.'}, 'value': {'type': 'number', 'format': 'double', 'description': 'The threshold. For `top_pct`/`bottom_pct` this is a percentage, e.g. 10\nfor the top decile.'}, 'column': {'type': 'string', 'description': 'The field to test, from `list_fields`.'}, 'value2': {'type': 'number', 'format': 'double', 'default': None, 'nullable': True, 'description': 'Required for `between`: the upper bound, inclusive.'}}, 'description': 'One condition of a screen.'}}, 'title': 'ScreenArgs', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['conditions'], 'properties': {'day': {'type': 'string', 'default': None, 'nullable': True, 'description': 'The day to screen, `YYYY-MM-DD` or `latest`.'}, 'coins': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'nullable': True, 'description': 'Restrict to these markets.'}, 'scope': {'type': 'string', 'default': None, 'nullable': True, 'description': '`crypto` (the default), `hip3`, or `all`.'}, 'columns': {'type': 'array', 'items': {'type': 'string'}, 'default': None, 'nullable': True, 'description': 'Fields to return per market, from `list_fields`.'}, 'order_by': {'type': 'string', 'default': None, 'nullable': True, 'description': "The field to rank the matches by. Defaults to the day's traded notional."}, 'conditions': {'type': 'array', 'items': {'$ref': '#/$defs/ConditionArg'}, 'description': 'Conditions, all of which must hold. A market that does not report a\nfield never satisfies a condition on it.'}, 'descending': {'type': 'boolean', 'default': None, 'nullable': True, 'description': 'Rank largest first (the default).'}, 'max_results': {'type': 'integer', 'format': 'uint', 'default': None, 'minimum': 0, 'nullable': True, 'description': 'How many markets to return, 1..50. Defaults to 25.'}, 'min_usd_volume_7d_avg': {'type': 'number', 'format': 'double', 'default': None, 'nullable': True, 'description': 'Drop markets below this average daily traded notional over the window.'}}}
Esquema de salida
{'type': 'object', 'title': 'ScreenResult', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['source', 'as_of', 'scope', 'coin_count', 'matched_count', 'row_count', 'truncated', 'rows', 'notes'], 'properties': {'rows': {'type': 'array', 'items': True}, 'as_of': {'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'scope': {'type': 'string'}, 'source': {'type': 'string'}, 'row_count': {'type': 'integer', 'format': 'uint', 'minimum': 0}, 'truncated': {'type': 'boolean'}, 'coin_count': {'type': 'integer', 'format': 'int64', 'description': 'The number of markets in your visible slice on that day â\x80\x94 the\ndenominator the percentage conditions and the floor were measured\nagainst.'}, 'matched_count': {'type': 'integer', 'format': 'int64', 'description': 'How many markets met every condition.'}}}
Modificado
get_universe
23 de September de 2026 a las 02:42
Modificado
query_cross_section
21 de September de 2026 a las 02:49
Añadido
get_universe
17 de September de 2026 a las 12:39
Añadido
query_series
17 de September de 2026 a las 12:39
Añadido
describe_dataset
17 de September de 2026 a las 12:39
Añadido
list_fields
17 de September de 2026 a las 12:39
Añadido
funding_divergence
17 de September de 2026 a las 12:39
Añadido
list_datasets
17 de September de 2026 a las 12:39
Añadido
query_cross_section
17 de September de 2026 a las 12:39
Añadido
live_market
17 de September de 2026 a las 12:39
Añadido
screen_universe
17 de September de 2026 a las 12:39