Skip to main content
Loading market data…
GET/api/v1/etf/hkHobbyist tier+ · 30 req/min

Hong Kong spot BTC/ETH ETFs — canonical shape with a data-status flag.

Hong Kong spot ETFs (CSOP, ChinaAMC, Harvest, Bosera) are the Asia-session counterpart to the US funds. Ingestion is NOT live yet — the schema already carries a `region='HK'` column on `etf_flow`, so rows will flow through this endpoint automatically once the adapter ships. Until then `meta.dataStatus = 'not-yet-ingested'` so dashboards can render a friendly placeholder.

Query parameters

All query parameters are optional unless marked required.

NameTypeRequiredDefaultDescription
daysnumberoptional30
Trailing window. Max 365. Ignored when no rows exist.

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; ... }
// }

{
  region: "HK";
  flows: Array<{
    date: string;
    tickerFlows: Record<string, number>;  // keyed "ASSET:TICKER" (e.g. "BTC:CSOP")
    total: number;
  }>;
  cumulative: number;
}

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/hk?days=30"
Responsejson
{
  "data": {
    "region": "HK",
    "flows": [],
    "cumulative": 0
  },
  "meta": { "total": 0, "days": 30, "dataStatus": "not-yet-ingested" }
}

Notes

  • Check `meta.dataStatus` — a value of `not-yet-ingested` means the feed hasn't shipped yet and the empty response is expected.
  • Ticker key format is `ASSET:TICKER` to disambiguate BTC vs ETH products from the same issuer.

Next

Check the error code reference, or get an API key to try the request against your own account.