GET
/api/v1/etf/{asset}/tickersHobbyist tier+ · 30 req/minDistinct tickers tracked for the asset plus the canonical order.
`tickers` is a de-duplicated, alpha-sorted list sourced from the `etf_flow` table — use this to populate dropdowns or validate `:ticker` path params before calling the per-ticker route. `canonicalOrder` is the curated chart stacking order we use internally (oldest launches bottom-up).
Path parameters
Segments of the URL path, validated server-side.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| asset | enum | required | — | bitcoin | ethereum | btc | eth bitcoinethereumbtceth |
Query parameters
This endpoint takes no query parameters.
Response shape
Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.
data payloadtypescript
// Wrapped in the standard envelope:
// {
// data: /* shape below */,
// meta?: { total?: number; limit?: number; offset?: number; ... }
// }
{
asset: "BTC" | "ETH";
tickers: string[]; // alpha-sorted, DB-sourced
canonicalOrder: string[]; // curated presentation order
}Example
Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.
Requestbash
curl -sS "http://localhost:3000/api/v1/etf/btc/tickers"Responsejson
{
"data": {
"asset": "BTC",
"tickers": ["ARKB", "BITB", "BITI", "BITW", "BRRR", "BTC", "BTCO", "BTCW", "DEFI", "EZBC", "FBTC", "GBTC", "HODL", "IBIT"],
"canonicalOrder": ["GBTC", "IBIT", "FBTC", "BITB", "ARKB", "BTCO", "EZBC", "BRRR", "HODL", "BTCW", "BTC", "DEFI", "BITW", "BITI"]
},
"meta": { "total": 14, "asset": "BTC" }
}Next
Check the error code reference, or get an API key to try the request against your own account.