Perpetual futures
One perps market
One perp market right now, venue by venue: price and premium to the index or stock, open interest, funding, max leverage, liquidation levels, whale trades, positioning; a stock perp's weekend move.
TOOL
get_perpscurl 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","arguments":{"entity":"NVDA"}}}'When a model calls it
Models choose a tool from its description. This is the one the server publishes:
One perp market right now, venue by venue: price and premium to the index or stock, open interest, funding, max leverage, liquidation levels, whale trades, positioning; a stock perp's weekend move. Use when the user asks: X funding rate; where do X longs get liquidated. Not for: trends or book depth → get_perps_history. Args: entity.
- X funding rate
- where do X longs get liquidated
For something else: get_perps_history.
Parameters
entitystringrequired
The market: a ticker or symbol (NVDA, BTC, XAU), a company name (Tesla) or a common asset name (bitcoin, gold, crude oil).
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:
{
"entity": {
"figi": "BBG000BBJQV0",
"cik": "0001045810",
"ticker": "NVDA",
"name": "NVIDIA CORP"
},
"type": "perps",
"as_of": "2026-10-12T17:00:00Z",
"confidence": "reported",
"source": {
"name": "OptimistFi perps data layer — each venue's public market data, read hourly",
"url": "https://optimistfi.com/perps/markets/nvda",
"license": "computed"
},
"data": {
"base": "NVDA",
"assetClass": "equity",
"asOf": "2026-10-12T17:00:00Z",
"venues": 26,
"totals": {
"openInterestUsd": 180869754,
"openInterestChange24h": -0.06502,
"fundingRateHourlyOiWeighted": 0.000004607,
"fundingRateAnnualizedOiWeighted": 0.04036,
"priceLow": 226.21,
"priceHigh": 226.65
},
"fundingCumulative": {
"1d": {
"aevo": 0.000238,
"aster": 0.0000898,
"bitget": 0,
"deribit": 0.0004263,
"edgex": 0.001138,
"extended": 0.000477,
"gate": 0,
"grvt": 0.000076,
"htx": 0.00003143,
"kucoin": -0.000047,
"lighter": 0.000108,
"nado": 0.0001598,
"orderly": 0.0002001,
"pacifica": 0.00025,
"paradex": 0.0002055,
"polymarket": 0.0004601,
"qfex": 0.0001,
"tradexyz": 0.00009984,
"vest": 0.0001313
},
"7d": {
"aevo": 0.002156,
"aster": 0.0009475,
"bitget": 0.001075,
"deribit": 0.002339,
"edgex": 0.001825,
"extended": 0.002126,
"gate": 0,
"grvt": 0.000445,
"htx": 0.00003143,
"kucoin": 0.000343,
"lighter": 0.000769,
"nado": 0.001453,
"orderly": 0.001999,
"pacifica": 0.002078,
"polymarket": 0.002856,
"qfex": 0.0008052,
"tradexyz": 0.001004,
"vest": 0.0009536
},
"30d": {
"aevo": 0.009244,
"aster": 0.004964,
"bitget": 0.007302,
"edgex": 0.02159,
"extended": 0.005263,
"gate": -0.00057,
"grvt": 0.002321,
"htx": 0.0003632,
"kucoin": 0.008153,
"lighter": 0.007008,
"nado": 0.004773,
"orderly": 0.008899,
"pacifica": 0.008444,
"polymarket": 0.006762,
"qfex": 0.003133,
"tradexyz": 0.004729,
"vest": 0.004609
}
},
"units": {
"rates": "fractions (0.0001 = 0.01%)",
"funding": "what a long pays per hour (negative: shorts pay longs); fundingCumulative sums a venue's hourly rates over the window; predictedFunding is a venue's own estimate of a settlement still to come, where its reading publishes one",
"money": "US dollars",
"openInterestCap": "on Hyperliquid and its builder dexes: whether the market sits at its open-interest cap in the latest hourly reading (where it cannot grow its open interest), since when, and the cap in USD of one side's open interest where the dex publishes one"
},
"markets": [
{
"venue": "tradexyz",
"symbol": "xyz:NVDA",
"price": 226.21,
"openInterestUsd": 102735341,
"fundingRateHourly": 0.00000625,
"fundingRateAnnualized": 0.05475,
"volume24hUsd": 53370946,
"maxLeverage": 20,
"premiumToIndexBps": -1.77,
"readAt": "2026-10-12T17:00:00Z",
"openInterestCap": {
"atCap": false,
"readAt": "2026-10-12T16:00:00Z",
"capUsd": 500000000
}
},
{
"venue": "gate",
"symbol": "NVDA_USDT",
"price": 226.65,
"openInterestUsd": 26821308,
"fundingRateHourly": 0,
"fundingRateAnnualized": 0,
"volume24hUsd": 12127613,
"maxLeverage": 100,
"premiumToIndexBps": 4.28,
"readAt": "2026-10-12T17:00:00Z"
},
"… 24 more"
],
"priceChange": {
"venue": "tradexyz",
"24h": -0.02192,
"7d": -0.04496
},
"liquidations": {
"asOf": "2026-10-12T17:00:00Z",
"mapPrice": 226.32,
"mapPriceVenue": "tradexyz",
"longsLiquidatedIfPriceFalls": {
"1%": 1329549,
"2%": 1430980,
"5%": 1667375,
"10%": 2072022,
"20%": 3945091
},
"shortsLiquidatedIfPriceRises": {
"1%": 0,
"2%": 0,
"5%": 97428,
"10%": 275995,
"20%": 1399015
},
"largestLongClustersBelow": [
{
"priceLow": 224.057,
"priceHigh": 225.188,
"distancePct": -0.75,
"usd": 942423
},
{
"priceLow": 202.556,
"priceHigh": 203.688,
"distancePct": -10.25,
"usd": 555665
},
"… 1 more"
],
"largestShortClustersAbove": [
{
"priceLow": 270.452,
"priceHigh": 271.584,
"distancePct": 19.75,
"usd": 1066989
},
{
"priceLow": 247.82,
"priceHigh": 248.952,
"distancePct": 9.75,
"usd": 98518
},
"… 1 more"
],
"noLiquidationPriceUsd": {
"long": 23830022,
"short": 0
},
"coverage": {
"longShareOfOpenInterest": 0.388,
"shortShareOfOpenInterest": 0.446,
"venues": [
{
"venue": "tradexyz",
"symbol": "xyz:NVDA",
"accounts": 523
}
]
},
"method": "Open positions of Hyperliquid accounts worth $10K or more (and on its builder dexes, such as trade.xyz), read in rotation and mapped hourly at the price Hyperliquid reports each is liquidated. Amounts are position sizes in US dollars. Positions whose collateral covers them hav…"
},
"whaleTrades24h": [
{
"venue": "tradexyz",
"at": "2026-10-12T14:10:33Z",
"kind": "trade",
"side": "sell",
"usd": 481062,
"price": 225.375
},
{
"venue": "tradexyz",
"at": "2026-10-12T14:10:02Z",
"kind": "trade",
"side": "sell",
"usd": 432309,
"price": 225.78
},
"… 3 more"
],
"largeAccountPositioning": [
{
"venue": "tradexyz",
"cohort": "accounts worth $10M+ that traded $1M+ in the week",
"at": "2026-10-12T17:00:00Z",
"longUsd": 5739822,
"shortUsd": 4321718,
"longAccounts": 7,
"shortAccounts": 8,
"longShare": 0.57
},
{
"venue": "tradexyz",
"cohort": "accounts worth $1M-$10M that traded $1M+ in the week",
"at": "2026-10-12T17:00:00Z",
"longUsd": 14606583,
"shortUsd": 5355960,
"longAccounts": 30,
"shortAccounts": 17,
"longShare": 0.732
}
],
"longShort": {
"accounts": {
"definition": "Accounts long per account short.",
"venues": [
{
"venue": "gate",
"symbol": "NVDA_USDT",
"at": "2026-10-12T15:00:00Z",
"latest": 2.404,
"dayBefore": 2.466
},
{
"venue": "kraken",
"symbol": "PF_NVDAXUSD",
"at": "2026-10-12T13:00:00Z",
"latest": 2.021,
"dayBefore": 1.712
},
"… 2 more"
]
},
"topAccounts": {
"definition": "Among the venue's top traders by position, accounts long per account short.",
"venues": [
{
"venue": "gate",
"symbol": "NVDA_USDT",
"at": "2026-10-12T15:00:00Z",
"latest": 0.6353,
"dayBefore": 0.6136
},
{
"venue": "htx",
"symbol": "NVDA-USDT",
"at": "2026-10-12T12:00:00Z",
"latest": 1.283,
"dayBefore": 1.259
},
"… 1 more"
]
},
"topPositions": {
"definition": "Among the venue's top traders, long position size per unit of short.",
"venues": [
{
"venue": "gate",
"symbol": "NVDA_USDT",
"at": "2026-10-12T15:00:00Z",
"latest": 0.9709,
"dayBefore": 0.9941
},
{
"venue": "htx",
"symbol": "NVDA-USDT",
"at": "2026-10-12T12:00:00Z",
"latest": 1,
"dayBefore": 1
},
"… 1 more"
]
},
"openInterest": {
"definition": "Open interest held long per dollar held short.",
"venues": [
{
"venue": "ostium",
"symbol": "NVDA/USD",
"at": "2026-10-12T17:00:00Z",
"latest": 354.7,
"dayBefore": 355.4
},
{
"venue": "variational",
"symbol": "NVDA",
"at": "2026-10-12T17:00:00Z",
"latest": 2.064,
"dayBefore": 1.774
},
"… 2 more"
]
}
}
}
}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.