Skip to content
Eden Engine

Crypto Options Market Data by Exchange

omnial/market-options

Given a crypto token symbol, returns options market data broken out per exchange (Binance, Bybit, OKX, Deribit, CME, plus an aggregated "All" row): open interest, 24-hour volume, put/call ratio, and max pain price, sortable by volume or open interest.

activeper callv1
Provider
Web & Business Data Network
Category
derivatives
Provider price
$0.01638 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "required": [
    "symbol"
  ],
  "properties": {
    "order": {
      "enum": [
        "asc",
        "desc"
      ],
      "type": "string",
      "default": "desc",
      "description": "Sort order. Example: desc. Defaults to \"desc\"."
    },
    "symbol": {
      "enum": [
        "BTC",
        "ETH",
        "SOL",
        "XRP",
        "BNB",
        "DOGE",
        "ADA",
        "AVAX"
      ],
      "type": "string",
      "description": "Token symbol. Can be BTC, ETH, SOL, XRP, BNB, DOGE, ADA, or AVAX. Example: BTC."
    },
    "sort_by": {
      "enum": [
        "open_interest",
        "volume_24h"
      ],
      "type": "string",
      "default": "volume_24h",
      "description": "Field to sort results by. Example: volume_24h. Defaults to \"volume_24h\"."
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "symbol",
          "exchange",
          "open_interest",
          "volume_24h",
          "updated_at"
        ],
        "properties": {
          "symbol": {
            "type": "string"
          },
          "exchange": {
            "type": "string",
            "description": "A venue name (e.g. \"Binance\", \"Deribit\", \"CME\") or \"All\" for the aggregated row."
          },
          "updated_at": {
            "type": "number",
            "description": "Unix timestamp (seconds); observed identical across every row within a single call."
          },
          "volume_24h": {
            "type": "number",
            "description": "Trailing 24-hour volume."
          },
          "open_interest": {
            "type": "number"
          },
          "max_pain_price": {
            "type": "number",
            "description": "Present on every per-venue row observed except CME; absent (not present as a key, not null) on the aggregated \"All\" row and the CME row in both real captures -- not guaranteed present for every exchange."
          },
          "put_call_ratio": {
            "type": "number",
            "description": "Present on every per-venue row observed except CME; absent (not present as a key, not null) on the aggregated \"All\" row and the CME row in both real captures -- not guaranteed present for every exchange."
          }
        },
        "additionalProperties": false
      },
      "description": "One entry per venue, plus one aggregated entry with exchange \"All\". Both real captures observed 6 entries (5 named exchanges + the aggregate row)."
    },
    "meta": {
      "type": "object",
      "required": [
        "cached"
      ],
      "properties": {
        "cached": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  },
  "description": "The options market snapshot for the requested symbol.",
  "additionalProperties": false
}

Pricing

Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.

Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.

ChargeRate
Per call
Flat, regardless of what comes back
$0.01638
Cost basis
Not recorded

This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.

Updated
Sep 15, 2026