Retrieve normalized markets
Returns selector-ready markets joined with cached price, funding, and 24h market stats.
curl -X GET "https://example.com/markets?connector=string"{ "markets": [ { "connector": "hyperliquid", "instrumentId": "BTC", "displaySymbol": "string", "base": "string", "quote": "string", "price": "string", "volume24h": "string", "change24h": "string", "openInterest": "string", "fundingRate": "string", "tradeability": { "status": "tradable", "reason": "string" }, "updatedAt": 0 } ], "totals": { "markets": 0, "volume24h": "string", "openInterest": "string" }}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.
Instruments
List tradable instruments, and map an instrument symbol to its id.