# DEX Volume Tracker — Uniswap Curve Sushi Live 24h Volume (`gochujang/dex-volume-tracker`) Actor

24h trading volume + 7d / 30d trends per DEX (Uniswap V2/V3, Curve, Sushi, Balancer, Pancake, Trader Joe, Camelot) by chain. DefiLlama. PPE $0.001/protocol.

- **URL**: https://apify.com/gochujang/dex-volume-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## DEX + Aggregator Volume Tracker

> 24h / 7d / 30d trading volume across every major **DEX** (Uniswap V3/V4, PancakeSwap, Aerodrome, Curve, Balancer, Cowswap, …) and **aggregator** (1inch, 0x, Jupiter, KyberSwap). Plus share-of-total, 1d/7d/30d growth %, and chain coverage. No API key required.

---

### What It Does

For every DEX + aggregator tracked by DefiLlama:
- **24h / 7d / 30d / 1y volume** in USD
- **% change** vs prior period (1d, 7d, 1m)
- **Share-of-total** within scanned universe
- **Chains supported**

Use it to identify breakout DEXes (Solana memecoin season → Jupiter), rotating chains (Aerodrome → Base), or fading liquidity (post-Uniswap-fork dropoffs).

---

### Why This Matters

- **DEX share rotation tells you ecosystem narrative**. Uniswap V4 rapidly capturing share = Uniswap thesis playing out. Jupiter dominating = SOL season.
- **Aggregator volume vs direct DEX volume**: when aggregator share rises, that's price-discovery decentralization. When it falls, single-venue dominance.
- **New-DEX detection**: any DEX you've never heard of jumping into top-20 by 24h volume is a signal worth investigating.

---

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `category` | string | `dexs` | `dexs`, `aggregators`, `both` |
| `chainFilter` | string | empty | Substring match against `chains` array, e.g. `Base` |
| `minVolume24hUsd` | integer | `1000000` | Skip dust protocols |
| `sortBy` | string | `volume_24h_desc` | `volume_24h_desc`, `volume_7d_desc`, `change_1d_desc`, `change_7d_desc`, `share_24h_desc` |
| `limit` | integer | `50` | Max rows |
| `alertGrowth1dPct` | number | `0` | Telegram alert if 1d growth ≥ X%. 0 = off |
| `telegramBotToken` | string (secret) | — | Bot token |
| `telegramChatId` | string | — | Chat ID |

#### Example: Top DEXes
```json
{"category": "dexs", "limit": 25}
````

#### Example: Solana DEX scanner

```json
{"chainFilter": "Solana", "sortBy": "volume_24h_desc"}
```

#### Example: Breakout aggregators

```json
{"category": "aggregators", "sortBy": "change_1d_desc", "alertGrowth1dPct": 50}
```

***

### Output

```json
{
  "category": "DEX",
  "name": "Uniswap V4",
  "chains": ["Ethereum", "Arbitrum", "Base", "Optimism"],
  "volume_24h_usd": 1120000000,
  "volume_7d_usd": 5800000000,
  "volume_30d_usd": 24500000000,
  "change_1d_pct": 0.41,
  "change_7d_pct": -2.7,
  "change_1m_pct": 18.4,
  "share_24h_pct": 12.34,
  "url": "https://uniswap.org",
  "twitter": "Uniswap"
}
```

***

### Pricing

- **$0.001 per protocol returned**

Examples:

- Top 50 DEXes: **$0.05**
- Both DEXes + aggregators (~100 rows): **$0.10**

***

### Use Cases

**Daily DEX league table** — Run daily, post top 10 + biggest movers to your Telegram/Discord.

**Chain-specific DEX scout** — For your favorite L2, see which DEX captured the most volume yesterday.

**Volume surge alert** — Schedule hourly with `alertGrowth1dPct: 100` — catches genuine pump moments.

***

### Data Sources

- **DefiLlama** `/overview/dexs` + `/overview/aggregators`
- No API key required

***

### Related Actors

- **[L2 + Chain TVL Tracker](https://apify.com/gochujang/l2-tvl-tracker)** — Pair DEX volume share with chain TVL.
- **[DeFi Yield Scanner](https://apify.com/gochujang/defi-yield-scanner)** — DEX LP yields downstream of volume.
- **[Solana Memecoin Launch Tracker](https://apify.com/gochujang/solana-memecoin-launchtracker)** — Jupiter volume tracks memecoin activity.

***

***

### 🎬 Live Sample Run

A real run of this actor with default-ish inputs, executed on 2026-06-10:

| Field | Value |
|---|---|
| Items in dataset | 15 |
| Dataset (JSON) | `https://api.apify.com/v2/datasets/ZVYrAgDbtBpPtO8Xf/items?clean=1&format=json` |
| Dataset (CSV) | `https://api.apify.com/v2/datasets/ZVYrAgDbtBpPtO8Xf/items?clean=1&format=csv` |
| Run summary (KVS) | `https://api.apify.com/v2/key-value-stores/EiyvuDv8ns3769544/records/SUMMARY` |
| Run details | `https://api.apify.com/v2/actor-runs/QLZVbtFuGonBvcAhC` |

