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.
/api/external/perps/perps-trader-tiersWhat 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.
| Field | Type | Description |
|---|---|---|
sizeTiers | object[] | Smallest first; the bounds tile from 0 upward. |
sizeTiers[].tier | string | The tier, smallest first. |
sizeTiers[].minUsd | number | The 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[].maxUsd | number | null | The tier's upper bound in USD. null on the top tier, which is open above. |
sizeTiers[].accounts | number | null | Accounts in the tier. null when not stated. |
sizeTiers[].positionedAccounts | number | null | Accounts in the tier holding a position right now. null when not stated. |
sizeTiers[].longUsd | number | null | The USD value of the tier's long positions. null when not stated. |
sizeTiers[].shortUsd | number | null | The USD value of the tier's short positions. null when not stated. |
sizeTiers[].positionUsd | number | null | longUsd plus shortUsd, as stated. null when not stated. |
sizeTiers[].longPercent | number | null | Percent of positionUsd that is long, to two decimals. null when not stated. |
sizeTiers[].shortPercent | number | null | Percent of positionUsd that is short, to two decimals. null when not stated. |
pnlTiers | object[] | Deepest loss first; the bounds tile the whole line. |
pnlTiers[].tier | string | The tier, deepest loss first. |
pnlTiers[].minPnlUsd | number | null | The tier's lower PnL bound in USD, negative on the loss side. null on the deepest loss tier, which is open below. |
pnlTiers[].maxPnlUsd | number | null | The tier's upper PnL bound in USD. null on the top tier, which is open above. |
pnlTiers[].accounts | number | null | Accounts in the tier. null when not stated. |
pnlTiers[].positionedAccounts | number | null | Accounts 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