Workflow: CoinMarketCap_DEXScan_Agent_Tool
Integrations: executeWorkflowTrigger, noOp, stickyNote

{"id": "ImiznkEUWCkKbg1w", "meta": {"instanceId": "workflow-ea6ea968", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:54.924975", "updatedAt": "2025-09-29T07:07:54.924994", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production"}, "name": "CoinMarketCap_DEXScan_Agent_Tool", "tags": ["automation", "n8n", "production-ready", "excellent", "optimized"], "nodes": [{"id": "c055762a-8fe7-4141-a639-df2372f30060", "name": "When Executed by Another Workflow", "type": "n8n-nodes-base.executeWorkflowTrigger", "position": [-60, 320], "parameters": {"workflowInputs": {"values": [{"name": "sessionId"}, {"name": "message"}]}}, "typeVersion": 1.1, "notes": "This executeWorkflowTrigger node performs automated tasks as part of the workflow."}, {"id": "427c5700-f6d4-4e98-b2ef-c8eac986a754", "name": "CoinMarketCap DEXScan Agent", "type": "n8n-nodes-base.noOp", "position": [360, 320], "parameters": {"text": "={{ $json.message }}", "options": {"systemMessage": "You are an AI agent connected to CoinMarketCap's DEXScan API via a suite of HTTP tools. You can retrieve detailed, real-time, and historical data about decentralized exchanges, spot pairs, liquidity pools, trading activity, and more.\n\nEach tool includes parameter validation and usage guidance to prevent 400 Bad Request errors.\n\n\ud83d\udd27 Available Tools & Descriptions\n1. \ud83d\udcdc DEX Metadata\nPurpose: Retrieve static information (name, logo, URLs, launch date, etc.) for one or more DEXs.\nEndpoint: /v4/dex/listings/info\nRequired: id (one or more CMC DEX IDs)\nOptional: aux \u2192 urls, logo, description, date_launched, notice\n\n2. \ud83c\udf10 DEX Networks List\nPurpose: Get all blockchain networks associated with DEX trading, including metadata.\nEndpoint: /v4/dex/networks/list\nOptional Query Parameters:\n\nstart, limit (pagination)\n\nsort: id, name\n\nsort_dir: asc, desc\n\naux: alternativeName, cryptocurrencyId, cryptocurrencySlug, wrappedTokenId, etc.\n\n3. \ud83d\udcca DEX Listings Quotes\nPurpose: List all decentralized exchanges with live trading data.\nEndpoint: /v4/dex/listings/quotes\nOptional:\n\nstart, limit, sort, sort_dir, type, aux, convert_id\nSort options: volume_24h, market_share, name, num_markets\n\n4. \ud83d\udd01 DEX Pair Quotes Latest\nPurpose: Return latest market quotes for one or more spot pairs.\nEndpoint: /v4/dex/pairs/quotes/latest\nRequired: contract_address or network_id or network_slug\nOptional: aux, convert_id, skip_invalid, reverse_order\n\n5. \ud83d\udcc8 DEX OHLCV Historical\nPurpose: Retrieve historical OHLCV (Open, High, Low, Close, Volume) data for spot pairs.\nEndpoint: /v4/dex/pairs/ohlcv/historical\nRequired: contract_address or use network+asset identifiers\nOptional:\n\ntime_period: daily, hourly, 1m, 5m, etc.\n\ntime_start, time_end, count, interval\n\naux, convert_id, skip_invalid, reverse_order\n\n6. \ud83d\udd52 DEX OHLCV Latest\nPurpose: Returns current-day OHLCV data for spot pairs (real-time snapshot).\nEndpoint: /v4/dex/pairs/ohlcv/latest\nRequired: contract_address or network_id or network_slug\nOptional: aux, convert_id, skip_invalid, reverse_order\n\n7. \ud83e\uddfe DEX Trades Latest\nPurpose: View the latest trades (up to 100) for one or more spot pairs.\nEndpoint: /v4/dex/pairs/trade/latest\nRequired: contract_address or network_id or network_slug\nOptional: aux, convert_id, skip_invalid, reverse_order\n\n8. \ud83e\ude99 DEX Spot Pairs Latest\nPurpose: List all active spot trading pairs with latest market data.\nEndpoint: /v4/dex/spot-pairs/latest\nRequired (any of):\n\nnetwork_id, network_slug\n\ndex_id, dex_slug\n\nbase_asset_id, base_asset_symbol, base_asset_contract_address\n\nquote_asset_id, quote_asset_symbol, quote_asset_contract_address\nOptional:\n\nlimit, scroll_id\n\nliquidity_min/max, volume_24h_min/max, percent_change_24h_min/max\n\nsort: name, price, volume_24h, etc.\n\nsort_dir: asc, desc\n\naux, convert_id, reverse_order\n\n\u26a0\ufe0f General Rules to Avoid 400 Errors\nAlways include at least one required identifier per endpoint.\n\nUse proper casing and valid slugs (e.g., ethereum, polygon).\n\nAvoid mixing convert and convert_id.\n\nUse comma-separated values when multiple inputs are allowed.\n\nOnly use documented values in aux, sort, and interval fields.\n\nDo not leave required parameters blank or use unsupported types."}, "promptType": "define"}, "typeVersion": 1.8, "notes": "This agent node performs automated tasks as part of the workflow."}, {"id": "3101c7f4-cf73-4150-8a17-e11366c07c80", "name": "DEXScan Agent Brain", "type": "n8n-nodes-base.noOp", "position": [-400, 620], "parameters": {"model": {"__rl": true, "mode": "list", "value": "gpt-4o-mini", "cachedResultName": "gpt-4o-mini"}, "options": {}}, "credentials": {"openAiApi": {"id": "yUizd8t0sD5wMYVG", "name": "OpenAi account"}}, "typeVersion": 1.2, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow."}, {"id": "a596e26a-61eb-4fe1-8a07-3a93694beca0", "name": "DEXScan Agent Memory", "type": "n8n-nodes-base.noOp", "position": [-220, 620], "parameters": {}, "typeVersion": 1.3, "notes": "This memoryBufferWindow node performs automated tasks as part of the workflow."}, {"id": "49bb58dc-d68b-4091-86f1-12e1071b1fbc", "name": "DEX Metadata", "type": "n8n-nodes-base.noOp", "position": [-40, 620], "parameters": {"url": "{{ $env.API_BASE_URL }}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": {"values": [{"name": "id"}, {"name": "aux", "valueProvider": "modelOptional"}]}, "toolDescription": "Returns static metadata for one or more decentralized exchanges, including launch date, description, URLs, and logos.\n\nHere is a precise and complete **tool description** for the `GET /v4/dex/listings/info` endpoint, formatted for use in your n8n agent system or documentation:\n\n---\n\n### \ud83e\udded **DEX Metadata Tool**\n\n**Purpose:**  \nRetrieve static metadata for one or more decentralized exchanges (DEXs) listed on CoinMarketCap. This includes key profile information such as name, status, description, launch date, logos, official URLs, and important notices.\n\n**Endpoint:**  \n`{{ $env.API_BASE_URL }}`\n\n---\n\n**Query Parameters:**\n\n- `id` *(string, required)* \u2013 One or more comma-separated CoinMarketCap DEX IDs to fetch metadata for.\n- `aux` *(string, optional)* \u2013 A comma-separated list of supplemental fields to include in the response.  \n  Valid values:\n  - `\"urls\"` \u2013 Official website, social media, and documentation links\n  - `\"logo\"` \u2013 Hosted logo (default 64x64, customizable size via URL)\n  - `\"description\"` \u2013 Platform description\n  - `\"date_launched\"` \u2013 ISO 8601 launch date timestamp\n  - `\"notice\"` \u2013 Markdown-formatted warning about operational issues or status alerts\n\n---\n\n**Returns (200 OK):**\n\nFor each exchange:\n- `id`: Unique CoinMarketCap ID\n- `name`: Exchange name\n- `slug`: URL-friendly name\n- `status`: `\"active\"` or `\"inactive\"`\n- `description`: (if requested via `aux`)\n- `date_launched`: (if requested via `aux`)\n- `logo`: (if requested via `aux`)\n- `urls`: (if requested via `aux`)\n- `notice`: Operational message, if applicable\n\n---\n\n**Error Handling:**\n\n- **400 Bad Request**: Triggered if the `id` is missing or invalid.\n- **\u26a0\ufe0f Large Response Alert:** If multiple IDs return too much metadata and exceed the GPT model\u2019s context window, notify with:  \n  > **\"\u26a0\ufe0f The returned metadata exceeds processing limits. Please reduce the number of IDs or narrow the `aux` parameters.\"**\n\n", "parametersHeaders": {"values": [{"name": "Accept", "value": "application/json", "valueProvider": "fieldValue"}]}}, "credentials": {"httpHeaderAuth": {"id": "OKXROn8aWkgAOvvV", "name": "CoinMarketCap Standard"}}, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."}, {"id": "f87838f8-0840-4a78-9d4b-96c79a137d48", "name": "DEX Networks List", "type": "n8n-nodes-base.noOp", "position": [140, 620], "parameters": {"url": "{{ $env.API_BASE_URL }}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": {"values": [{"name": "start", "valueProvider": "modelOptional"}, {"name": "limit", "valueProvider": "modelOptional"}, {"name": "sort", "valueProvider": "modelOptional"}, {"name": "sort_dir", "valueProvider": "modelOptional"}, {"name": "aux", "valueProvider": "modelOptional"}]}, "toolDescription": "Returns a list of all decentralized exchange (DEX) blockchain networks along with their CoinMarketCap IDs and associated metadata.\n\nOptional query parameters (to avoid errors):\n\nstart (string) \u2013 Offset for pagination (1-based index)\n\nlimit (string) \u2013 Number of results to return (e.g. \"100\")\n\nsort (string) \u2013 Sort field. Valid values: \"id\", \"name\"\n\nsort_dir (string) \u2013 Sort order. Valid values: \"asc\", \"desc\"\n\naux (string) \u2013 Comma-separated list of extra fields. Valid values:\n\"alternativeName\", \"cryptocurrencyId\", \"cryptocurrenySlug\",\n\"wrappedTokenId\", \"wrappedTokenSlug\", \"tokenExplorerUrl\",\n\"poolExplorerUrl\", \"transactionHashUrl\"\n\nMake sure input values for sort, sort_dir, and aux are spelled exactly as shown to prevent a 400 error response.", "parametersHeaders": {"values": [{"name": "Accept", "value": "application/json", "valueProvider": "fieldValue"}]}}, "credentials": {"httpHeaderAuth": {"id": "OKXROn8aWkgAOvvV", "name": "CoinMarketCap Standard"}}, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."}, {"id": "3f356c20-4efc-479b-b0fa-ab346c7340d8", "name": "DEX Listings Quotes", "type": "n8n-nodes-base.noOp", "position": [360, 620], "parameters": {"url": "{{ $env.API_BASE_URL }}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": {"values": [{"name": "start", "valueProvider": "modelOptional"}, {"name": "limit", "valueProvider": "modelOptional"}, {"name": "sort", "valueProvider": "modelOptional"}, {"name": "sort_dir", "valueProvider": "modelOptional"}, {"name": "type", "valueProvider": "modelOptional"}, {"name": "aux", "valueProvider": "modelOptional"}, {"name": "convert_id", "valueProvider": "modelOptional"}]}, "toolDescription": "Returns a paginated list of all decentralized exchanges (DEXs) with their latest market data, including market share, quote volume, trading pairs, and multi-currency conversions.\n\n\ud83d\udee0\ufe0f Acceptable Query Inputs:\nstart \u2013 Offset pagination start (e.g., \"1\")\n\nlimit \u2013 Max results to return\n\nsort \u2013 Valid: \"name\", \"volume_24h\", \"market_share\", \"num_markets\"\n\nsort_dir \u2013 \"asc\" or \"desc\"\n\ntype \u2013 \"all\", \"orderbook\", \"swap\", \"aggregator\"\n\naux \u2013 Optional extras, e.g., \"date_launched\"\n\nconvert_id \u2013 Currency IDs to convert quote values (up to 30)", "parametersHeaders": {"values": [{"name": "Accept", "value": "application/json", "valueProvider": "fieldValue"}]}}, "credentials": {"httpHeaderAuth": {"id": "OKXROn8aWkgAOvvV", "name": "CoinMarketCap Standard"}}, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."}, {"id": "3fceb769-621f-4e7f-9351-4052d72b3346", "name": "DEX Pair Quotes Latest", "type": "n8n-nodes-base.noOp", "position": [560, 620], "parameters": {"url": "{{ $env.API_BASE_URL }}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": {"values": [{"name": "contract_address", "valueProvider": "modelOptional"}, {"name": "network_id", "valueProvider": "modelOptional"}, {"name": "aux", "valueProvider": "modelOptional"}, {"name": "convert_id", "valueProvider": "modelOptional"}, {"name": "skip_invalid", "valueProvider": "modelOptional"}, {"name": "reverse_order", "valueProvider": "modelOptional"}, {"name": "network_slug", "valueProvider": "modelOptional"}]}, "toolDescription": "Returns the latest market quote for one or more DEX spot trading pairs, including metrics like:\n\nLiquidity\n\n24h buy/sell volume\n\nSecurity scans\n\nBuy/sell tax\n\nPercent pooled\n\nPool creation and supply stats\n\n\ud83d\udee0\ufe0f Query Parameters Supported:\n\ncontract_address \u2013 (Comma-separated smart contract addresses)\n\nnetwork_id \u2013 CMC network IDs\n\nnetwork_slug \u2013 Slug-formatted network names (e.g., ethereum, polygon)\n\naux \u2013 Comma-separated fields:\npool_created, percent_pooled_base_asset, num_transactions_24h,\npool_base_asset, pool_quote_asset, 24h_volume_quote_asset,\ntotal_supply_quote_asset, total_supply_base_asset, holders,\nbuy_tax, sell_tax, security_scan, 24h_no_of_buys, 24h_no_of_sells,\n24h_buy_volume, 24h_sell_volume\n\nconvert_id \u2013 Comma-separated CMC currency IDs for conversion\n\nskip_invalid \u2013 Pass \"true\" to ignore invalid results\n\nreverse_order \u2013 Pass \"true\" to invert base/quote pair display", "parametersHeaders": {"values": [{"name": "Accept", "value": "application/json", "valueProvider": "fieldValue"}]}}, "credentials": {"httpHeaderAuth": {"id": "OKXROn8aWkgAOvvV", "name": "CoinMarketCap Standard"}}, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."}, {"id": "134d7fc5-15cf-4897-92bb-97b18a121e41", "name": "DEX OHLCV Historical", "type": "n8n-nodes-base.noOp", "position": [740, 620], "parameters": {"url": "{{ $env.API_BASE_URL }}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": {"values": [{"name": "contract_address", "valueProvider": "modelOptional"}, {"name": "network_id", "valueProvider": "modelOptional"}, {"name": "network_slug", "valueProvider": "modelOptional"}, {"name": "time_period", "valueProvider": "modelOptional"}, {"name": "time_start", "valueProvider": "modelOptional"}, {"name": "time_end", "valueProvider": "modelOptional"}, {"name": "count", "valueProvider": "modelOptional"}, {"name": "interval", "valueProvider": "modelOptional"}, {"name": "aux", "valueProvider": "modelOptional"}, {"name": "convert_id", "valueProvider": "modelOptional"}, {"name": "skip_invalid", "valueProvider": "modelOptional"}, {"name": "reverse_order", "valueProvider": "modelOptional"}]}, "toolDescription": "This tool retrieves historical OHLCV (Open, High, Low, Close, Volume) data for DEX spot trading pairs. It includes optional data on security risks, transaction activity, supply, and tax information. Supports flexible time range and sampling intervals for charting or backtesting.\n\n\u2705 Valid Query Parameters:\n\ncontract_address (string) \u2013 A single DEX spot pair\u2019s smart contract address (required unless using network + asset options).\n\nnetwork_id (string) \u2013 One or more CMC network IDs.\n\nnetwork_slug (string) \u2013 Friendly name slug of the network (e.g., \"ethereum\").\n\ntime_period (string) \u2013 Time unit for OHLCV data.\nAllowed: \"daily\", \"hourly\", \"1m\", \"5m\", \"15m\", \"30m\", \"4h\", \"8h\", \"12h\", \"weekly\", \"monthly\"\n(Default: \"daily\")\n\ntime_start (string) \u2013 ISO or Unix timestamp for start (e.g., \"2024-01-01\").\n\ntime_end (string) \u2013 ISO or Unix timestamp for end (e.g., \"2024-03-01\"). Optional.\n\ncount (string) \u2013 Number of time intervals to return (default is 10, max is 500).\n\ninterval (string) \u2013 How frequently to sample the time_period. Same options as time_period.\n\naux (string) \u2013 Optional comma-separated extra fields to return: pool_created, percent_pooled_base_asset, num_transactions_24h,\npool_base_asset, pool_quote_asset, 24h_volume_quote_asset,\ntotal_supply_quote_asset, total_supply_base_asset, holders,\nbuy_tax, sell_tax, security_scan, 24h_no_of_buys, 24h_no_of_sells,\n24h_buy_volume, 24h_sell_volume\n\nconvert_id (string) \u2013 Comma-separated CMC currency IDs for market conversion (e.g., \"1,2781\").\n\nskip_invalid (string) \u2013 Pass \"true\" to skip failed lookups in bulk queries.\n\nreverse_order (string) \u2013 Pass \"true\" to reverse base/quote asset display order.", "parametersHeaders": {"values": [{"name": "Accept", "value": "application/json", "valueProvider": "fieldValue"}]}}, "credentials": {"httpHeaderAuth": {"id": "OKXROn8aWkgAOvvV", "name": "CoinMarketCap Standard"}}, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."}, {"id": "bee1d41a-af4c-442d-b0c6-7be0e17c31a5", "name": "DEX OHLCV Latest", "type": "n8n-nodes-base.noOp", "position": [940, 640], "parameters": {"url": "{{ $env.API_BASE_URL }}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": {"values": [{"name": "contract_address", "valueProvider": "modelOptional"}, {"name": "network_id", "valueProvider": "modelOptional"}, {"name": "network_slug", "valueProvider": "modelOptional"}, {"name": "aux", "valueProvider": "modelOptional"}, {"name": "convert_id", "valueProvider": "modelOptional"}, {"name": "skip_invalid", "valueProvider": "modelOptional"}, {"name": "reverse_order", "valueProvider": "modelOptional"}]}, "toolDescription": "This tool retrieves the most recent OHLCV (Open, High, Low, Close, Volume) data for one or more spot trading pairs on decentralized exchanges. It reflects market activity during the current UTC day and is continuously updated. Suitable for real-time monitoring of decentralized market performance, this tool supports advanced filtering via network identifiers or contract addresses.\n\nRequired Input (at least one of the following):\ncontract_address (string)\nOne or more comma-separated smart contract addresses for the trading pair(s).\n\nExample: \"0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640\"\n\nnetwork_id (string)\nOne or more CoinMarketCap internal network IDs.\n\nExample: \"1\" (Ethereum)\n\nnetwork_slug (string)\nThe lowercase, hyphenated identifier of a blockchain network.\n\nExample: \"ethereum\", \"binance-smart-chain\"\n\n\ud83e\udde9 Optional Query Parameters:\naux (string)\nComma-separated list of additional fields to enrich the returned data:\nValid values: pool_created, percent_pooled_base_asset, num_transactions_24h,\npool_base_asset, pool_quote_asset, 24h_volume_quote_asset,\ntotal_supply_quote_asset, total_supply_base_asset, holders,\nbuy_tax, sell_tax, security_scan, 24h_no_of_buys, 24h_no_of_sells,\n24h_buy_volume, 24h_sell_volume\n\nExample: \"security_scan,holders,pool_created\"\n\nconvert_id (string)\nCalculate quote values in one or more fiat/crypto currencies using CoinMarketCap IDs.\n\nExample: \"1\" (USD), \"2781\" (BTC)\n\nNote: Cannot be used with the convert symbol-based parameter.\n\nskip_invalid (string)\nAccepts \"true\" or \"false\" (default).\nIf set to \"true\", skips spot pairs with invalid or missing data instead of returning a 400 error.\n\nExample: \"true\"\n\nreverse_order (string)\nAccepts \"true\" or \"false\" (default).\nFlips the order of the token pair if the token contract uses reverse naming convention.\n\nExample: \"true\"\n\n\u26a0\ufe0f Tips to Avoid 400 Errors:\nEnsure at least one of contract_address, network_id, or network_slug is included.\n\nUse correct spelling and case for slugs (e.g., \"ethereum\" not \"Ethereum\").\n\nOnly include valid aux values in a comma-separated list.\n\nDo not use both convert and convert_id at the same time.\n\nAvoid empty strings for required parameters or unsupported values in optional fields.", "parametersHeaders": {"values": [{"name": "Accept", "value": "application/json", "valueProvider": "fieldValue"}]}}, "credentials": {"httpHeaderAuth": {"id": "OKXROn8aWkgAOvvV", "name": "CoinMarketCap Standard"}}, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."}, {"id": "742a6f07-d85d-4b6c-9ba6-90940e2b365c", "name": "DEX Trades Latest", "type": "n8n-nodes-base.noOp", "position": [1140, 640], "parameters": {"url": "{{ $env.API_BASE_URL }}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": {"values": [{"name": "contract_address", "valueProvider": "modelOptional"}, {"name": "network_id", "valueProvider": "modelOptional"}, {"name": "network_slug", "valueProvider": "modelOptional"}, {"name": "aux", "valueProvider": "modelOptional"}, {"name": "convert_id", "valueProvider": "modelOptional"}, {"name": "skip_invalid", "valueProvider": "modelOptional"}, {"name": "reverse_order", "valueProvider": "modelOptional"}]}, "toolDescription": "Returns up to the latest 100 trades for one or more DEX spot pairs using CoinMarketCap.\nQuery Parameters Accepted:\n\ncontract_address: (Required*) One or more comma-separated contract addresses.\n\nnetwork_id: CoinMarketCap network ID (alternative to contract_address).\n\nnetwork_slug: URL-friendly network name (alternative to network_id).\n\naux: Optional fields to include: \"transaction_hash\", \"blockchain_explorer_link\".\n\nconvert_id: One or more fiat/crypto IDs to return converted market values.\n\nskip_invalid: \"true\" to skip invalid pairs instead of erroring.\n\nreverse_order: \"true\" to reverse trading pair (e.g., A/B \u2192 B/A).\n\nUse at least one of contract_address, network_id, or network_slug to avoid a 400 error.", "parametersHeaders": {"values": [{"name": "Accept", "value": "application/json", "valueProvider": "fieldValue"}]}}, "credentials": {"httpHeaderAuth": {"id": "OKXROn8aWkgAOvvV", "name": "CoinMarketCap Standard"}}, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."}, {"id": "3ddf229c-16b2-4610-982e-d5e3c07b0cb0", "name": "DEX Spot Pairs Latest", "type": "n8n-nodes-base.noOp", "position": [1340, 640], "parameters": {"url": "{{ $env.API_BASE_URL }}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": {"values": [{"name": "network_id", "valueProvider": "modelOptional"}, {"name": "network_slug", "valueProvider": "modelOptional"}, {"name": "dex_id", "valueProvider": "modelOptional"}, {"name": "dex_slug", "valueProvider": "modelOptional"}, {"name": "base_asset_id", "valueProvider": "modelOptional"}, {"name": "base_asset_symbol", "valueProvider": "modelOptional"}, {"name": "base_asset_contract_address", "valueProvider": "modelOptional"}, {"name": "base_asset_ucid", "valueProvider": "modelOptional"}, {"name": "quote_asset_id", "valueProvider": "modelOptional"}, {"name": "quote_asset_symbol", "valueProvider": "modelOptional"}, {"name": "quote_asset_contract_address", "valueProvider": "modelOptional"}, {"name": "quote_asset_ucid", "valueProvider": "modelOptional"}, {"name": "scroll_id", "valueProvider": "modelOptional"}, {"name": "limit", "valueProvider": "modelOptional"}, {"name": "liquidity_min", "valueProvider": "modelOptional"}, {"name": "liquidity_max", "valueProvider": "modelOptional"}, {"name": "volume_24h_min", "valueProvider": "modelOptional"}, {"name": "volume_24h_max", "valueProvider": "modelOptional"}, {"name": "no_of_transactions_24h_min", "valueProvider": "modelOptional"}, {"name": "no_of_transactions_24h_max", "valueProvider": "modelOptional"}, {"name": "percent_change_24h_min", "valueProvider": "modelOptional"}, {"name": "percent_change_24h_max", "valueProvider": "modelOptional"}, {"name": "sort", "valueProvider": "modelOptional"}, {"name": "sort_dir", "valueProvider": "modelOptional"}, {"name": "aux", "valueProvider": "modelOptional"}, {"name": "reverse_order", "valueProvider": "modelOptional"}, {"name": "convert_id", "valueProvider": "modelOptional"}]}, "toolDescription": "This tool calls the /v4/dex/spot-pairs/latest endpoint to retrieve a paginated list of all active decentralized exchange (DEX) spot pairs with the latest market data. This includes price, liquidity, trading volume, and more. You can filter, sort, and enrich the results using query parameters.\n\n\u26a0\ufe0f To avoid a 400 Bad Request error, you must include at least one of the following identifiers in your request:\n\nnetwork_id OR network_slug\n\ndex_id OR dex_slug\n\nbase_asset_id, base_asset_symbol, or base_asset_contract_address\n\nquote_asset_id, quote_asset_symbol, or quote_asset_contract_address\n\n\u2705 Supported Query Parameters\nCore Identifiers (At least one required):\nnetwork_id: One or more comma-separated CoinMarketCap network IDs.\n\nnetwork_slug: One or more comma-separated URL-friendly network slugs.\n\ndex_id: One or more CoinMarketCap DEX exchange IDs.\n\ndex_slug: One or more URL-friendly DEX slugs.\n\nbase_asset_id, base_asset_symbol, base_asset_contract_address: Identify the base asset of the pair.\n\nquote_asset_id, quote_asset_symbol, quote_asset_contract_address: Identify the quote asset of the pair.\n\nbase_asset_ucid / quote_asset_ucid: Optional unique CoinMarketCap identifiers.\n\nPagination:\nscroll_id: For continuous pagination. Use the scroll_id from the previous response to get the next set.\n\nlimit: Maximum number of results to return.\n\nFiltering:\nliquidity_min, liquidity_max: Minimum/maximum liquidity thresholds.\n\nvolume_24h_min, volume_24h_max: Minimum/maximum 24h volume thresholds.\n\nno_of_transactions_24h_min, no_of_transactions_24h_max: Filter by transaction count.\n\npercent_change_24h_min, percent_change_24h_max: 24-hour price change filters.\n\nSorting:\nsort: Sort the results by:\n\nname, date_added, price, volume_24h, percent_change_1h, percent_change_24h, liquidity, fully_diluted_value, no_of_transactions_24h\n\nsort_dir: Direction of sort (asc or desc, default: desc)\n\nAdditional Metadata (Optional):\nUse the aux parameter to enrich the response with supplemental fields:\n\npool_created, percent_pooled_base_asset, num_transactions_24h, pool_base_asset, pool_quote_asset, 24h_volume_quote_asset, total_supply_quote_asset, total_supply_base_asset, holders, buy_tax, sell_tax, security_scan, 24h_no_of_buys, 24h_no_of_sells, 24h_buy_volume, 24h_sell_volume\n\nQuote Conversion:\nconvert_id: Convert pricing to specific fiat or crypto by CMC ID (e.g. convert_id=1,2781 for BTC, USD).\n\n\u26a0\ufe0f Cannot be used with convert (symbol-based conversion).\n\nOther Options:\nreverse_order: Flip the base/quote asset order if needed.", "parametersHeaders": {"values": [{"name": "Accept", "value": "application/json", "valueProvider": "fieldValue"}]}}, "credentials": {"httpHeaderAuth": {"id": "OKXROn8aWkgAOvvV", "name": "CoinMarketCap Standard"}}, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow."}, {"id": "3dab3ebc-14c5-49a8-bb11-aa82564785a5", "name": "DEXScan Agent Guide", "type": "n8n-nodes-base.stickyNote", "position": [-1580, -760], "parameters": {"width": 1080, "height": 1420, "content": "# \ud83d\udcca CoinMarketCap DEXScan AI Agent Tool (n8n Workflow)\n\n## \ud83e\udde0 Multi-Agent System: DEXScan Agent\nThis workflow powers **DEX intelligence capabilities** in the CoinMarketCap AI Analyst ecosystem. It enables deep insights into **liquidity**, **volume**, **spot pairs**, and **trading activity** across decentralized exchanges.\n\n---\n\n### \ud83d\udd27 Connected DEX Tools:\n1. **DEX Metadata** \u2013 `/v4/dex/listings/info`\n2. **DEX Networks List** \u2013 `/v4/dex/networks/list`\n3. **DEX Listings Quotes** \u2013 `/v4/dex/listings/quotes`\n4. **DEX Pair Quotes Latest** \u2013 `/v4/dex/pairs/quotes/latest`\n5. **DEX OHLCV Historical** \u2013 `/v4/dex/pairs/ohlcv/historical`\n6. **DEX OHLCV Latest** \u2013 `/v4/dex/pairs/ohlcv/latest`\n7. **DEX Trades Latest** \u2013 `/v4/dex/pairs/trade/latest`\n8. **DEX Spot Pairs Latest** \u2013 `/v4/dex/spot-pairs/latest`\n\n---\n\n## \u2705 Key Capabilities:\n- View real-time DEX liquidity and 24h trading volume\n- Retrieve metadata (logos, URLs, launch info) for decentralized exchanges\n- Track market pair quotes, liquidity, and spot pair data\n- Monitor historical OHLCV data for technical analysis\n- Identify recent trades and pair-specific activity\n\n---\n\n## \ud83e\udde0 Agent Structure\n### **1\ufe0f\u20e3 DEXScan Brain**\n- **Type**: GPT-4o Mini\n- **Function**: Understands queries, routes tools, summarizes results\n\n### **2\ufe0f\u20e3 Session Memory**\n- Maintains contextual state via memory buffer\n\n### **3\ufe0f\u20e3 Tool Triggers**\n- **HTTP Tools:** Each CMC endpoint is mapped to one of 8 tool nodes with rich parameter control\n\n---\n\n## \u26a0\ufe0f Notes:\n- Use **`contract_address`**, **`network_slug`**, or **`network_id`** in nearly all endpoints\n- Avoid using both `convert` and `convert_id` in the same query\n- Be cautious of high-volume requests which may exceed token limits (e.g., when requesting OHLCV for many intervals)\n\n---\n\n\ud83d\udcce API responses are designed for fine-tuned filtering. You can retrieve:\n- Top trading pairs on Polygon\n- Volume-based DEX rankings\n- Historical trade data for a Uniswap pair\n- Real-time liquidity on Solana spot pairs"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "af395be6-3683-478e-bffd-087ffa8dc8c9", "name": "DEX Usage + Examples", "type": "n8n-nodes-base.stickyNote", "position": [-100, -760], "parameters": {"color": 5, "width": 960, "height": 1000, "content": "## \ud83d\udccc How to Use the Workflow\n\n### \u2705 Step 1: Provide Inputs\nUse `contract_address`, `network_slug`, `dex_slug`, or `convert_id` as needed\n\n### \u2705 Step 2: Trigger From Supervisor Agent\nParent agent forwards user message and sessionId to DEXScan\n\n### \u2705 Step 3: DEX Data is Returned\nData can be streamed to Telegram, dashboards, or HTTP response\n\n---\n\n## \ud83d\udd0d Example API Calls\n\n### 1\ufe0f\u20e3 Get Top DEXs by 24h Volume\n```plaintext\nGET /v4/dex/listings/quotes?sort=volume_24h&limit=5\n```\n\n### 2\ufe0f\u20e3 Query Historical OHLCV for SOL-USDT\n```plaintext\nGET /v4/dex/pairs/ohlcv/historical?network=solana&pair=SOL-USDT&interval=1d\n```\n\n### 3\ufe0f\u20e3 Latest Trades on a Uniswap Pair\n```plaintext\nGET /v4/dex/pairs/trade/latest?contract_address=0x...&network_slug=ethereum\n```\n\n### 4\ufe0f\u20e3 Spot Pairs on Polygon\n```plaintext\nGET /v4/dex/spot-pairs/latest?network_slug=polygon&sort=volume_24h\n```\n\n### 5\ufe0f\u20e3 DEX Metadata for PancakeSwap\n```plaintext\nGET /v4/dex/listings/info?id=123&aux=logo,description,date_launched\n```"}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}, {"id": "0fcffddb-d343-4739-917a-878925673295", "name": "DEX Errors + IP Notice", "type": "n8n-nodes-base.stickyNote", "position": [1220, -760], "parameters": {"color": 3, "width": 740, "height": 600, "content": "## \u26a0\ufe0f DEXScan Error Codes & Fixes\n\n| Code | Message |\n|------|---------|\n| `200` | Success |\n| `400` | Bad Request \u2013 missing/invalid query |\n| `401` | Unauthorized \u2013 invalid API key |\n| `429` | Rate limit exceeded |\n| `500` | Server error |\n\n### \ud83d\udd0d Fixes:\n- Always use at least 1 required param: `contract_address`, `network_slug`, etc.\n- Double-check slugs and convert ID formats\n- Don\u2019t mix `convert` and `convert_id`\n- Avoid oversized `aux` and `interval` combinations\n\n---\n\n## \ud83d\ude80 Support & Licensing\n\n\ud83d\udd17 **Don Jayamaha \u2013 LinkedIn**  \n[{{ $env.WEBHOOK_URL }}]({{ $env.WEBHOOK_URL }}\n\n\u00a9 2025 Treasurium Capital Limited Company. All rights reserved.\nThis AI workflow architecture, including logic, design, and prompt structures, is the intellectual property of Treasurium Capital Limited Company. Unauthorized reproduction, redistribution, or resale is prohibited under U.S. copyright law. Licensed use only."}, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow."}], "active": false, "pinData": {}, "settings": {"executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000}, "versionId": "2507ec1c-d0e3-45ef-aca6-f16c81f9cf17", "connections": {"49bb58dc-d68b-4091-86f1-12e1071b1fbc": {"main": [[{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc", "type": "main", "index": 0}], [{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc-5bf6d926", "type": "main", "index": 0}], [{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc-316f71dc", "type": "main", "index": 0}], [{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc-f7d7a8dc", "type": "main", "index": 0}], [{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc-9d8af590", "type": "main", "index": 0}], [{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc-ee4b9c09", "type": "main", "index": 0}], [{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc-dab60251", "type": "main", "index": 0}], [{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc-91912fd7", "type": "main", "index": 0}], [{"node": "error-handler-49bb58dc-d68b-4091-86f1-12e1071b1fbc-4d39e5ec", "type": "main", "index": 0}]]}, "f87838f8-0840-4a78-9d4b-96c79a137d48": {"main": [[{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48", "type": "main", "index": 0}], [{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48-3091833d", "type": "main", "index": 0}], [{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48-170ed701", "type": "main", "index": 0}], [{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48-f808f2bc", "type": "main", "index": 0}], [{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48-949c9a6b", "type": "main", "index": 0}], [{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48-62847759", "type": "main", "index": 0}], [{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48-5c3b5aaf", "type": "main", "index": 0}], [{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48-384e27c6", "type": "main", "index": 0}], [{"node": "error-handler-f87838f8-0840-4a78-9d4b-96c79a137d48-97a8cbd4", "type": "main", "index": 0}]]}, "3f356c20-4efc-479b-b0fa-ab346c7340d8": {"main": [[{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8", "type": "main", "index": 0}], [{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8-733ed6f3", "type": "main", "index": 0}], [{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8-37a095bf", "type": "main", "index": 0}], [{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8-42c245fa", "type": "main", "index": 0}], [{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8-bd4653d0", "type": "main", "index": 0}], [{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8-9b63dc05", "type": "main", "index": 0}], [{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8-2d0de5b0", "type": "main", "index": 0}], [{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8-fa844ef3", "type": "main", "index": 0}], [{"node": "error-handler-3f356c20-4efc-479b-b0fa-ab346c7340d8-9ab0f6e8", "type": "main", "index": 0}]]}, "3fceb769-621f-4e7f-9351-4052d72b3346": {"main": [[{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346", "type": "main", "index": 0}], [{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346-f0ac5e57", "type": "main", "index": 0}], [{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346-05689b9c", "type": "main", "index": 0}], [{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346-20ebbf66", "type": "main", "index": 0}], [{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346-800dc362", "type": "main", "index": 0}], [{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346-741817b2", "type": "main", "index": 0}], [{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346-5f8e4463", "type": "main", "index": 0}], [{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346-491097f2", "type": "main", "index": 0}], [{"node": "error-handler-3fceb769-621f-4e7f-9351-4052d72b3346-311b273f", "type": "main", "index": 0}]]}, "134d7fc5-15cf-4897-92bb-97b18a121e41": {"main": [[{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41", "type": "main", "index": 0}], [{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41-08830618", "type": "main", "index": 0}], [{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41-69122209", "type": "main", "index": 0}], [{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41-244bb02b", "type": "main", "index": 0}], [{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41-c21fc55a", "type": "main", "index": 0}], [{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41-f5897d79", "type": "main", "index": 0}], [{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41-f6782e8d", "type": "main", "index": 0}], [{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41-62b4f265", "type": "main", "index": 0}], [{"node": "error-handler-134d7fc5-15cf-4897-92bb-97b18a121e41-d7c21f2a", "type": "main", "index": 0}]]}, "bee1d41a-af4c-442d-b0c6-7be0e17c31a5": {"main": [[{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5", "type": "main", "index": 0}], [{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5-96bda289", "type": "main", "index": 0}], [{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5-7c475491", "type": "main", "index": 0}], [{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5-96055dc8", "type": "main", "index": 0}], [{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5-fa316498", "type": "main", "index": 0}], [{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5-10ff686c", "type": "main", "index": 0}], [{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5-f07744cc", "type": "main", "index": 0}], [{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5-8ed0ad2e", "type": "main", "index": 0}], [{"node": "error-handler-bee1d41a-af4c-442d-b0c6-7be0e17c31a5-c5ff6ac8", "type": "main", "index": 0}]]}, "742a6f07-d85d-4b6c-9ba6-90940e2b365c": {"main": [[{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c", "type": "main", "index": 0}], [{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c-1ff397bd", "type": "main", "index": 0}], [{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c-426c540a", "type": "main", "index": 0}], [{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c-09eed8c7", "type": "main", "index": 0}], [{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c-0997585d", "type": "main", "index": 0}], [{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c-6f074f04", "type": "main", "index": 0}], [{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c-f0027bdb", "type": "main", "index": 0}], [{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c-20b06ca0", "type": "main", "index": 0}], [{"node": "error-handler-742a6f07-d85d-4b6c-9ba6-90940e2b365c-6fd7e18b", "type": "main", "index": 0}]]}, "3ddf229c-16b2-4610-982e-d5e3c07b0cb0": {"main": [[{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0", "type": "main", "index": 0}], [{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0-aa8714bd", "type": "main", "index": 0}], [{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0-c600bb05", "type": "main", "index": 0}], [{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0-ddcbf8b1", "type": "main", "index": 0}], [{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0-105ef239", "type": "main", "index": 0}], [{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0-fde64eb2", "type": "main", "index": 0}], [{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0-571ad0da", "type": "main", "index": 0}], [{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0-b42d202b", "type": "main", "index": 0}], [{"node": "error-handler-3ddf229c-16b2-4610-982e-d5e3c07b0cb0-97d41dba", "type": "main", "index": 0}]]}, "3101c7f4-cf73-4150-8a17-e11366c07c80": {"main": [[{"node": "error-handler-3101c7f4-cf73-4150-8a17-e11366c07c80-13e23201", "type": "main", "index": 0}]]}}, "description": "Automated workflow: CoinMarketCap_DEXScan_Agent_Tool. This workflow integrates 7 different services: stickyNote, toolHttpRequest, agent, stopAndError, lmChatOpenAi. It contains 32 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: CoinMarketCap_DEXScan_Agent_Tool. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}