Perpetuals API

Which perp protocols hold the most open interest?

Ranks perpetual-futures protocols and their frontends by open interest in USD, with the readings 1, 7 and 30 days back, and the total with frontends counted once.

GET/api/external/perps/perp-protocol-open-interest

What it returns

Every perpetual-futures protocol the record follows, on-chain order books and frontends over them, one row per protocol, largest open interest first, with the reading 1, 7 and 30 days earlier. Open interest is the USD value of open positions at the newest daily reading. A protocol with no current reading (a retired one) is left out; one whose open interest is 0 is kept. Prediction markets are left out: their open interest is outstanding outcome shares, not leveraged positions. A frontend whose positions sit on another protocol's book is flagged doubleCounted and left out of totalUsd, so the total counts every position once. No chain and no subject in the request. For major futures venues, centralised ones included, see derivatives-venues.

Chains

This endpoint is not tied to a chain: it takes no chain in its request.

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/perps/perp-protocol-open-interest"

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Which perp protocols hold the most open interest?
FieldTypeDescription
totalUsdnumberOpen interest over every row not flagged doubleCounted, USD.
protocolsobject[]Largest open interest first. Never empty.
protocols[].namestringThe protocol, e.g. "Hyperliquid Perps".
protocols[].slugstring | nullThe protocol's slug, or null where the record carries none.
protocols[].categorystring | nullDerivatives for a perp protocol, Interface for a frontend over another protocol's book, or a narrower kind (Synthetics, Interest Rate Derivatives). null where the record carries none.
protocols[].chainsstring[]The networks the protocol runs on, by name (Off Chain for an order book run off any chain).
protocols[].openInterestUsdnumberOpen interest at the newest daily reading, USD.
protocols[].openInterestUsd1dAgonumber | nullThe reading one day earlier, USD. null where the record has none.
protocols[].openInterestUsd7dAgonumber | nullThe reading 7 days earlier, USD. null where the record has none.
protocols[].openInterestUsd30dAgonumber | nullThe reading 30 days earlier, USD. null where the record has none.
protocols[].doubleCountedbooleanWhether the row's positions sit on another protocol's book and are counted there too.

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key