Skip to content
Eden Engine

Spot ETF Flow History by Token (BTC, ETH, XRP, SOL, HYPE)

omnial/market-etf

Given a token symbol and an optional date range, returns daily spot ETF flow history: the day's net flow in USD and the token's price, plus a breakdown of that day's flow by individual ETF ticker (e.g. IBIT, FBTC, GBTC). Supports BTC, ETH, XRP, SOL, and HYPE, and can be sorted by date or by flow size in either order.

activeper callv3

Price

Up to $0.0164 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.

Data source

Farside Investors

Data from Farside Investors.

Use it

Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.

Connect once and your AI can find and run this tool, and any other it needs.

For developers: the calls your assistant makes
agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/market-etf" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/market-etf" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/market-etf", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/market-etf", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0164
Updated
Oct 27, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "symbol"
  ],
  "properties": {
    "to": {
      "type": "string",
      "minLength": 1,
      "description": "End of time range. Accepts Unix seconds or date string (YYYY-MM-DD). Example: 2026-03-01."
    },
    "from": {
      "type": "string",
      "minLength": 1,
      "description": "Start of time range. Accepts Unix seconds or date string (YYYY-MM-DD). Example: 2026-01-01."
    },
    "order": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string",
      "default": "desc",
      "description": "Sort order. Example: desc. Defaults to \"desc\"."
    },
    "symbol": {
      "enum": [
        "BTC",
        "ETH",
        "XRP",
        "SOL",
        "HYPE"
      ],
      "type": "string",
      "description": "Token symbol. Can be BTC, ETH, XRP, SOL, or HYPE. Example: BTC."
    },
    "sort_by": {
      "enum": [
        "flow_usd",
        "timestamp"
      ],
      "type": "string",
      "default": "timestamp",
      "description": "Field to sort results by. Example: timestamp. Defaults to \"timestamp\"."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "etfs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string",
                  "description": "ETF ticker, e.g. IBIT, FBTC, BITB, ARKB, BTCO, EZBC, BRRR, HODL, BTCW, GBTC."
                },
                "flow_usd": {
                  "type": "number",
                  "description": "That ETF's own USD flow for the day. Observed positive, negative, and zero."
                }
              },
              "additionalProperties": false
            },
            "description": "Per-ETF breakdown of that day's flow, one entry per tracked ticker."
          },
          "symbol": {
            "type": "string",
            "description": "Echoes the requested token symbol."
          },
          "settled": {
            "type": "boolean",
            "description": "Whether that day's flow figure is finalized. Typically true on every row."
          },
          "flow_usd": {
            "type": "number",
            "description": "Net USD flow across all tracked ETFs for that day. Observed positive, negative, and zero."
          },
          "price_usd": {
            "type": "number",
            "description": "Token price on that day."
          },
          "timestamp": {
            "type": "integer",
            "description": "Unix seconds marking the start of the day."
          }
        },
        "additionalProperties": false
      },
      "description": "One entry per day. Observed non-empty (32 days) for BTC over a Jan-Mar 2026 range, and genuinely empty for a HYPE query over Jan 2026 -- a token/range combination with no spot ETF flow recorded returns an empty array here, not an error."
    },
    "meta": {
      "type": "object",
      "properties": {
        "cached": {
          "type": "boolean",
          "description": "Whether this response was served from the provider's cache."
        }
      },
      "additionalProperties": false
    }
  },
  "description": "The ETF flow response.",
  "additionalProperties": false
}