Skip to main content
GET
Returns Glider’s public, mirrorable strategies so you can surface them to your users and mirror them via the enrollment flow. Every result is public and mirrorable — use the returned strategyId with POST /v2/enroll.
  • Auth: x-api-key header (required). No additional scope is needed.
Choose a collection:
  • curated — a hand-picked set of strategies, in editorial order.
  • top_performing — strategies ranked by live analytics. Use sort to choose the ranking.
Both collections are cursor-paginated (keyset): pass the nextCursor from the previous response as the cursor query parameter to fetch the next page. nextCursor is null when there are no more results. Keep collection stable across pages. For top_performing the cursor already encodes its sort, so you may follow nextCursor without re-sending sort; if you do send it, it must match the cursor’s. A cursor from one collection (or one sort) is rejected if replayed against another.
string
required
Which catalog to return: curated or top_performing.
string
default:"tvl.desc"
Ranking for top_performing. One of tvl.desc, inflows7d.desc, or users.desc. Ignored for curated.
integer
default:"50"
Max strategies per page. Min 1, max 50. Applies to both collections; follow nextCursor to page beyond the first set.
string
Opaque pagination cursor from a previous response. Must be paired with the same collection that produced it. For top_performing the cursor carries its sort, so sort need not be re-sent; if sent, it must match.
Each item carries display metadata — including maxApy, the Glider-managed advertised maximum APY as a decimal percentage string (e.g. "10.00" = 10%; absent when not advertised) — its current allocation (asset weights, in the same shape as GET /v2/strategies), and a metrics object:
  • metrics.tvlUsd — total value locked across the strategy’s active portfolios, as a USD decimal string rounded to 2 decimal places. null when the value is temporarily unavailable (never conflated with a real "0.00").
  • metrics.portfolioCount — number of portfolios created from the strategy. null when temporarily unavailable.
  • metrics.performance.summary — target-allocation performance over standard lookback windows (1d…12m, plus all spanning the curve), in the same shape as GET /v2/strategies/{strategyId}/performance. A fixed window is omitted when the strategy’s price history is shorter than that lookback; all is present whenever the summary has any windows. When performance can’t be computed for an item (unresolvable allocation, insufficient history), windows degrades to an empty array rather than dropping the item. For the full chartable curve behind a summary, pass the item’s strategyId to GET /v2/strategies/{strategyId}/performance.
A discovery strategyId also works with the read endpoints GET /v2/strategies/{strategyId}, GET /v2/strategies/{strategyId}/schedule, GET /v2/strategies/{strategyId}/versions, and GET /v2/strategies/{strategyId}/preferences — all returning the creator’s stored configuration where present (schedule and preference fields are null when the creator has none on record; only the owner can change them). Common error responses:
  • 400 (API_400) when collection is missing/invalid or sort/limit is invalid
  • 400 (API_400) when an explicit sort conflicts with the one the cursor was issued for
  • 400 (API_002) when cursor is malformed or was issued for a different collection
  • 401 when x-api-key header is missing or the key is invalid
  • 500 on unexpected server errors