Retrieve normalized pair and basket markets
Returns selector-ready materialized baskets followed by generated 1-long/1-short pairs.
Query Parameters
"tradable"length <= 1281 <= value <= 10005000 <= value <= 90071992547409910Response Body
application/json
curl -X GET "https://example.com/markets/baskets?connector=string"{ "limit": 0, "offset": 0, "count": 0, "markets": [ { "connector": "hyperliquid", "basketKey": "string", "displaySymbol": "string", "legs": [ { "id": "BTC", "symbol": "string", "side": "BUY" } ], "price": "string", "priceChange24h": "string", "weightRatio": "string", "weightRatioChange24h": "string", "netFunding": "string", "volume24h": "string", "openInterest": "string", "tradeability": { "status": "tradable", "reason": "string" }, "updatedAt": 0, "hasMaterializedStats": true } ]}Markets
Read normalized markets, and the pair and basket markets the selector shows.
Count the positions and traders that ever opened each basket POST
Reports, per requested basket key, how many positions — and how many distinct traders — have ever opened that basket: cumulative best-effort counters bumped at open, never decremented on close. A basket is named by its canonical key — the basketKey /markets/baskets reports, derivable client-side with deriveBasketKey from @pear-protocol/utils. Counts are summed over the connectors in scope that stored the key, and an absent connector puts every venue in scope, so a trader active on two venues counts on each. Positions opened entirely on the exchange are excluded, so a count only reports Pear activity.