Endpoint referenceMarkets
GET /v1/markets/stats
Per-asset open interest (long / short / net, from the open-positions projection) and 24h traded volume (position_opened + realized position_closed / liquidated notional). All amounts are i128 decimal strings with 7-decimal USDC precision. The solvency object carries market-scoped lifetime bad debt (L0-2): how much the insurance buffer absorbed vs how much fell through to LP NAV. Each row may carry a capacity block and the response a pool block (L1-13 headroom, chain-read; omitted — never zeroed — when the read failed) and a custody block (the keeper's last market-custody self-report; omitted until reported).
Response Body
application/json
curl -X GET "https://example.com/v1/markets/stats"{ "stats": [ { "asset": "string", "openInterestLong": "string", "openInterestShort": "string", "openInterestNet": "string", "openPositions": 0, "volume24h": "string", "capacity": { "headroomLong": "string", "headroomShort": "string", "bindingLong": "aggregate", "bindingShort": "aggregate", "oiLong": "string", "oiShort": "string", "netSkew": "string", "sideCap": "string", "skewCap": "string", "assetCapBps": 0, "capAbs": "string", "skewCapBps": 0, "maxPositionSize": null } } ], "pool": { "aum": "string", "reservedPayout": "string", "usdcBalance": "string", "shortfallReserve": "string", "reserveCapBps": 0, "reserveCap": "string", "aggregateHeadroom": "string", "aggregateBinding": "aggregate", "asOfLedger": null, "ts": 0, "stale": true }, "custody": { "marketUsdcBalance": "string", "trackedCustody": "string", "isolatedCollateral": "string", "crossPositionCollateral": "string", "crossBalances": "string", "orderEscrow": "string", "deficit": "string", "positions": 0, "asOf": 0, "ageMs": 0, "stale": true }, "solvency": { "cumulativeBadDebtCovered": "string", "cumulativeBadDebtLpAbsorbed": "string", "badDebtEvents": 0 }}