Skip to content
Eden Engine

DEX Trading Volume by Protocol on One Chain (DEX Category)

omnial/chain-dex-volume-by-protocol

For one blockchain, returns DEX trading volume for the DEX category: the chain's volume over the last 24 hours, 7 days, 30 days, one year and all time, the matching earlier periods and percentage changes, and one row per DEX with its name, slug, id, parent protocol, the chains it runs on, the same volume figures and changes on this chain, and its daily average over the past year.

activeper callv1

Price

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

The price shown is the price you pay. No monthly minimum. Top-ups start at $5.

Data source

DefiLlama

Data from DefiLlama.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/chain-dex-volume-by-protocol" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/chain-dex-volume-by-protocol" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/chain-dex-volume-by-protocol", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/chain-dex-volume-by-protocol", 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.001
Updated
Oct 14, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "metric",
    "category",
    "chain"
  ],
  "properties": {
    "chain": {
      "type": "string",
      "pattern": "^(?!\\.{1,2}$)[A-Za-z0-9._~:@!$&'()*+,;=-]+$",
      "minLength": 1,
      "description": "The blockchain's display name, spelled and capitalised as the source lists it."
    },
    "metric": {
      "enum": [
        "dexs"
      ],
      "type": "string",
      "pattern": "^(?!\\.{1,2}$)[A-Za-z0-9._~:@!$&'()*+,;=-]+$",
      "description": "The metric to report. Only DEX trading volume (dexs) is offered."
    },
    "category": {
      "enum": [
        "dexs"
      ],
      "type": "string",
      "pattern": "^(?!\\.{1,2}$)[A-Za-z0-9._~:@!$&'()*+,;=-]+$",
      "description": "The protocol category. Only the DEX category (dexs) is offered."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "description": "The chain's display name."
    },
    "total1y": {
      "type": "number",
      "description": "Volume over the last year."
    },
    "total7d": {
      "type": "number",
      "description": "Volume over the last 7 days."
    },
    "category": {
      "type": "string",
      "description": "The category's display name."
    },
    "total24h": {
      "type": [
        "number",
        "null"
      ],
      "description": "Volume over the last 24 hours."
    },
    "total30d": {
      "type": "number",
      "description": "Volume over the last 30 days."
    },
    "change_1d": {
      "type": "number",
      "description": "Percent change of total24h against total48hto24h."
    },
    "change_1m": {
      "type": "number",
      "description": "Percent change of total24h against total30DaysAgo."
    },
    "change_7d": {
      "type": "number",
      "description": "Percent change of total24h against total7DaysAgo."
    },
    "protocols": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The DEX's display name."
          },
          "slug": {
            "type": "string",
            "description": "The DEX's slug."
          },
          "chains": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Every chain the DEX runs on, not only this one."
          },
          "total1y": {
            "type": "number",
            "description": "Volume over the last year."
          },
          "total7d": {
            "type": "number",
            "description": "Volume over the last 7 days."
          },
          "total24h": {
            "type": [
              "number",
              "null"
            ],
            "description": "Volume over the last 24 hours."
          },
          "total30d": {
            "type": "number",
            "description": "Volume over the last 30 days."
          },
          "average1y": {
            "type": "number",
            "description": "The past year's volume divided by its number of days with data."
          },
          "change_1d": {
            "type": "number",
            "description": "Percent change of total24h against total48hto24h."
          },
          "change_1m": {
            "type": "number",
            "description": "Percent change of total24h against total30DaysAgo."
          },
          "change_7d": {
            "type": "number",
            "description": "Percent change of total24h against total7DaysAgo."
          },
          "defillamaId": {
            "type": "string",
            "description": "The DEX's id at the source."
          },
          "total14dto7d": {
            "type": "number",
            "description": "Volume over the 7 days before that."
          },
          "totalAllTime": {
            "type": "number",
            "description": "Volume since tracking began."
          },
          "total48hto24h": {
            "type": [
              "number",
              "null"
            ],
            "description": "Volume over the 24 hours before that."
          },
          "total60dto30d": {
            "type": "number",
            "description": "Volume over the 30 days before that."
          },
          "total7DaysAgo": {
            "type": "number",
            "description": "One day's volume, seven days ago."
          },
          "parentProtocol": {
            "type": "string",
            "description": "The id of the protocol family the DEX belongs to; absent when it has none."
          },
          "total30DaysAgo": {
            "type": "number",
            "description": "One day's volume, thirty days ago."
          },
          "change_7dover7d": {
            "type": "number",
            "description": "Percent change of total7d against total14dto7d."
          },
          "change_30dover30d": {
            "type": "number",
            "description": "Percent change of total30d against total60dto30d."
          }
        }
      },
      "description": "One row per DEX with volume on the chain."
    },
    "total14dto7d": {
      "type": "number",
      "description": "Volume over the 7 days before that."
    },
    "totalAllTime": {
      "type": "number",
      "description": "Volume since tracking began."
    },
    "total48hto24h": {
      "type": [
        "number",
        "null"
      ],
      "description": "Volume over the 24 hours before that."
    },
    "total60dto30d": {
      "type": "number",
      "description": "Volume over the 30 days before that."
    },
    "total7DaysAgo": {
      "type": "number",
      "description": "One day's volume, seven days ago."
    },
    "total30DaysAgo": {
      "type": "number",
      "description": "One day's volume, thirty days ago."
    },
    "change_7dover7d": {
      "type": "number",
      "description": "Percent change of total7d against total14dto7d."
    },
    "change_30dover30d": {
      "type": "number",
      "description": "Percent change of total30d against total60dto30d."
    }
  },
  "description": "DEX trading volume on the chain. Volume figures are US dollar amounts; change_* fields are percents (1.5 means 1.5%). The per-protocol figures are for this chain only and add up to the chain totals."
}