Perpetual futures

Perps market history

One perp market over time (1d to 90d): price, open interest, funding, taker buying vs selling, big accounts' net position; plus the latest book depth (±0.5/1/2%) and big accounts' P&L and leverage.

TOOLget_perps_history
Server
https://mcp.optimistfi.com/mcp
Authentication
None
Access
Read-only: it changes nothing
Example call
curl https://mcp.optimistfi.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_perps_history","arguments":{"entity":"SOL","window":"7d"}}}'

When a model calls it

Models choose a tool from its description. This is the one the server publishes:

One perp market over time (1d to 90d): price, open interest, funding, taker buying vs selling, big accounts' net position; plus the latest book depth (±0.5/1/2%) and big accounts' P&L and leverage. Use when the user asks: X funding this week; are whales adding to X; how deep is X's book. Args: entity; window.
  • X funding this week
  • are whales adding to X
  • how deep is X's book

Parameters

entitystringrequired

The market: a ticker or symbol (NVDA, BTC, XAU), a company name (Tesla) or a common asset name (bitcoin, gold, crude oil).

windowstringdefault "7d"

How far back: 1d (hourly steps), 7d (4-hourly), 30d or 90d (daily).

Accepts 1d, 7d, 30d, 90d.

Response

A real response to the example call, trimmed: lists cut to two items, long text cut short. The result's content holds the answer as JSON text; parsed, it reads:

