CryptoETF · Schema

FundsDto

CryptocurrencyETFsMarket DataAnalyticsFinance

Properties

Name Type Description
assets array One entry per asset in the response.
funds array Every fund that has started trading.
updatedAt string Response generation time (UTC, ISO 8601).
View JSON Schema on GitHub

JSON Schema

cryptoetf-today-funds-dto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/cryptoetf-today/json-schema/cryptoetf-today-funds-dto-schema.json",
  "title": "FundsDto",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/cryptoetf-today-v1-openapi.json#/components/schemas/FundsDto",
  "type": "object",
  "properties": {
    "assets": {
      "description": "One entry per asset in the response.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/AssetNetAssetsDto"
      }
    },
    "funds": {
      "description": "Every fund that has started trading.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/FundDto"
      }
    },
    "updatedAt": {
      "type": "string",
      "description": "Response generation time (UTC, ISO 8601)."
    }
  },
  "required": [
    "assets",
    "funds",
    "updatedAt"
  ],
  "$defs": {
    "AssetNetAssetsDto": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string",
          "description": "Asset ticker symbol."
        },
        "asset": {
          "type": "string",
          "description": "Internal asset id."
        },
        "totalNetAssetsUsdM": {
          "type": [
            "number",
            "null"
          ],
          "description": "Sum of the funds’ net assets in millions of USD, rounded to 0.1."
        },
        "date": {
          "type": [
            "string",
            "null"
          ],
          "description": "Day the total belongs to (YYYY-MM-DD)."
        },
        "coinsHeld": {
          "type": [
            "number",
            "null"
          ],
          "description": "Coins held by all US spot ETFs of the asset on `coinsDate`: reported by issuers, estimated where they do not publish coins."
        },
        "coinsDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "Day `coinsHeld` belongs to (YYYY-MM-DD)."
        },
        "supplySharePct": {
          "type": [
            "number",
            "null"
          ],
          "description": "`coinsHeld` as a share of the asset’s circulating supply, percent."
        }
      },
      "required": [
        "symbol",
        "asset",
        "totalNetAssetsUsdM",
        "date",
        "coinsHeld",
        "coinsDate",
        "supplySharePct"
      ]
    },
    "FundDto": {
      "type": "object",
      "properties": {
        "ticker": {
          "type": "string",
          "description": "Fund ticker."
        },
        "name": {
          "type": "string",
          "description": "Fund name."
        },
        "issuer": {
          "type": "string",
          "description": "Issuer of the fund."
        },
        "symbol": {
          "type": "string",
          "description": "Ticker symbol of the asset the fund holds."
        },
        "asset": {
          "type": "string",
          "description": "Internal asset id; works as the {asset} path parameter."
        },
        "exchange": {
          "type": "string",
          "description": "Listing exchange."
        },
        "listedAt": {
          "type": "string",
          "description": "First trading day on the exchange (YYYY-MM-DD)."
        },
        "delistedAt": {
          "type": [
            "string",
            "null"
          ],
          "description": "Last trading day of a fund that has closed (YYYY-MM-DD); null while the fund trades."
        },
        "sponsorFeePct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Sponsor fee, percent per year; null if not stated."
        },
        "netAssetsUsdM": {
          "type": [
            "number",
            "null"
          ],
          "description": "Current net assets (AUM) in millions of USD, rounded to 0.1; null if unknown."
        },
        "coinsHeld": {
          "type": [
            "number",
            "null"
          ],
          "description": "Coins held by the fund, as the issuer last reported them (see `coinsHeldDate`); null when the issuer does not publish holdings in coins."
        },
        "coinsHeldDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "Day `coinsHeld` belongs to (YYYY-MM-DD). Can be a day or two older than `netAssetsDate`."
        },
        "netAssetsDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "Day the net assets belong to (YYYY-MM-DD); null if unknown."
        },
        "netAssetsBasis": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "reported",
            "repriced",
            "estimated"
          ],
          "description": "reported = the figure the issuer published for that day; repriced = the latest published figure moved to that day by the change in NAV of the other funds; estimated = coins held times the coin price, for issuers that publish no daily holdings."
        },
        "effectiveFeePct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Fee charged today, percent per year: the sponsor fee, or the lower rate of a fee waiver in effect."
        },
        "feeWaiver": {
          "nullable": true,
          "description": "A fee waiver in effect today; null when there is none.",
          "allOf": [
            {
              "$ref": "#/$defs/FundFeeWaiverDto"
            }
          ]
        },
        "feeRevenueUsdMPerYear": {
          "type": [
            "number",
            "null"
          ],
          "description": "Current net assets times `effectiveFeePct`: the yearly sponsor fee revenue at today’s assets, millions of USD."
        },
        "supplySharePct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Coins held by the fund (reported, or estimated where the issuer does not publish coins) as a share of the asset’s circulating supply, percent."
        },
        "staking": {
          "nullable": true,
          "description": "Staking of the fund; null when not available.",
          "allOf": [
            {
              "$ref": "#/$defs/FundStakingDto"
            }
          ]
        }
      },
      "required": [
        "ticker",
        "name",
        "issuer",
        "symbol",
        "asset",
        "exchange",
        "listedAt",
        "delistedAt",
        "sponsorFeePct",
        "netAssetsUsdM",
        "coinsHeld",
        "coinsHeldDate",
        "netAssetsDate",
        "netAssetsBasis",
        "effectiveFeePct",
        "feeWaiver",
        "feeRevenueUsdMPerYear",
        "supplySharePct",
        "staking"
      ]
    },
    "FundFeeWaiverDto": {
      "type": "object",
      "properties": {
        "feePct": {
          "type": "number",
          "description": "Fee charged under the waiver, percent per year."
        },
        "aumCapUsdM": {
          "type": [
            "number",
            "null"
          ],
          "description": "The waiver covers the first this many millions of USD of assets; null = all assets."
        },
        "until": {
          "type": [
            "string",
            "null"
          ],
          "description": "Last day of the waiver (YYYY-MM-DD)."
        }
      },
      "required": [
        "feePct",
        "aumCapUsdM",
        "until"
      ]
    },
    "FundStakingDto": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "active",
            "allowed_not_started",
            "pending_amendment",
            "no",
            "not_stakeable",
            "unknown"
          ],
          "description": "active = the fund stakes; allowed_not_started = its documents allow staking but it has not started; pending_amendment = a filing to allow staking is pending; no = it does not stake; not_stakeable = the asset cannot be staked (bitcoin, litecoin, dogecoin, zcash, XRP); unknown = not confirmed in filings."
        },
        "sharePct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Share of the fund’s coins staked as the issuer last disclosed it, percent."
        },
        "sharePctDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "Day `sharePct` belongs to (YYYY-MM-DD)."
        },
        "yieldNetPct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Net staking yield, percent per year. See `yieldBasis` for where it comes from."
        },
        "yieldBasis": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "disclosed",
            "computed",
            "distributions"
          ],
          "description": "disclosed = published by the issuer; computed = growth of coins per share from daily issuer snapshots; distributions = the last cash payout annualised."
        },
        "rewards": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "accrue_to_nav",
            "cash_distribution",
            "mixed",
            "to_sponsor"
          ],
          "description": "How rewards reach shareholders: kept in the fund, paid out in cash, partly both, or kept by the sponsor."
        },
        "providers": {
          "description": "Staking providers named in filings or on the issuer’s page.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "filingUrl": {
          "type": [
            "string",
            "null"
          ],
          "description": "The filing the staking status is taken from."
        }
      },
      "required": [
        "status",
        "sharePct",
        "sharePctDate",
        "yieldNetPct",
        "yieldBasis",
        "rewards",
        "providers",
        "filingUrl"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/cryptoetf-today-funds-dto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.