Perpetuals API

The perps venue's traders by size tier and by PnL tier

How many perps traders sit in each size tier (shrimp to leviathan) and PnL tier (giga_rekt to money_printer), how many hold positions, and which way each size tier leans.

GET/api/external/perps/perps-trader-tiers

What it returns

Every trading account on the venue the perps family covers, grouped two ways. sizeTiers, smallest first ("shrimp" to "leviathan"): each tier's bounds, its accounts, how many hold a position, and the USD of its longs and shorts — which way the tier leans. pnlTiers, deepest loss first ("giga_rekt" to "money_printer"): each tier's PnL bounds, its accounts and how many hold a position. Every account is in one tier of each kind, so both lists count the same accounts. PnL tiers carry no long/short split: the published split for them does not balance (a venue's longs must equal its shorts), so it is withheld. The bounds are as published with the tiers; a size tier's bounds are not the size of its positions. No chain, no subject.

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/perps-trader-tiers"

Response fields

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

Response fields of The perps venue's traders by size tier and by PnL tier
FieldTypeDescription
sizeTiersobject[]Smallest first; the bounds tile from 0 upward.
sizeTiers[].tierstringThe tier, smallest first.
sizeTiers[].minUsdnumberThe tier's lower bound in USD, as published with the tier. It is not the size of a position: a tier's positions can average far above its upper bound.
sizeTiers[].maxUsdnumber | nullThe tier's upper bound in USD. null on the top tier, which is open above.
sizeTiers[].accountsnumber | nullAccounts in the tier. null when not stated.
sizeTiers[].positionedAccountsnumber | nullAccounts in the tier holding a position right now. null when not stated.
sizeTiers[].longUsdnumber | nullThe USD value of the tier's long positions. null when not stated.
sizeTiers[].shortUsdnumber | nullThe USD value of the tier's short positions. null when not stated.
sizeTiers[].positionUsdnumber | nulllongUsd plus shortUsd, as stated. null when not stated.
sizeTiers[].longPercentnumber | nullPercent of positionUsd that is long, to two decimals. null when not stated.
sizeTiers[].shortPercentnumber | nullPercent of positionUsd that is short, to two decimals. null when not stated.
pnlTiersobject[]Deepest loss first; the bounds tile the whole line.
pnlTiers[].tierstringThe tier, deepest loss first.
pnlTiers[].minPnlUsdnumber | nullThe tier's lower PnL bound in USD, negative on the loss side. null on the deepest loss tier, which is open below.
pnlTiers[].maxPnlUsdnumber | nullThe tier's upper PnL bound in USD. null on the top tier, which is open above.
pnlTiers[].accountsnumber | nullAccounts in the tier. null when not stated.
pnlTiers[].positionedAccountsnumber | nullAccounts in the tier holding a position right now. null when not stated.

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