result.content · parsed
{
  "entity": {
    "symbol": "SOL"
  },
  "type": "perps_history",
  "as_of": "2026-10-12T17:30:24Z",
  "confidence": "reported",
  "source": {
    "name": "OptimistFi perps data layer — each venue's public market data, stored hourly",
    "url": "https://optimistfi.com/perps/markets/sol",
    "license": "computed"
  },
  "data": {
    "base": "SOL",
    "found": true,
    "asOf": "2026-10-12T17:30:24Z",
    "window": "7d",
    "stepHours": 4,
    "price": {
      "venue": "hyperliquid",
      "points": [
        [
          "2026-10-05T16:00:00Z",
          120.2
        ],
        [
          "2026-10-05T20:00:00Z",
          120.78
        ],
        "… 41 more"
      ]
    },
    "openInterestUsd": [
      [
        "2026-10-05T16:00:00Z",
        1149400000
      ],
      [
        "2026-10-05T20:00:00Z",
        1181880000
      ],
      "… 41 more"
    ],
    "openInterestVenuesJoined": [
      {
        "at": "2026-10-12T04:00:00Z",
        "venues": [
          "bitget",
          "deribit",
          "… 5 more"
        ]
      },
      {
        "at": "2026-10-12T16:00:00Z",
        "venues": [
          "bitfinex",
          "phemex",
          "… 1 more"
        ]
      }
    ],
    "openInterestChange": {
      "from": "2026-10-05T16:00:00Z",
      "to": "2026-10-12T16:00:00Z",
      "change": -0.02435,
      "venues": 24
    },
    "fundingAnnualizedOiWeighted": [
      [
        "2026-10-05T16:00:00Z",
        -0.01841
      ],
      [
        "2026-10-05T20:00:00Z",
        0.08191
      ],
      "… 41 more"
    ],
    "fundingPaid": {
      "aevo": {
        "1d": 0.000226,
        "7d": 0.000393,
        "30d": 0.003052
      },
      "apex": {
        "1d": 0.0002508,
        "7d": 0.0001405,
        "30d": -0.00474
      },
      "bitfinex": {
        "1d": 0,
        "7d": 0
      },
      "bluefin": {
        "1d": -0.001351,
        "7d": -0.01224,
        "30d": -0.0287
      },
      "deribit": {
        "1d": 0.0004496,
        "7d": 0.001645,
        "30d": 0.003631
      },
      "dydx": {
        "1d": 0.00005962,
        "7d": -0.000121,
        "30d": -0.0003613
      },
      "edgex": {
        "1d": -0.0001677,
        "7d": -0.0004632,
        "30d": 0.00571
      },
      "extended": {
        "1d": 0.000234,
        "7d": 0.001462,
        "30d": 0.006163
      },
      "gmx": {
        "1d": 0.0002255,
        "7d": 0.00182,
        "30d": 0.01162
      },
      "hibachi": {
        "1d": 0.000511,
        "7d": 0.000905,
        "30d": -0.003263
      },
      "hyperliquid": {
        "1d": 0.000275,
        "7d": 0.001753,
        "30d": 0.006987
      },
      "lighter": {
        "1d": 0.000264,
        "7d": -0.002839,
        "30d": 0.001427
      },
      "nado": {
        "1d": 0.0002659,
        "7d": 0.0005586,
        "30d": 0.003676
      },
      "pacifica": {
        "1d": 0.0002375,
        "7d": 0.001792,
        "30d": 0.005348
      },
      "paradex": {
        "1d": 0.0002148,
        "7d": 0.001082,
        "30d": 0.004844
      },
      "phemex": {
        "1d": 0.0002159,
        "7d": 0.001556,
        "30d": 0.005414
      },
      "polymarket": {
        "1d": 0.0002657,
        "7d": 0.00112,
        "30d": 0.005022
      },
      "vest": {
        "1d": 8e-8,
        "7d": -0.00128,
        "30d": -0.001449
      },
      "woox": {
        "1d": 0.0002188,
        "7d": 0.0005142,
        "30d": 0.003194
      }
    },
    "takerFlowUsd": [
      {
        "at": "2026-10-05T16:00:00Z",
        "buy": 32220252,
        "sell": 25572684,
        "net": 6647568,
        "venues": [
          "aster",
          "dydx",
          "… 4 more"
        ]
      },
      {
        "at": "2026-10-05T20:00:00Z",
        "buy": 111535429,
        "sell": 116638576,
        "net": -5103147,
        "venues": [
          "aster",
          "dydx",
          "… 4 more"
        ]
      },
      "… 41 more"
    ],
    "longShort": {
      "accounts": {
        "definition": "Accounts long per account short.",
        "venues": [
          {
            "venue": "bitget",
            "symbol": "SOLUSDT",
            "at": "2026-10-12T16:00:00Z",
            "latest": 4.8,
            "dayBefore": 4.777,
            "points": [
              [
                "2026-10-11T08:00:00Z",
                4.78
              ],
              [
                "2026-10-11T12:00:00Z",
                4.701
              ],
              "… 7 more"
            ]
          },
          {
            "venue": "gate",
            "symbol": "SOL_USDT",
            "at": "2026-10-12T15:00:00Z",
            "latest": 2.022,
            "dayBefore": 2.071,
            "points": [
              [
                "2026-10-05T16:00:00Z",
                1.485
              ],
              [
                "2026-10-05T20:00:00Z",
                1.408
              ],
              "… 40 more"
            ]
          },
          "… 3 more"
        ]
      },
      "topAccounts": {
        "definition": "Among the venue's top traders by position, accounts long per account short.",
        "venues": [
          {
            "venue": "gate",
            "symbol": "SOL_USDT",
            "at": "2026-10-12T15:00:00Z",
            "latest": 0.6,
            "dayBefore": 0.5897,
            "points": [
              [
                "2026-10-05T16:00:00Z",
                0.5802
              ],
              [
                "2026-10-05T20:00:00Z",
                0.5802
              ],
              "… 40 more"
            ]
          },
          {
            "venue": "htx",
            "symbol": "SOL-USDT",
            "at": "2026-10-12T12:00:00Z",
            "latest": 1.676,
            "dayBefore": 1.75,
            "points": [
              [
                "2026-10-11T08:00:00Z",
                1.829
              ],
              [
                "2026-10-11T12:00:00Z",
                1.829
              ],
              "… 6 more"
            ]
          },
          "… 2 more"
        ]
      },
      "topPositions": {
        "definition": "Among the venue's top traders, long position size per unit of short.",
        "venues": [
          {
            "venue": "gate",
            "symbol": "SOL_USDT",
            "at": "2026-10-12T15:00:00Z",
            "latest": 0.7189,
            "dayBefore": 0.7582,
            "points": [
              [
                "2026-10-05T16:00:00Z",
                0.8658
              ],
              [
                "2026-10-05T20:00:00Z",
                0.8904
              ],
              "… 40 more"
            ]
          },
          {
            "venue": "htx",
            "symbol": "SOL-USDT",
            "at": "2026-10-12T12:00:00Z",
            "latest": 0.912,
            "dayBefore": 0.9011,
            "points": [
              [
                "2026-10-11T08:00:00Z",
                0.8975
              ],
              [
                "2026-10-11T12:00:00Z",
                0.9011
              ],
              "… 6 more"
            ]
          },
          "… 2 more"
        ]
      },
      "openInterest": {
        "definition": "Open interest held long per dollar held short.",
        "venues": [
          {
            "venue": "gmx",
            "symbol": "arb:SOL/USD [BTC-USDC]",
            "at": "2026-10-12T12:00:00Z",
            "latest": 1.107,
            "dayBefore": 1.075,
            "points": [
              [
                "2026-10-05T16:00:00Z",
                2.086
              ],
              [
                "2026-10-05T20:00:00Z",
                2.086
              ],
              "… 40 more"
            ]
          },
          {
            "venue": "gmx",
            "symbol": "arb:SOL/USD [SOL-SOL]",
            "at": "2026-10-12T14:00:00Z",
            "latest": 1.11,
            "dayBefore": 1.213,
            "points": [
              [
                "2026-10-05T16:00:00Z",
                2.215
              ],
              [
                "2026-10-05T20:00:00Z",
                2.215
              ],
              "… 40 more"
            ]
          },
          "… 5 more"
        ]
      }
    },
    "largeAccounts": {
      "net": {
        "whales": [
          [
            "2026-10-05T16:00:00Z",
            -160314000
          ],
          [
            "2026-10-05T20:00:00Z",
            -158372000
          ],
          "… 41 more"
        ],
        "midsize": [
          [
            "2026-10-05T16:00:00Z",
            -4987170
          ],
          [
            "2026-10-05T20:00:00Z",
            -4174960
          ],
          "… 41 more"
        ]
      },
      "latest": {
        "whales": {
          "longUsd": 52182402,
          "shortUsd": 204744895,
          "longAccounts": 13,
          "shortAccounts": 17,
          "longUnrealizedPnlUsd": 461392,
          "shortUnrealizedPnlUsd": -15039033,
          "longLeverage": 14.9,
          "shortLeverage": 12.7
        },
        "midsize": {
          "longUsd": 57979039,
          "shortUsd": 36515145,
          "longAccounts": 34,
          "shortAccounts": 43,
          "longUnrealizedPnlUsd": -2553695,
          "shortUnrealizedPnlUsd": -1247241,
          "longLeverage": 12.2,
          "shortLeverage": 15.1
        }
      }
    },
    "orderBook": {
      "aster": {
        "at": "2026-10-12T17:00:00Z",
        "mid": 107.755,
        "within0_5pct": {
          "bidUsd": 4814002,
          "askUsd": 5362274
        },
        "within1pct": {
          "bidUsd": 6107106,
          "askUsd": 6651201
        },
        "within2pct": {
          "bidUsd": 6586841,
          "askUsd": 7158551
        }
      },
      "dydx": {
        "at": "2026-10-12T17:00:00Z",
        "mid": 107.73,
        "within0_5pct": {
          "bidUsd": 7235962,
          "askUsd": 7131853
        },
        "within1pct": {
          "bidUsd": 32564406,
          "askUsd": 36028079
        },
        "within2pct": {
          "bidUsd": 51266709,
          "askUsd": 44136267
        }
      },
      "hyperliquid": {
        "at": "2026-10-12T17:00:00Z",
        "mid": 107.85,
        "within0_5pct": {
          "bidUsd": 11990071,
          "askUsd": 13240601
        },
        "within1pct": {
          "bidUsd": 22786015,
          "askUsd": 24513042
        }
      },
      "kraken": {
        "at": "2026-10-12T15:00:00Z",
        "mid": 108.885,
        "within0_5pct": {
          "bidUsd": 12862922,
          "askUsd": 10280980
        },
        "within1pct": {
          "bidUsd": 16940856,
          "askUsd": 14830785
        }
      },
      "lighter": {
        "at": "2026-10-12T17:00:00Z",
        "mid": 107.756,
        "within0_5pct": {
          "bidUsd": 5710127,
          "askUsd": 5573368
        },
        "within1pct": {
          "bidUsd": 10243165,
          "askUsd": 9084730
        }
      }
    }
  }
}

Fields are explained in Reading a response.

Errors

A call the server cannot run (a missing or invalid argument) comes back with isError: true and the reason in words. A company or market the server cannot match comes back as a result naming what was not found. See Errors and limits.
ScoutJUST THIS STORY

LET’S MAKE THIS USEFUL · 1 OF 5

How would you like me to explain this?

Tell me what you want from this read. Start with a quick note, then adjust the details. Your other stories stay as they are.

We’ll remember your view of this story. The published article stays unchanged.

THIS STORY’S READING VIEWStandard · The whole picture

Clear explanations with context. Both sides of the evidence.