**Try it now**: pop any of the dataset URLs in your browser to see live output, or hit the API endpoints from your code.

> Want to reproduce? Click **Try Actor** on the Apify Store page and use the input defaults shown above.

### Feedback

[Leave a review on Apify Store](https://apify.com/gochujang/dex-volume-tracker#reviews)

# Actor input Schema

## `category` (type: `string`):

DEXes (AMMs / order books), aggregators (1inch, 0x, Jupiter, …), or both.

## `chainFilter` (type: `string`):

Substring match against protocol chain list (e.g. 'Ethereum', 'Base', 'Solana'). Empty = all.

## `minVolume24hUsd` (type: `integer`):

Skip protocols below this 24h volume.

## `sortBy` (type: `string`):

Sort order.

## `limit` (type: `integer`):

Maximum number of protocols to return.

## `alertGrowth1dPct` (type: `number`):

Telegram alert when any protocol's 1d growth ≥ X%. 0 = disabled.

## `telegramBotToken` (type: `string`):

Telegram bot token.

## `telegramChatId` (type: `string`):

Chat ID.

## Actor input object example

```json
{
  "category": "dexs",
  "chainFilter": "",
  "minVolume24hUsd": 1000000,
  "sortBy": "volume_24h_desc",
  "limit": 50,
  "alertGrowth1dPct": 0,
  "telegramChatId": ""
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/dex-volume-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("gochujang/dex-volume-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call gochujang/dex-volume-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=gochujang/dex-volume-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "DEX Volume Tracker — Uniswap Curve Sushi Live 24h Volume",
        "description": "24h trading volume + 7d / 30d trends per DEX (Uniswap V2/V3, Curve, Sushi, Balancer, Pancake, Trader Joe, Camelot) by chain. DefiLlama. PPE $0.001/protocol.",
        "version": "0.1",
        "x-build-id": "Fm9wdTEY8FSRtKRwA"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/gochujang~dex-volume-tracker/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-gochujang-dex-volume-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/gochujang~dex-volume-tracker/runs": {
            "post": {
                "operationId": "runs-sync-gochujang-dex-volume-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/gochujang~dex-volume-tracker/run-sync": {
            "post": {
                "operationId": "run-sync-gochujang-dex-volume-tracker",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "category": {
                        "title": "Category",
                        "enum": [
                            "dexs",
                            "aggregators",
                            "both"
                        ],
                        "type": "string",
                        "description": "DEXes (AMMs / order books), aggregators (1inch, 0x, Jupiter, …), or both.",
                        "default": "dexs"
                    },
                    "chainFilter": {
                        "title": "Chain Filter (substring)",
                        "type": "string",
                        "description": "Substring match against protocol chain list (e.g. 'Ethereum', 'Base', 'Solana'). Empty = all.",
                        "default": ""
                    },
                    "minVolume24hUsd": {
                        "title": "Min 24h Volume USD",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Skip protocols below this 24h volume.",
                        "default": 1000000
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "volume_24h_desc",
                            "volume_7d_desc",
                            "change_1d_desc",
                            "change_7d_desc",
                            "share_24h_desc"
                        ],
                        "type": "string",
                        "description": "Sort order.",
                        "default": "volume_24h_desc"
                    },
                    "limit": {
                        "title": "Max Protocols",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of protocols to return.",
                        "default": 50
                    },
                    "alertGrowth1dPct": {
                        "title": "Alert 1d Growth %",
                        "minimum": 0,
                        "type": "number",
                        "description": "Telegram alert when any protocol's 1d growth ≥ X%. 0 = disabled.",
                        "default": 0
                    },
                    "telegramBotToken": {
                        "title": "Telegram Bot Token",
                        "type": "string",
                        "description": "Telegram bot token."
                    },
                    "telegramChatId": {
                        "title": "Telegram Chat ID",
                        "type": "string",
                        "description": "Chat ID.",
                        "default": ""
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
