ETFs API
Grayscale trusts: holdings, share price, NAV and premium
Every Grayscale single-coin trust (ETC, BCH, LTC, ZEC, ...) with the coins it holds, its share price, its net asset value per share and the premium or discount, dated by market close.
/api/external/etf/grayscale-trustsWhat it returns
Every Grayscale single-coin trust still quoted as a trust (the bitcoin and ether trusts became ETFs and are in etfs): the coins it holds and their dollar value, its share price, its net asset value per share, and the premium or discount between the two, in percent. Largest holdings value first. The figures are for one market close, which can be weeks old: asOf gives its date, so read it before treating a figure as current. Not scoped to any chain.
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/etf/grayscale-trusts"
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
trusts | object[] | Largest holdings value first; trusts without one last. |
trusts[].symbol | string | The coin the trust holds, e.g. "ETC". Not a token mint or contract address. |
trusts[].marketPriceUsd | number | null | The price one trust share traded at, US dollars. |
trusts[].navUsd | number | null | Net asset value per trust share, US dollars. |
trusts[].premiumDiscountPct | number | null | How far the share price sits above (positive) or below (negative) the net asset value, percent. |
trusts[].holdings | number | null | Coins the trust holds, in its own coin. |
trusts[].holdingsUsd | number | null | The dollar value of those coins. |
trusts[].asOf | string | null | The YYYY-MM-DD (UTC) market close the figures are for. Can be weeks before today. |
trusts[].updatedAt | integer | null | When the row was last refreshed, unix seconds. A refresh does not mean a newer close: compare asOf. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key