GET
/api/v1/etf/{asset}/aumHobbyist tier+ · 30 req/minCumulative all-time net flow plus issuer-level breakdown for the asset.
The headline AUM number — sum of every signed daily flow for the asset since ETF inception. Coinglass calls this 'Total Net Inflow' on `/bitcoin-etf`; it's a lower bound on true AUM (it ignores price appreciation of held coins). Paired with the per-issuer cumulative breakdown so you can see who's holding what.
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";
cumulativeUsdM: number;
issuers: Array<{ ticker: string; cumulativeUsdM: number; share: 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/btc/aum" \
-H "Authorization: Bearer cg_live_YOUR_KEY"Responsejson
{
"data": {
"asset": "BTC",
"cumulativeUsdM": 43210.55,
"issuers": [
{ "ticker": "IBIT", "cumulativeUsdM": 24100.0, "share": 0.56 },
{ "ticker": "FBTC", "cumulativeUsdM": 11200.0, "share": 0.26 },
{ "ticker": "GBTC", "cumulativeUsdM": -18000.0, "share": 0.19 }
]
},
"meta": { "total": 3, "asset": "BTC" }
}Notes
- AUM is a flow-based proxy. For a price-adjusted figure combine with a BTC/ETH price feed client-side.
Next
Check the error code reference, or get an API key to try the request against your own account.