Skip to main content
Glama

Tessera Analytics - Hyperliquid Market Intelligence

funding_divergence

Rank markets by how far their funding has diverged from a benchmark (default ETH) over a trailing window. Pick bar (1d, the default, or 1h on a Pro key) to read completed days or completed hours. metric=rate compares mean funding over the window; metric=cum_funding_spread compares how far a market's cumulative funding level travelled inside the window (its high minus its low, so never negative) — that is not the funding the window accumulated, which is funding_paid_7d (or funding_rate_7d_avg times the window's completed-interval count). Returns the most diverged in each direction. Markets with no funding reading are excluded from both lists. Descriptive only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
barNo`1d` (the default) for completed UTC days, `1h` for completed UTC hours. An interval, at either grain, is stamped by the instant it **closes** — an hourly `…T09:00:00Z` is the hour that ended at 09:00.
coinsNoRestrict to these markets.
scopeNo`crypto` (the default), `hip3`, or `all`.
top_nNoMarkets per ranked list, 1..50. Defaults to 10.
metricNo`rate` (the default) ranks each market's mean funding over the window minus the benchmark's; `cum_funding_spread` ranks the **spread of the cumulative funding level** over the window — its high minus its low, so always non-negative — minus the benchmark's. That is not the funding the window accumulated: `cum_funding` is a running total, so a market whose level retraced has a large spread and a *negative* accumulation (and one that reversed inside the window has a spread several times its true accumulation). Measured 2026-10-13 over 34 markets and the trailing 168 hours, the expression below reproduced the served value exactly, while `SUM(funding_paid)` over the same window disagreed in sign for 11 of them (TRX +0.00440 vs −0.00445) and by up to 100× (CASHCAT 0.2050 vs 0.0020). The accumulation is `funding_paid_7d`, or equivalently `funding_rate_7d_avg` × the window's completed-interval count — 7 intervals at the daily grain and 168 at the hourly one.
benchmarkNoThe market whose funding is the yardstick. Defaults to ETH.
window_daysNoLength of the trailing window in days, 1..365. Defaults to 7.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
barYesThe grain this answer was computed at: `1d` or `1h`.
as_ofYes
notesYes
scopeYes
metricYes
sourceYes
benchmarkYes
truncatedYes
window_daysYes
top_negativeYesThe largest divergences toward the benchmark's opposite, most extreme first.
top_positiveYesThe largest divergences away from the benchmark, most extreme first.
matched_countYesMarkets that had a funding reading in the window. Markets without one are excluded from both lists and from this count — a missing reading must never appear as an extreme.
visible_countYesMarkets in your plan's slice on this interval, before any filter you passed.
eligible_countYesMarkets left after your explicit market filter.
benchmark_valueYesThe benchmark's own value for the metric.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / metric / description
      Previous value: -"`rate` (the default) ranks each market's mean funding over the window\nminus the benchmark's; `cum_funding_spread` ranks the **spread of the\ncumulative funding level** over the window — its high minus its low, so\nalways non-negative — minus the benchmark's. That is not the funding the\nwindow accumulated: `cum_funding` is a running total, so a market whose\nlevel retraced has a large spread and a *negative* accumulation (and one\nthat reversed inside the window has a spread several times its true\naccumulation). Measured 2026-10-13 over 34 markets and the trailing 168\nhours, the expression below reproduced the served value exactly, while\n`SUM(funding_paid)` over the same window disagreed in sign for 11 of\nthem (TRX +0.00440 vs −0.00445) and by up to 100× (CASHCAT 0.2050 vs\n0.0020). The accumulation is `funding_rate_7d_avg` × the window's completed-interval count — that is 7 intervals at the daily grain and 168 at the hourly one."New value: +"`rate` (the default) ranks each market's mean funding over the window\nminus the benchmark's; `cum_funding_spread` ranks the **spread of the\ncumulative funding level** over the window — its high minus its low, so\nalways non-negative — minus the benchmark's. That is not the funding the\nwindow accumulated: `cum_funding` is a running total, so a market whose\nlevel retraced has a large spread and a *negative* accumulation (and one\nthat reversed inside the window has a spread several times its true\naccumulation). Measured 2026-10-13 over 34 markets and the trailing 168\nhours, the expression below reproduced the served value exactly, while\n`SUM(funding_paid)` over the same window disagreed in sign for 11 of\nthem (TRX +0.00440 vs −0.00445) and by up to 100× (CASHCAT 0.2050 vs\n0.0020). The accumulation is `funding_paid_7d`, or equivalently\n`funding_rate_7d_avg` × the window's completed-interval count — 7\nintervals at the daily grain and 168 at the hourly one."
  2. Changed1 schema field changed
    • changedInput schema / properties / metric / description
      Previous value: -"`rate` (the default) ranks each market's mean funding over the window\nminus the benchmark's; `cum_funding_spread` ranks funding accumulated\nover the window, high minus low, minus the benchmark's."New value: +"`rate` (the default) ranks each market's mean funding over the window\nminus the benchmark's; `cum_funding_spread` ranks the **spread of the\ncumulative funding level** over the window — its high minus its low, so\nalways non-negative — minus the benchmark's. That is not the funding the\nwindow accumulated: `cum_funding` is a running total, so a market whose\nlevel retraced has a large spread and a *negative* accumulation (and one\nthat reversed inside the window has a spread several times its true\naccumulation). Measured 2026-10-13 over 34 markets and the trailing 168\nhours, the expression below reproduced the served value exactly, while\n`SUM(funding_paid)` over the same window disagreed in sign for 11 of\nthem (TRX +0.00440 vs −0.00445) and by up to 100× (CASHCAT 0.2050 vs\n0.0020). The accumulation is `funding_rate_7d_avg` × the window's completed-interval count — that is 7 intervals at the daily grain and 168 at the hourly one."
  3. Changed1 schema field changed
    • changedInput schema / properties / bar / description
      Previous value: -"`1d` (the default) for completed UTC days, `1h` for the most recent\ncompleted UTC hour."New value: +"`1d` (the default) for completed UTC days, `1h` for completed UTC hours.\nAn interval, at either grain, is stamped by the instant it **closes** —\nan hourly `…T09:00:00Z` is the hour that ended at 09:00."
  4. Changed8 schema fields changed
    • addedInput schema / properties / bar
      Added value: +{
      +  "default": null,
      +  "description": "`1d` (the default) for completed UTC days, `1h` for the most recent\ncompleted UTC hour.",
      +  "nullable": true,
      +  "type": "string"
      +}
    • changedInput schema / properties / metric / description
      Previous value: -"`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."New value: +"`rate` (the default) ranks each market's mean funding over the window\nminus the benchmark's; `cum_funding_spread` ranks funding accumulated\nover the window, high minus low, minus the benchmark's."
    • addedOutput schema / properties / bar
      Added value: +{
      +  "description": "The grain this answer was computed at: `1d` or `1h`.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / coin_count
      Removed value: -{
      -  "description": "How many markets had a funding reading in the window; markets without\none are excluded from both lists and from this count.",
      -  "format": "int64",
      -  "type": "integer"
      -}
    • addedOutput schema / properties / eligible_count
      Added value: +{
      +  "description": "Markets left after your explicit market filter.",
      +  "format": "int64",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / matched_count
      Added value: +{
      +  "description": "Markets that had a funding reading in the window. Markets without one are\nexcluded from both lists and from this count — a missing reading must\nnever appear as an extreme.",
      +  "format": "int64",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / visible_count
      Added value: +{
      +  "description": "Markets in your plan's slice on this interval, before any filter you\npassed.",
      +  "format": "int64",
      +  "type": "integer"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "source",
      -  "as_of",
      -  "scope",
      -  "coin_count",
      -  "metric",
      -  "benchmark",
      -  "window_days",
      -  "benchmark_value",
      -  "top_positive",
      -  "top_negative",
      -  "truncated",
      -  "notes"
      -]New value: +[
      +  "bar",
      +  "source",
      +  "as_of",
      +  "scope",
      +  "visible_count",
      +  "eligible_count",
      +  "matched_count",
      +  "metric",
      +  "benchmark",
      +  "window_days",
      +  "benchmark_value",
      +  "top_positive",
      +  "top_negative",
      +  "truncated",
      +  "notes"
      +]
  5. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources