allMids | dex? | {coin: midPx} |
meta | dex? | {universe:[{name, szDecimals, maxLeverage, marginTableId?, onlyIsolated?, marginMode?, isDelisted?}], marginTables:[[id,{description, marginTiers:[{lowerBound, maxLeverage}]}]]} |
metaAndAssetCtxs | dex? | [meta, [{funding, openInterest, prevDayPx, dayNtlVlm, premium, oraclePx, markPx, midPx, impactPxs}]] |
spotMeta | | {tokens:[{name, szDecimals, weiDecimals, index, tokenId, ...}], universe:[{name, tokens:[base,quote], index}]} |
spotMetaAndAssetCtxs | | [spotMeta, [{dayNtlVlm, markPx, midPx, prevDayPx, circulatingSupply}]] |
l2Book | coin, nSigFigs? (2-5), mantissa? (1,2,5) | {coin, time, levels:[[{px,sz,n}...bids],[...asks]]} up to 20 a side |
recentTrades | coin | [{coin, side, px, sz, time, hash, tid}] |
candleSnapshot | req:{coin, interval, startTime, endTime} | [{t,T,s,i,o,c,h,l,v,n}], most recent 5000 only |
fundingHistory | coin, startTime, endTime? | [{coin, fundingRate (hourly), premium, time}] |
predictedFundings | | [[coin, [[venue, {fundingRate, nextFundingTime, fundingIntervalHours?}]]]]; venue is HlPerp, BinPerp or BybitPerp, payload null when unlisted there. Normalise by fundingIntervalHours (HlPerp 1; CEX venues 4 or 8 per coin), never by a fixed 8 |
perpsAtOpenInterestCap | dex? | [coin] |
perpDexs | | [null, {name, fullName, deployer, ...}] |
clearinghouseState | user, dex? | {assetPositions:[{type, position:{coin, szi, entryPx, leverage{type,value,rawUsd?}, liquidationPx, marginUsed, positionValue, unrealizedPnl, returnOnEquity, cumFunding, maxLeverage}}], marginSummary{accountValue,totalNtlPos,totalRawUsd,totalMarginUsed}, crossMarginSummary, crossMaintenanceMarginUsed, withdrawable, time} |
spotClearinghouseState | user | {balances:[{coin, token, hold, total, entryNtl}]} |
openOrders | user, dex? | [{coin, side (A/B), limitPx, sz, oid, timestamp}] |
frontendOpenOrders | user, dex? | adds origSz, cloid, orderType, tif, reduceOnly, isTrigger, triggerPx, triggerCondition, isPositionTpsl, children |
orderStatus | user, oid (number or cloid hex) | {status:"order", order:{order, status, statusTimestamp}} or {status:"unknownOid"} |
historicalOrders | user | [{order, status, statusTimestamp}] up to 2000 |
userFills | user, aggregateByTime? | [{coin, px, sz, side, time, startPosition, dir, closedPnl, hash, oid, crossed, fee, feeToken, builderFee?, tid, cloid?}] up to 2000 |
userFillsByTime | user, startTime, endTime?, aggregateByTime? | same, up to 2000 per call from the last 10000 |
userFunding | user, startTime, endTime? | [{time, hash, delta:{type:"funding", coin, usdc, szi, fundingRate, nSamples}}] |
userNonFundingLedgerUpdates | user, startTime, endTime? | deposits, withdrawals, transfers, liquidations, vault flows |
userTwapSliceFills | user | [{fill, twapId}] |
portfolio | user | [["day",{accountValueHistory, pnlHistory, vlm}], ["week",...], ["month",...], ["allTime",...], perp variants] |
userFees | user | {userCrossRate, userAddRate, userSpotCrossRate, userSpotAddRate, feeSchedule, activeReferralDiscount, activeStakingDiscount} |
userRateLimit | user | {cumVlm, nRequestsUsed, nRequestsCap, nRequestsSurplus} |
userRole | user | `{role: missing |
extraAgents | user | [{address, name, validUntil}] |
activeAssetData | user, coin | {leverage, maxTradeSzs:[buy,sell], availableToTrade:[buy,sell], markPx} |
maxBuilderFee | user, builder | integer (tenths of a bp) |
subAccounts | user | [{name, subAccountUser, master, clearinghouseState, spotState}] |
vaultDetails | vaultAddress, user? | vault info |
userVaultEquities | user | [{vaultAddress, equity}] |
referral, delegations, delegatorSummary, delegatorHistory, delegatorRewards, userAbstraction, borrowLendUserState, tokenDetails, spotDeployState, perpDexLimits, allPerpMetas | | niche; see docs |