{
  "last_updated": "2026-05-10T08:06:15.130870+00:00",
  "commit_sha": "d04e5b087a9f67a689186b9c6b16063f53e5eeca",
  "agents": {
    "AIXBTProjectInfoAgent": {
      "metadata": {
        "name": "AIXBT Project Info Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can retrieve trending project information including fundamental analysis, social activity, and recent developments using the aixbt API",
        "external_apis": [
          "aixbt"
        ],
        "tags": [
          "Project Analysis"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Aixbt.png",
        "examples": [
          "Tell me about Heurist",
          "What are the latest developments for Ethereum?",
          "Trending projects in the crypto space",
          "What's happening in the crypto market today?"
        ],
        "credits": {
          "default": 0.1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.001"
        }
      },
      "module": "aixbt_project_info_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "search_projects",
            "description": "Search for cryptocurrency projects with comprehensive details including fundamental analysis, market performance, social activity, and recent developments. Returns detailed insights on project names, descriptions, token contracts across multiple chains, Twitter handles, ticker symbols, CoinGecko IDs, and chronological signals/updates of notable project events. Perfect for discovering trending projects, researching specific tokens by name/ticker/Twitter handle, or filtering projects by blockchain network and popularity scores.",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "integer",
                  "description": "Number of projects to return (max 50).",
                  "default": 10
                },
                "name": {
                  "type": "string",
                  "description": "Filter projects by name (case-insensitive regex match). Effective for finding specific projects or related projects sharing similar naming conventions."
                },
                "ticker": {
                  "type": "string",
                  "description": "Filter projects by ticker symbol (case-insensitive match). Useful when you know the exact trading symbol of a token."
                },
                "xHandle": {
                  "type": "string",
                  "description": "Filter projects by X/Twitter handle. Ideal for finding projects from their social media identities, with or without the @ symbol."
                },
                "minScore": {
                  "type": "number",
                  "description": "Minimum score threshold for filtering projects based on social trends and market activity. Use 0 if a project name/ticker/handle is specified. For trending projects, use 0.1-0.3. For the most popular projects only, use 0.4-0.5. Higher scores indicate more significant current market attention."
                },
                "chain": {
                  "type": "string",
                  "description": "Filter projects by blockchain (e.g., 'ethereum', 'solana', 'base'). Returns projects with tokens deployed on the specified chain, useful for ecosystem-specific research."
                }
              },
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_market_summary",
            "description": "Get a summary of recent market-wide news including macroeconomics, major crypto tokens important updates of trending crypto projects. This tool returns 10~15 bite-sized news about various topics like market trends, opportunities and catalysts. Useful for knowing what's going on in crypto.",
            "parameters": {
              "type": "object",
              "properties": {
                "lookback_days": {
                  "type": "integer",
                  "description": "Number of days of market summaries to retrieve (1-3 days).",
                  "default": 1,
                  "minimum": 1,
                  "maximum": 3
                }
              },
              "required": []
            }
          }
        }
      ]
    },
    "AaveAgent": {
      "metadata": {
        "name": "Aave Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can report the status of Aave v3 protocols deployed on Ethereum, Polygon, Avalanche, and Arbitrum with details on liquidity, borrowing rates, and more",
        "external_apis": [
          "Aave"
        ],
        "tags": [
          "DeFi"
        ],
        "hidden": false,
        "verified": false,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Aave.png",
        "examples": [
          "What is the current borrow rate for USDC on Polygon?",
          "Show me all assets on Ethereum with their lending and borrowing rates",
          "Available liquidity for ETH on Arbitrum"
        ]
      },
      "module": "aave_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_aave_reserves",
            "description": "Get Aave v3 reserve data including liquidity, rates, and asset information",
            "parameters": {
              "type": "object",
              "properties": {
                "chain_id": {
                  "type": "number",
                  "description": "Blockchain network ID (137=Polygon, 1=Ethereum, 43114=Avalanche C-Chain, 42161=Arbitrum One.)",
                  "enum": [
                    1,
                    137,
                    43114,
                    42161
                  ]
                },
                "block_identifier": {
                  "type": "string",
                  "description": "Optional block number or hash for historical data"
                },
                "asset_filter": {
                  "type": "string",
                  "description": "Optional filter to get data for a specific asset symbol (e.g., 'USDC')"
                }
              },
              "required": [
                "chain_id"
              ]
            }
          }
        }
      ]
    },
    "AskHeuristAgent": {
      "metadata": {
        "name": "Ask Heurist Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Crypto Q&A and research agent for traders. Ask questions about token analysis, market trends, trading strategies, macro news, and get in-depth analysis. Website: https://ask.heurist.ai",
        "external_apis": [
          "Ask Heurist"
        ],
        "tags": [
          "Research",
          "Trading"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/AskHeurist.png",
        "examples": [
          "What is the current price of Bitcoin?",
          "Give me a market digest for today",
          "What are the latest crypto news?",
          "Should I buy ETH right now? (deep mode)"
        ],
        "credits": {
          "default": 10,
          "ask_heurist": 10,
          "check_job_status": 0.1
        },
        "x402_config": {
          "enabled": true,
          "tool_prices": {
            "ask_heurist": "0.1",
            "check_job_status": "0.001"
          }
        },
        "erc8004": {
          "enabled": true,
          "wallet_chain_id": 1,
          "registrations": [
            {
              "agentId": 15681,
              "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
            }
          ],
          "supportedTrust": [
            "reputation"
          ],
          "active": true,
          "registrationUrl": "https://mesh-data.heurist.xyz/erc8004/AskHeuristAgent.json"
        }
      },
      "module": "ask_heurist_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "ask_heurist",
            "description": "Submit a crypto question to Ask Heurist. Returns a job_id immediately. Use check_job_status after the recommended wait time to retrieve the result.",
            "parameters": {
              "type": "object",
              "properties": {
                "prompt": {
                  "type": "string",
                  "description": "The crypto question or research query to ask."
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "normal",
                    "deep"
                  ],
                  "default": "normal",
                  "description": "Query mode: 'normal' for quick answers (prices, news), 'deep' for complex analysis."
                }
              },
              "required": [
                "prompt"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "check_job_status",
            "description": "Check the status of an Ask Heurist job by its ID. Returns the result if completed, or next_step instructions if still pending.",
            "parameters": {
              "type": "object",
              "properties": {
                "job_id": {
                  "type": "string",
                  "description": "The job ID returned by ask_heurist."
                }
              },
              "required": [
                "job_id"
              ]
            }
          }
        }
      ]
    },
    "BaseUSDCForensicsAgent": {
      "metadata": {
        "name": "Base USDC Forensics Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Reveal USDC transaction patterns for any addresses on Base. This agent is your dedicated onchain USDC investigator for the Base network, combining BigQuery data access with a curated set of forensic tools.",
        "external_apis": [
          "Google BigQuery"
        ],
        "tags": [
          "Blockchain",
          "Base"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Base.png",
        "examples": [
          "Show me the USDC profile for 0x7d9d1821d15b9e0b8ab98a058361233e255e405d",
          "Who are the top USDC funders for this address?",
          "Where does this wallet send its USDC?",
          "Show daily USDC activity for this address"
        ],
        "credits": {
          "default": 0.5
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.005"
        }
      },
      "module": "base_usdc_forensics_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "usdc_basic_profile",
            "description": "Get a wallet's USDC activity summary on Base: first/last seen timestamps, total transfer count, aggregate USDC in/out and net flow. Use this for a quick financial snapshot before drilling into details.",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Wallet address starting with 0x"
                }
              },
              "required": [
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "usdc_top_funders",
            "description": "Identify the top source wallets that send USDC to the target address, including counts, total volume, and time range. Use to detect concentrated funding patterns and surface potential hub/controller wallets.",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Wallet address starting with 0x"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of funders to return (default 50)",
                  "default": 50
                }
              },
              "required": [
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "usdc_top_sinks",
            "description": "Find the main destinations where the target wallet sends USDC, showing transfer counts and volumes per counterparty. Use to understand fund flow destinations and reveal payout hubs.",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Wallet address starting with 0x"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of sinks to return (default 50)",
                  "default": 50
                }
              },
              "required": [
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "usdc_net_counterparties",
            "description": "Compute per-counterparty net flow metrics showing whether the wallet is a net payer or receiver for each connected address. Use to rank counterparties by economic importance and spot asymmetric relationships.",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Wallet address starting with 0x"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of counterparties to return (default 100)",
                  "default": 100
                }
              },
              "required": [
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "usdc_daily_activity",
            "description": "Aggregate a wallet's USDC activity by calendar day, returning daily transaction counts and total volume received/sent. Use to spot active vs quiet periods and unusual volume spikes.",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Wallet address starting with 0x"
                }
              },
              "required": [
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "usdc_hourly_pair_activity",
            "description": "Report hourly USDC transfer activity between two specific addresses, showing volume in each direction (A\u2192B and B\u2192A) per hour. Use to analyze flow intensity between suspected related wallets.",
            "parameters": {
              "type": "object",
              "properties": {
                "address_a": {
                  "type": "string",
                  "description": "First wallet address starting with 0x"
                },
                "address_b": {
                  "type": "string",
                  "description": "Second wallet address starting with 0x"
                }
              },
              "required": [
                "address_a",
                "address_b"
              ]
            }
          }
        }
      ]
    },
    "BitquerySolanaTokenInfoAgent": {
      "metadata": {
        "name": "Solana Token Info Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent provides comprehensive analysis of Solana tokens using Bitquery API. It can analyze token metrics (volume, price, liquidity), track holders and buyers, monitor trading activity, and identify trending tokens. The agent supports both specific token analysis and market-wide trend discovery.",
        "external_apis": [
          "Bitquery"
        ],
        "tags": [
          "Solana"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Solana.png",
        "examples": [
          "Analyze trending tokens on Solana",
          "Get token info for HeLp6NuQkmYB4pYWo2zYs22mESHXPQYzXbB8n4V98jwC",
          "Show top 10 most active tokens on Solana network",
          "Get top buyers for token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "Show token holders for HeLp6NuQkmYB4pYWo2zYs22mESHXPQYzXbB8n4V98jwC"
        ]
      },
      "module": "bitquery_solana_token_info_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "query_token_metrics",
            "description": "Get detailed token trading metrics using Solana mint address. This tool fetches trading data including volume, price movements, and liquidity for any Solana token. Use this when you need to analyze a specific Solana token's performance.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The Solana token mint address"
                },
                "quote_token": {
                  "type": "string",
                  "description": "Quote token to use ('usdc', 'sol', 'virtual', 'native_sol', or the token address)",
                  "default": "sol"
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_token_holders",
            "description": "Fetch top token holders data and distribution for any Solana token. This tool provides detailed information about token holders including their balances and percentage of total supply. Use this when you need to analyze the distribution of token ownership.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "Token mint address on Solana"
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_token_buyers",
            "description": "Fetch first buyers of a Solana token since its launch. This tool is useful to identify the early buyers who are likely insiders or smart money.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "Token mint address on Solana"
                },
                "limit": {
                  "type": "number",
                  "description": "Number of buyers to fetch",
                  "default": 10
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_top_traders",
            "description": "Fetch top traders (based on volume) for a Solana token. The top traders might include the whales actively trading the token, and arbitrage bots.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "Token mint address on Solana"
                },
                "limit": {
                  "type": "number",
                  "description": "Number of traders to fetch",
                  "default": 10
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_holder_status",
            "description": "Check if a list of token buyers are still holding, sold, or bought more for a specific Solana token. Use this tool to analyze the behavior of token buyers",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "Token mint address on Solana"
                },
                "buyer_addresses": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of buyer wallet addresses to check"
                }
              },
              "required": [
                "token_address",
                "buyer_addresses"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_top_trending_tokens",
            "description": "Get the current top trending tokens on Solana. This tool retrieves a list of the most popular and actively traded tokens on Solana. It provides key metrics for each trending token including price, volume, and recent price changes. Use this when you want to discover which tokens are currently gaining attention in the Solana ecosystem.",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "number",
                  "minimum": 1,
                  "default": 10,
                  "description": "Number of trending tokens to return (default 10)"
                }
              }
            }
          }
        }
      ]
    },
    "CaesarResearchAgent": {
      "metadata": {
        "name": "Caesar Research Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Advanced research agent using Caesar AI to find and analyze academic papers, articles, and authoritative sources.",
        "external_apis": [
          "Caesar"
        ],
        "tags": [
          "Research",
          "Academic"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Caesar.png",
        "examples": [
          "What is Heurist Mesh?",
          "What is x402-vending machine by Heurist Mesh?",
          "How does Heurist decentralized AI infrastructure work?",
          "Latest developments in AI safety research"
        ],
        "credits": {
          "default": 10,
          "caesar_research": 10,
          "get_research_result": 0.1
        },
        "x402_config": {
          "enabled": true,
          "tool_prices": {
            "caesar_research": "0.1",
            "get_research_result": "0.001"
          }
        },
        "erc8004": {
          "enabled": true,
          "wallet_chain_id": 1,
          "registrations": [
            {
              "agentId": 10303,
              "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
            }
          ],
          "supportedTrust": [
            "reputation"
          ],
          "active": true,
          "registrationUrl": "https://mesh-data.heurist.xyz/erc8004/CaesarResearchAgent.json"
        }
      },
      "module": "caesar_research_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "caesar_research",
            "description": "Submit a research query to perform in-depth research on a topic using Caesar AI. Returns a research ID immediately. Use get_research_result with the returned ID to retrieve result when ready.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "The research question or topic to investigate. Be specific and clear."
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_research_result",
            "description": "Retrieve the results of a Caesar research query by its research ID. Returns the research status and result if completed. Status can be 'queued', 'researching', 'completed', or 'failed'.",
            "parameters": {
              "type": "object",
              "properties": {
                "research_id": {
                  "type": "string",
                  "description": "The research ID returned by caesar_research tool."
                }
              },
              "required": [
                "research_id"
              ]
            }
          }
        }
      ]
    },
    "ChainbaseAddressLabelAgent": {
      "metadata": {
        "name": "Chainbase Address Label Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Get all available labels for an ETH or Base address. Labels include owner identity, smart contract name, wallet behavior patterns and other properties. Also resolves ENS and Base names.",
        "external_apis": [
          "Chainbase"
        ],
        "tags": [
          "Blockchain",
          "Wallet"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Chainbase.png",
        "examples": [
          "Get labels for address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "What is the owner of 0x2211d1D0020DAEA8039E46Cf1367962070d77DA9?",
          "Get information about vitalik.eth address"
        ],
        "credits": {
          "default": 0.5
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.005"
        },
        "erc8004": {
          "enabled": true,
          "wallet_chain_id": 1,
          "registrations": [
            {
              "agentId": 10300,
              "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
            }
          ],
          "supportedTrust": [
            "reputation"
          ],
          "active": true,
          "registrationUrl": "https://mesh-data.heurist.xyz/erc8004/ChainbaseAddressLabelAgent.json"
        }
      },
      "module": "chainbase_address_label_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_address_labels",
            "description": "Get all available labels for an ETH or Base 0x address. Labels may describe owner identity, smart contract name, wallet behavior patterns and other properties. Also resolves ENS and Base names if available.",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "The 0x address to get labels for (e.g., 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045)"
                }
              },
              "required": [
                "address"
              ]
            }
          }
        }
      ]
    },
    "CoinGeckoTokenInfoAgent": {
      "metadata": {
        "name": "CoinGecko Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can fetch token information, market data, trending coins, and category data from CoinGecko.",
        "external_apis": [
          "Coingecko"
        ],
        "tags": [
          "Trading"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Coingecko.png",
        "examples": [
          "Top 5 crypto by market cap",
          "24-hr price change of ETH",
          "Get information about HEU",
          "Analyze AI16Z token",
          "List crypto categories",
          "Compare DeFi tokens",
          "Get trending on-chain pools",
          "Get top token holders for a token",
          "Get historical token holders chart",
          "Get recent trades for a token"
        ]
      },
      "module": "coingecko_token_info_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_token_info",
            "description": "Get detailed token information and market data using CoinGecko ID. This tool provides comprehensive cryptocurrency data including current price, market cap, trading volume, price changes, and more.",
            "parameters": {
              "type": "object",
              "properties": {
                "coingecko_id": {
                  "type": "string",
                  "description": "The CoinGecko ID of the token (preferred), or symbol/name as fallback"
                }
              },
              "required": [
                "coingecko_id"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_trending_coins",
            "description": "Get today's trending cryptocurrencies based on trading activities. This tool retrieves a list of crypto assets including basic market data.",
            "parameters": {
              "type": "object",
              "properties": {},
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_token_price_multi",
            "description": "Fetch price data for multiple tokens. Returns current price, market cap, 24hr volume, 24hr change %",
            "parameters": {
              "type": "object",
              "properties": {
                "ids": {
                  "type": "string",
                  "description": "Comma-separated CoinGecko IDs of the tokens to query"
                }
              },
              "required": [
                "ids"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_categories_list",
            "description": "Get a list of all available cryptocurrency categories from CoinGecko, like layer-1, layer-2, defi, etc. This tool retrieves all the category IDs and names that can be used for further category-specific queries.",
            "parameters": {
              "type": "object",
              "properties": {},
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_category_data",
            "description": "Get market data for all cryptocurrency categories from CoinGecko. This tool retrieves comprehensive information about all categories including market cap, volume, market cap change, top coins in each category, and more.",
            "parameters": {
              "type": "object",
              "properties": {
                "order": {
                  "type": "string",
                  "description": "Sort order for categories",
                  "enum": [
                    "market_cap_desc",
                    "market_cap_change_24h_desc"
                  ],
                  "default": "market_cap_change_24h_desc"
                },
                "limit": {
                  "type": "integer",
                  "description": "Number of categories to return",
                  "default": 5,
                  "minimum": 3,
                  "maximum": 20
                }
              },
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_tokens_by_category",
            "description": "Get USD price data for tokens within a specific category. Returns price, market cap, volume, and price changes.",
            "parameters": {
              "type": "object",
              "properties": {
                "category_id": {
                  "type": "string",
                  "description": "The CoinGecko category ID (e.g., 'layer-1')"
                },
                "order": {
                  "type": "string",
                  "description": "Sort order for tokens",
                  "enum": [
                    "market_cap_desc",
                    "volume_desc"
                  ],
                  "default": "market_cap_desc"
                },
                "per_page": {
                  "type": "integer",
                  "description": "Number of results per page",
                  "default": 100,
                  "minimum": 10,
                  "maximum": 250
                },
                "page": {
                  "type": "integer",
                  "description": "Page number",
                  "default": 1,
                  "minimum": 1
                }
              },
              "required": [
                "category_id"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_trending_pools",
            "description": "Get top 10 trending onchain pools with token data from CoinGecko.",
            "parameters": {
              "type": "object",
              "properties": {
                "include": {
                  "type": "string",
                  "description": "Single attribute to include: base_token, quote_token, dex, or network",
                  "enum": [
                    "base_token",
                    "quote_token",
                    "dex",
                    "network"
                  ],
                  "default": "base_token"
                },
                "pools": {
                  "type": "integer",
                  "description": "Number of pools to return (1-10)",
                  "default": 4,
                  "minimum": 1,
                  "maximum": 10
                }
              },
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_top_token_holders",
            "description": "Get top token holder addresses for a token on a specific network. Max 40 holders.",
            "parameters": {
              "type": "object",
              "properties": {
                "network": {
                  "type": "string",
                  "description": "Network ID (e.g., base, bsc, solana, eth)"
                },
                "address": {
                  "type": "string",
                  "description": "Token contract address"
                },
                "holders": {
                  "type": "integer",
                  "description": "Number of top holders to return.",
                  "default": 10,
                  "minimum": 5,
                  "maximum": 40
                }
              },
              "required": [
                "network",
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_historical_holders",
            "description": "Get historical token holders with daily aggregated data and trend analysis.",
            "parameters": {
              "type": "object",
              "properties": {
                "network": {
                  "type": "string",
                  "description": "Network ID (e.g., eth, base, solana, polygon)"
                },
                "address": {
                  "type": "string",
                  "description": "Token contract address"
                },
                "days": {
                  "type": "string",
                  "description": "Time period: 7 days or 30 days.",
                  "enum": [
                    "7",
                    "30"
                  ],
                  "default": "7"
                }
              },
              "required": [
                "network",
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_recent_large_trades",
            "description": "Get recent large trades on DEX for a specific token. Filters by minimum USD volume.",
            "parameters": {
              "type": "object",
              "properties": {
                "network": {
                  "type": "string",
                  "description": "Network ID (e.g., eth, base, solana, bsc)"
                },
                "address": {
                  "type": "string",
                  "description": "Token contract address"
                },
                "min_amount": {
                  "type": "number",
                  "description": "Minimum trade volume in USD to include",
                  "default": 3000
                }
              },
              "required": [
                "network",
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_token_holders_traders",
            "description": "Get token holder and trader data combining: 1) Top holders - ranked wallet addresses with ownership percentages 2) Daily holder trend 3) Large trades in past 24 hours showing buy/sell whale activity. If you know that the token is deployed on multiple chains, you must make multiple calls to this tool in parallel to fetch data for every chain and address.",
            "parameters": {
              "type": "object",
              "properties": {
                "network": {
                  "type": "string",
                  "description": "Network ID (e.g., eth, base, solana, bsc, polygon)"
                },
                "address": {
                  "type": "string",
                  "description": "Token contract address"
                },
                "days": {
                  "type": "string",
                  "description": "Historical holder data period: 7 or 30 days",
                  "enum": [
                    "7",
                    "30"
                  ],
                  "default": "7"
                },
                "min_trade_amount": {
                  "type": "number",
                  "description": "Minimum trade volume in USD for recent trades",
                  "default": 3000
                }
              },
              "required": [
                "network",
                "address"
              ]
            }
          }
        }
      ]
    },
    "DefiLlamaAgent": {
      "metadata": {
        "name": "DefiLlama Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Provides DeFi protocol, chain, and yield metrics including TVL, fees, volume, and yield trend analysis from DefiLlama.",
        "external_apis": [
          "DefiLlama"
        ],
        "tags": [
          "DeFi",
          "Analytics"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/DefiLlama.png",
        "examples": [
          "What is the TVL of Aave?",
          "Get metrics for Uniswap V3",
          "How much fees does Ethereum generate?",
          "What are the top protocols on Solana by fees?",
          "Get chain metrics for Base"
        ],
        "credits": {
          "default": 0.3,
          "get_protocol_metrics": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.003"
        }
      },
      "module": "defillama_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_protocol_metrics",
            "description": "Get metrics for a DeFi protocol including TVL, fees, volume (for DEXes), revenue, deployed chains, and growth trend. Use this tool when you want to analyze a DeFi project. You must input the defillama slug obtained from project knowledge base.",
            "parameters": {
              "type": "object",
              "properties": {
                "protocol": {
                  "type": "string",
                  "description": "Protocol slug (e.g., 'aave-v3', 'curve-dex')"
                }
              },
              "required": [
                "protocol"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_chain_metrics",
            "description": "Get metrics for a blockchain including TVL, fees, top protocols by fees, and growth trends.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Chain name (e.g., 'Solana', 'Base')"
                }
              },
              "required": [
                "chain"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "search_yield_pools",
            "description": "Search DefiLlama yield pools with optional filters for projects, chains, symbols, and stablecoin flag. Returns compact results with APY and TVL trend metrics. List filters (projects/chains/symbols) use OR matching, while different filter types are combined with AND.",
            "parameters": {
              "type": "object",
              "properties": {
                "projects": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional project slugs (e.g., ['aave-v3', 'curve-dex'])"
                },
                "chains": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional chain names (e.g., ['Ethereum', 'Arbitrum'])"
                },
                "symbols": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional token symbols (e.g., ['USDC', 'USDT'])"
                },
                "stablecoin": {
                  "type": "boolean",
                  "description": "Optional stablecoin-only filter"
                },
                "sort_by": {
                  "type": "string",
                  "description": "Sort field: APY or TVL",
                  "enum": [
                    "apy",
                    "tvl"
                  ],
                  "default": "apy"
                },
                "limit": {
                  "type": "integer",
                  "description": "Number of pools to return (1-50)",
                  "default": 10,
                  "minimum": 1,
                  "maximum": 50
                }
              },
              "required": []
            }
          }
        }
      ]
    },
    "DexScreenerTokenInfoAgent": {
      "metadata": {
        "name": "DexScreener Agent",
        "version": "1.0.0",
        "author": "Scattering team",
        "author_address": "0xa7DeBb68F2684074Ec4354B68E36C34AF363Fd57",
        "description": "This agent fetches real-time DEX trading data and token information across multiple chains using DexScreener API",
        "external_apis": [
          "DexScreener"
        ],
        "tags": [
          "Trading"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Dexscreener.png",
        "examples": [
          "Show me information about UNI on Uniswap",
          "Recent price movement for HEU",
          "Recent trading activity for TRUMP token on Solana?",
          "Analyze JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN on Solana"
        ]
      },
      "module": "dexscreener_token_info_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "search_pairs",
            "description": "Search for trading pairs on decentralized exchanges by token name, symbol, or address. This tool helps you find specific trading pairs across multiple DEXs and blockchains. It returns information about the pairs including price, volume, liquidity, and the exchanges where they're available. Data comes from DexScreener and covers major DEXs on most blockchains. The search results may be incomplete if the token is not traded on any of the supported chains.",
            "parameters": {
              "type": "object",
              "properties": {
                "search_term": {
                  "type": "string",
                  "description": "Search term (token name, symbol, or address)"
                }
              },
              "required": [
                "search_term"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_specific_pair_info",
            "description": "Get detailed information about a specific trading pair on a decentralized exchange by chain and pair address. This tool provides comprehensive data about a DEX trading pair including current price, 24h volume, liquidity, price changes, and trading history. Data comes from DexScreener and is updated in real-time. You must specify both the blockchain and the exact pair contract address. The pair address is the LP contract address, not the quote token address.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Chain identifier (e.g., solana, bsc, ethereum, base)"
                },
                "pair_address": {
                  "type": "string",
                  "description": "The pair contract address to look up"
                }
              },
              "required": [
                "chain",
                "pair_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_token_pairs",
            "description": "Get all trading pairs for a specific token across decentralized exchanges by chain and token address. This tool retrieves a comprehensive list of all DEX pairs where the specified token is traded on a particular blockchain. It provides data on each pair including the paired token, exchange, price, volume, and liquidity. Data comes from DexScreener and is updated in real-time. You must specify both the blockchain and the exact token contract address.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Chain identifier (e.g., solana, bsc, ethereum, base)"
                },
                "token_address": {
                  "type": "string",
                  "description": "The token contract address to look up all pairs for"
                }
              },
              "required": [
                "chain",
                "token_address"
              ]
            }
          }
        }
      ]
    },
    "DuckDuckGoSearchAgent": {
      "metadata": {
        "name": "DuckDuckGo Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can fetch and analyze web search results using DuckDuckGo API and provide intelligent summaries.",
        "external_apis": [
          "DuckDuckGo"
        ],
        "tags": [
          "Search"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/DuckDuckGo.png",
        "examples": [
          "What happens if you put a mirror in front of a black hole?",
          "Could octopuses be considered alien life forms?",
          "Why don't birds get electrocuted when sitting on power lines?",
          "How do fireflies produce light?"
        ]
      },
      "module": "duckduckgo_search_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "search_web",
            "description": "Search the web using DuckDuckGo Search API",
            "parameters": {
              "type": "object",
              "properties": {
                "search_term": {
                  "type": "string",
                  "description": "The search term to look up"
                },
                "max_results": {
                  "type": "number",
                  "description": "Maximum number of results to return (default: 5)",
                  "minimum": 1,
                  "maximum": 10
                }
              },
              "required": [
                "search_term"
              ]
            }
          }
        }
      ]
    },
    "ElfaTwitterIntelligenceAgent": {
      "metadata": {
        "name": "Elfa Twitter Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent analyzes a token or a topic or a Twitter account using Twitter data and Elfa API. It highlights smart influencers.",
        "external_apis": [
          "Elfa",
          "Apidance"
        ],
        "tags": [
          "Twitter"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Elfa.png",
        "examples": [
          "Search for mentions of Heurist, HEU, and heurist_ai in the last 30 days",
          "Analyze the Twitter account @heurist_ai",
          "Get trending tokens on Twitter in the last 24 hours",
          "What are people talking about ETH and SOL this week?"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        }
      },
      "module": "elfa_twitter_intelligence_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "search_mentions",
            "description": "Search for mentions of specific tokens or topics on Twitter. This tool finds discussions about cryptocurrencies, blockchain projects, or other topics of interest. It provides the tweets and mentions of smart accounts (only influential ones) and does not contain all tweets. Use this when you want to understand what influential people are saying about a particular token or topic on Twitter. Each of the search keywords should be one word or phrase. A maximum of 3 keywords are allowed. One key word should be one concept. Never use long sentences or phrases as keywords.",
            "parameters": {
              "type": "object",
              "properties": {
                "keywords": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of keywords to search for"
                },
                "days_ago": {
                  "type": "number",
                  "description": "Number of days to look back",
                  "default": 20
                },
                "limit": {
                  "type": "number",
                  "description": "Maximum number of results (minimum: 10, maximum: 20)",
                  "default": 10
                }
              },
              "required": [
                "keywords"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "search_account",
            "description": "Search for a Twitter account with both mention search and account statistics. This tool provides engagement metrics, follower growth, and mentions by smart users. It does not contain all tweets, but only those of influential users. It also identifies the topics and cryptocurrencies they frequently discuss. Data comes from ELFA API and can analyze several weeks of historical activity.",
            "parameters": {
              "type": "object",
              "properties": {
                "username": {
                  "type": "string",
                  "description": "Twitter username to analyze (without @)"
                },
                "days_ago": {
                  "type": "number",
                  "description": "Number of days to look back for mentions",
                  "default": 30
                },
                "limit": {
                  "type": "number",
                  "description": "Maximum number of mention results",
                  "default": 20
                }
              },
              "required": [
                "username"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_trending_tokens",
            "description": "Get current trending tokens on Twitter. This tool identifies which cryptocurrencies and tokens are generating the most buzz on Twitter right now. The results include token names, their relative popularity, and sentiment indicators. Use this when you want to discover which cryptocurrencies are currently being discussed most actively on social media. Data comes from ELFA API and represents real-time trends.",
            "parameters": {
              "type": "object",
              "properties": {
                "time_window": {
                  "type": "string",
                  "description": "Time window to analyze",
                  "default": "24h"
                }
              }
            }
          }
        }
      ]
    },
    "EtherscanAgent": {
      "metadata": {
        "name": "Etherscan Agent",
        "version": "1.1.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can analyze blockchain transactions, addresses, and ERC20 tokens across multiple chains using blockchain explorers and Firecrawl for data extraction.",
        "external_apis": [
          "Firecrawl"
        ],
        "tags": [
          "Blockchain"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Etherscan.png",
        "examples": [
          "Analyze transaction 0xd8a484a402a4373221288fed84e9025ed48eba2a45a7294c19289f740ca00fcd on Ethereum",
          "Get address history for 0x742d35Cc6639C0532fEa3BcdE3524A0be79C3b7B on Base",
          "Show token transfers for 0x55d398326f99059ff775485246999027b3197955 on BSC",
          "Get top holders for 0xEF22cb48B8483dF6152e1423b19dF5553BbD818b on Base"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        }
      },
      "module": "etherscan_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_transaction_details",
            "description": "Analyze a specific blockchain transaction. Provides detailed information about the transaction including sender, receiver, gas fees, and transaction actions (such as trading on DEX, interacting with DeFi). Use this tool when you want to know what exactly happened for a transaction id.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Blockchain network to query.",
                  "enum": [
                    "ethereum",
                    "base",
                    "arbitrum",
                    "zksync",
                    "avalanche",
                    "bsc"
                  ]
                },
                "txid": {
                  "type": "string",
                  "description": "Transaction hash starting with 0x"
                }
              },
              "required": [
                "chain",
                "txid"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_address_history",
            "description": "Analyze a blockchain address to get transaction history, balance, and activity summary. Use this tool to gets insights into the address usage patterns and token holdings.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Blockchain network to query",
                  "enum": [
                    "ethereum",
                    "base",
                    "arbitrum",
                    "zksync",
                    "avalanche",
                    "bsc"
                  ]
                },
                "address": {
                  "type": "string",
                  "description": "Wallet address starting with 0x"
                }
              },
              "required": [
                "chain",
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_erc20_token_transfers",
            "description": "Get recent token transfer transactions and basic token information including name, symbol, total supply, and holder count. Use this tool to understand recent tranfers of the token. Do not use this for token holder detailed distribution.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Blockchain network where the token is deployed",
                  "enum": [
                    "ethereum",
                    "base",
                    "arbitrum",
                    "zksync",
                    "avalanche",
                    "bsc"
                  ]
                },
                "address": {
                  "type": "string",
                  "description": "Token contract address"
                }
              },
              "required": [
                "chain",
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_erc20_top_holders",
            "description": "Get top 50 token holders data including wallet addresses, balances, percentages, and basic token information. Use this tool to understand token holder distribution.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Blockchain network where the token is deployed",
                  "enum": [
                    "ethereum",
                    "base",
                    "arbitrum",
                    "zksync",
                    "avalanche",
                    "bsc"
                  ]
                },
                "address": {
                  "type": "string",
                  "description": "Token contract address"
                }
              },
              "required": [
                "chain",
                "address"
              ]
            }
          }
        }
      ]
    },
    "EvmTokenInfoAgent": {
      "metadata": {
        "name": "EVM Token Info Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent analyzes large trades for EVM tokens across multiple chains using Bitquery API. It tracks whale movements by identifying actual traders with transaction details. Trade types are shown from the trader's perspective (not DEX perspective).",
        "external_apis": [
          "Bitquery"
        ],
        "tags": [
          "EVM"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/EVM.png",
        "examples": [
          "Show me recent large trades for USDT on Ethereum",
          "Get large buyers of token 0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c on BSC",
          "Show recent whale sells for WETH on base with minimum $10,000",
          "Large trades for 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on ethereum above $50k"
        ],
        "supported_chains": [
          "ethereum",
          "eth",
          "bsc",
          "binance",
          "base",
          "arbitrum",
          "arb"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        }
      },
      "module": "evm_token_info_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_recent_large_trades",
            "description": "Get recent large trades for a specific EVM token on supported chains. Shows actual whale wallet addresses (not DEX contracts) with transaction details from the TRADER'S perspective. Perfect for tracking smart money movements and identifying accumulation or distribution patterns.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Blockchain network. Supported: ethereum/eth, bsc/binance, base, arbitrum/arb"
                },
                "tokenAddress": {
                  "type": "string",
                  "description": "Token contract address (must start with 0x, e.g., '0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c')"
                },
                "minUsdAmount": {
                  "type": "number",
                  "description": "Minimum trade size in USD to filter whale trades",
                  "default": 5000
                },
                "filter": {
                  "type": "string",
                  "description": "Filter by trade type from TRADER perspective: 'all' for both buys and sells (default), 'buy' for purchases only, 'sell' for sales only",
                  "enum": [
                    "all",
                    "buy",
                    "sell"
                  ],
                  "default": "all"
                },
                "limit": {
                  "type": "number",
                  "description": "Number of trades to return",
                  "minimum": 1,
                  "maximum": 100,
                  "default": 10
                }
              },
              "required": [
                "chain",
                "tokenAddress"
              ]
            }
          }
        }
      ]
    },
    "ExaSearchAgent": {
      "metadata": {
        "name": "Exa Search Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can search the web using Exa's API and provide direct answers to questions.",
        "external_apis": [
          "Exa"
        ],
        "tags": [
          "Search"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Exa.png",
        "examples": [
          "What is the latest news on Bitcoin?",
          "Recent developments in quantum computing",
          "Search for articles about the latest trends in AI"
        ]
      },
      "module": "exa_search_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "exa_web_search",
            "description": "Search for webpages using Exa's neural search. Returns relevant results with titles, snippets, and URLs. Unlike traditional search, Exa uses semantic understanding (not boolean operators like AND/OR). Supports domain filtering and date filtering. Use includeDomains to restrict search to specific sites. Use date filters for time-sensitive queries.",
            "parameters": {
              "type": "object",
              "properties": {
                "search_term": {
                  "type": "string",
                  "description": "The search term or natural language query"
                },
                "limit": {
                  "type": "number",
                  "description": "Maximum number of results to return (default: 10)"
                },
                "include_domains": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of domains to include in search (e.g., ['arxiv.org', 'papers.com']). Supports paths (e.g., 'example.com/blog') and wildcards (e.g., '*.substack.com')"
                },
                "start_published_date": {
                  "type": "string",
                  "description": "Only return results published after this date (ISO 8601 format: '2024-01-01T00:00:00.000Z')"
                }
              },
              "required": [
                "search_term"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "exa_answer_question",
            "description": "Get a direct answer to a question using Exa's answer API. This tool provides concise, factual answers to specific questions by searching and analyzing content from across the web. Use this when you need a direct answer to a specific question rather than a list of search results. It may fail to find information of niche topics such like small cap crypto projects.",
            "parameters": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string",
                  "description": "The question to answer"
                }
              },
              "required": [
                "question"
              ]
            }
          }
        }
      ]
    },
    "ExaSearchDigestAgent": {
      "metadata": {
        "name": "Exa Search Digest Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Web search agent using Exa API with concise LLM summarization.",
        "external_apis": [
          "Exa"
        ],
        "tags": [
          "Search"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Exa.png",
        "examples": [
          "What are the latest developments in AI safety?",
          "Recent breakthroughs in quantum computing",
          "Find information about the newest crypto projects",
          "Search for analysis on current market trends"
        ],
        "credits": {
          "default": 0.5
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.005"
        },
        "erc8004": {
          "enabled": true,
          "wallet_chain_id": 1,
          "registrations": [
            {
              "agentId": 10299,
              "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
            }
          ],
          "supportedTrust": [
            "reputation"
          ],
          "active": true,
          "registrationUrl": "https://mesh-data.heurist.xyz/erc8004/ExaSearchDigestAgent.json"
        }
      },
      "module": "exa_search_digest_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "exa_web_search",
            "description": "Search the web for any topics. MANDATORY: Use time_filter for ANY time-sensitive requests. Domain filtering should be empty for the first query of a topic, and if it returns too much noise, do another query with targeted trusted domains.",
            "parameters": {
              "type": "object",
              "properties": {
                "search_term": {
                  "type": "string",
                  "description": "Natural language search query. Phrase naturally and concisely. Boolean operators (AND/OR) are NOT supported."
                },
                "disambiguation": {
                  "type": "string",
                  "description": "If the search query contains ambiguous entity names, new projects, new technology, or niche acronyms AND when you have contexts pointing to what it is exactly, describe the entity with one sentence to help clarify, for example 'Heurist is a Web3 AI project'. If you don't have confident clarifications or when searching common-sense info, leave this field blank."
                },
                "time_filter": {
                  "type": "string",
                  "description": "REQUIRED for time-sensitive queries",
                  "enum": [
                    "past_week",
                    "past_month",
                    "past_year"
                  ]
                },
                "limit": {
                  "type": "integer",
                  "description": "Number of pages",
                  "minimum": 6,
                  "maximum": 10,
                  "default": 10
                },
                "include_domains": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of domains to include in search (e.g., ['arxiv.org', 'papers.com']). Supports paths (e.g., 'example.com/blog') and wildcards (e.g., '*.substack.com')"
                }
              },
              "required": [
                "search_term"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "exa_scrape_url",
            "description": "Scrape full contents from URLs and use LLM to create a summary or extract information. Max 5 URLs per batch. (Do not use this for x.com twitter.com links - use Twitter agent tools instead)",
            "parameters": {
              "type": "object",
              "properties": {
                "urls": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of source URLs to scrape (max 5 URLs per batch)",
                  "maxItems": 5
                },
                "extract_prompt": {
                  "type": "string",
                  "description": "Instruction to LLM to process the scraped contents. Max 3 sentences. Use this when you want to extract specific information from the page. If this field is empty, a summary will be returned."
                }
              },
              "required": [
                "urls"
              ]
            }
          }
        }
      ]
    },
    "FirecrawlSearchAgent": {
      "metadata": {
        "name": "Firecrawl Search Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Advanced search agent that uses Firecrawl to perform research with intelligent query generation and content analysis.",
        "external_apis": [
          "Firecrawl"
        ],
        "tags": [
          "Search"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Firecrawl.png",
        "examples": [
          "What are the most bizarre crypto projects that actually succeeded?",
          "Find stories of people who became millionaires from meme coins",
          "The biggest scams in crypto history",
          "Search for the weirdest NFT collections that sold for huge amounts"
        ],
        "credits": {
          "default": 2
        }
      },
      "module": "firecrawl_search_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "firecrawl_web_search",
            "description": "Execute a web search query with advanced filtering using Firecrawl. MANDATORY: Use time_filter parameter for ANY time-sensitive requests (recent, today, past week, etc.). Supports Google search operators in search_term. Examples: For 'recent coinbase listings' use search_term='coinbase listings' + time_filter='qdr:w'. For 'today's bitcoin news' use search_term='bitcoin news' + time_filter='qdr:d'. For site-specific searches use search_term='site:coinbase.com announcements'",
            "parameters": {
              "type": "object",
              "properties": {
                "search_term": {
                  "type": "string",
                  "description": "Search query WITHOUT time words. Remove 'recent', 'today', 'past week' from query - use time_filter instead. Supports operators: OR, AND, site:domain.com, quotes. Examples: 'coinbase listings' (not 'recent coinbase listings'), 'site:coinbase.com announcements', 'bitcoin OR ethereum price'."
                },
                "time_filter": {
                  "type": "string",
                  "description": "REQUIRED for time-sensitive queries. Map: 'recent/past week'\u2192'qdr:w', 'today/past day'\u2192'qdr:d', 'past hour'\u2192'qdr:h', 'past month'\u2192'qdr:m', 'past year'\u2192'qdr:y'. Always use when user mentions time periods.",
                  "enum": [
                    "qdr:h",
                    "qdr:d",
                    "qdr:w",
                    "qdr:m",
                    "qdr:y"
                  ]
                },
                "limit": {
                  "type": "integer",
                  "description": "Number of results to return. Set based on user request: '5 results'\u21925, '10 items'\u219210, etc. Default is 10.",
                  "minimum": 5,
                  "maximum": 10,
                  "default": 10
                }
              },
              "required": [
                "search_term"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "firecrawl_extract_web_data",
            "description": "Extract structured data from one or multiple web pages using natural language instructions. This tool can process single URLs or entire domains (using wildcards like example.com/*). Use this when you need specific information from websites rather than general search results. You must specify what data to extract from the pages using the 'extraction_prompt' parameter.",
            "parameters": {
              "type": "object",
              "properties": {
                "urls": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of URLs to extract data from. Can include wildcards (e.g., 'example.com/*') to crawl entire domains."
                },
                "extraction_prompt": {
                  "type": "string",
                  "description": "Natural language description of what data to extract from the pages."
                }
              },
              "required": [
                "urls",
                "extraction_prompt"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "firecrawl_scrape_url",
            "description": "Scrape full contents from a specific URL. This provides complete raw web contents from individual web pages.",
            "parameters": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "The URL to scrape and analyze"
                },
                "wait_time": {
                  "type": "integer",
                  "description": "Time to wait for page to load in milliseconds (default: 5000)",
                  "default": 7500
                }
              },
              "required": [
                "url"
              ]
            }
          }
        }
      ]
    },
    "FirecrawlSearchDigestAgent": {
      "metadata": {
        "name": "Firecrawl Search Digest Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Advanced web search agent that uses Firecrawl to perform research with intelligent query generation and content analysis, then processes results with a small and fast LLM for concise, relevant summaries.",
        "external_apis": [
          "Firecrawl"
        ],
        "tags": [
          "Search"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Firecrawl.png",
        "examples": [
          "What are the most bizarre crypto projects that actually succeeded?",
          "Find stories of people who became millionaires from meme coins",
          "The biggest scams in crypto history",
          "Search for the weirdest NFT collections that sold for huge amounts"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        }
      },
      "module": "firecrawl_search_digest_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "firecrawl_web_search",
            "description": "Search the web with advanced filtering. MANDATORY: Use time_filter parameter for ANY time-sensitive requests (recent, past week, etc.). Supports Google search operators in search_term. Examples: For 'recent coinbase listings' use search_term='coinbase listings' + time_filter='qdr:w'. For 'today's bitcoin news' use search_term='bitcoin news' + time_filter='qdr:d'. For site-specific searches use search_term='site:coinbase.com announcements'. Always set limit for result count control. Results are summarized by AI with source attribution.",
            "parameters": {
              "type": "object",
              "properties": {
                "search_term": {
                  "type": "string",
                  "description": "Search query WITHOUT time words. Remove 'recent', 'today', 'past week' from query - use time_filter instead. Supports operators: OR, AND, site:domain.com, quotes. Examples: 'coinbase listings' (not 'recent coinbase listings'), 'site:coinbase.com announcements', 'bitcoin OR ethereum price'."
                },
                "time_filter": {
                  "type": "string",
                  "description": "REQUIRED for time-sensitive queries. 'past week'\u2192'qdr:w', 'past month'\u2192'qdr:m', 'past year'\u2192'qdr:y'. Always use when user mentions time periods.",
                  "enum": [
                    "qdr:w",
                    "qdr:m",
                    "qdr:y"
                  ]
                },
                "limit": {
                  "type": "integer",
                  "description": "Number of web page results to process.",
                  "minimum": 5,
                  "maximum": 10,
                  "default": 10
                }
              },
              "required": [
                "search_term"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "firecrawl_extract_web_data",
            "description": "Extract structured data from one or multiple web pages using natural language instructions. This tool can process single URLs or entire domains (using wildcards like example.com/*). Use this when you need specific information from websites rather than full search results. You must specify what data to extract from the pages using the 'extraction_prompt' parameter. Returns structured data.",
            "parameters": {
              "type": "object",
              "properties": {
                "urls": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "List of URLs to extract data from. Can include wildcards (e.g., 'example.com/*') to crawl entire domains."
                },
                "extraction_prompt": {
                  "type": "string",
                  "description": "Natural language description of what data to extract from the pages."
                }
              },
              "required": [
                "urls",
                "extraction_prompt"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "firecrawl_scrape_url",
            "description": "Scrape full contents from a specific URL. Returns clean and summarized web contents.",
            "parameters": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "The URL to scrape and analyze"
                },
                "wait_time": {
                  "type": "integer",
                  "description": "Time to wait for page to load in milliseconds",
                  "default": 7500
                }
              },
              "required": [
                "url"
              ]
            }
          }
        }
      ]
    },
    "FredMacroAgent": {
      "metadata": {
        "name": "FRED Macro Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Curated U.S. macro data agent covering inflation, rates, labor, credit, and growth via FRED and ALFRED, with release calendar and vintage history support.",
        "external_apis": [
          "FRED",
          "ALFRED"
        ],
        "tags": [
          "Finance",
          "Macroeconomics"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Heurist.png",
        "examples": [
          "Give me the latest headline CPI snapshot",
          "Show core PCE YoY history for 2 years",
          "Summarize the current macro regime",
          "Show the upcoming CPI and payroll release calendar",
          "Give me CPI release context",
          "Show real GDP as known on 2020-07-01"
        ],
        "credits": {
          "default": 0.3
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.003"
        }
      },
      "module": "fred_macro_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "macro_series_snapshot",
            "description": "Return a compact latest read for one curated macro series. Use this for the newest supported macro reading, previous reading, and derived change metrics.",
            "parameters": {
              "type": "object",
              "properties": {
                "series_key": {
                  "type": "string",
                  "description": "Curated macro series key (e.g. headline_cpi, fed_funds, real_gdp). See enum for all supported keys."
                }
              },
              "required": [
                "series_key"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "macro_series_history",
            "description": "Return bounded history for one curated macro series. Use this for historical trend analysis or transformed views like YoY or qoq_annualized.",
            "parameters": {
              "type": "object",
              "properties": {
                "series_key": {
                  "type": "string",
                  "description": "Registry-backed macro series key."
                },
                "start_date": {
                  "type": "string",
                  "description": "Inclusive start date in YYYY-MM-DD format. If omitted, `period` is used."
                },
                "end_date": {
                  "type": "string",
                  "description": "Inclusive end date in YYYY-MM-DD format. Defaults to today."
                },
                "period": {
                  "type": "string",
                  "description": "Rolling lookback window used when `start_date` is omitted.",
                  "default": "2y"
                },
                "view": {
                  "type": "string",
                  "description": "Transformation applied to the raw series. Each series_key supports a subset of these views; unsupported combinations fail directly. Common pairings: yoy for inflation, qoq_annualized for GDP, change for rates, wow_change for weekly claims.",
                  "default": "level"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of observations to return after transformation.",
                  "default": 24,
                  "minimum": 1,
                  "maximum": 120
                }
              },
              "required": [
                "series_key"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "macro_regime_context",
            "description": "Return a curated multi-pillar macro regime summary across inflation, rates, labor, credit conditions, and growth. Use this for a cross-pillar macro summary instead of querying individual series.",
            "parameters": {
              "type": "object",
              "properties": {
                "pillars": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional subset of macro pillars to include. Defaults to all supported pillars."
                },
                "as_of_date": {
                  "type": "string",
                  "description": "Observation cutoff date in YYYY-MM-DD format. Uses revised data filtered to this date \u2014 for true point-in-time data, use macro_vintage_history instead."
                }
              },
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "macro_release_calendar",
            "description": "Return upcoming or recent release dates for curated macro releases (CPI, PCE, payrolls, GDP, weekly claims).",
            "parameters": {
              "type": "object",
              "properties": {
                "from_date": {
                  "type": "string",
                  "description": "Inclusive start date in YYYY-MM-DD format. Defaults to today."
                },
                "to_date": {
                  "type": "string",
                  "description": "Inclusive end date in YYYY-MM-DD format. Defaults to 45 days after `from_date`."
                },
                "release_keys": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Limit results to specific releases. Defaults to all supported releases."
                }
              },
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "macro_release_context",
            "description": "Return recent release dates and linked series history for one supported macro release. Use this for pre/post-release analysis.",
            "parameters": {
              "type": "object",
              "properties": {
                "release_key": {
                  "type": "string",
                  "description": "Supported release key such as cpi, pce, employment_situation, gdp, or weekly_claims."
                },
                "lookback_releases": {
                  "type": "integer",
                  "description": "Number of recent release dates to include.",
                  "default": 6,
                  "minimum": 2,
                  "maximum": 24
                },
                "include_links": {
                  "type": "boolean",
                  "description": "Include FRED release links in the response.",
                  "default": false
                }
              },
              "required": [
                "release_key"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "macro_vintage_history",
            "description": "Return point-in-time-safe history for one curated series using ALFRED realtime dates. Use this for backtests or retrospective questions where revised history would be misleading.",
            "parameters": {
              "type": "object",
              "properties": {
                "series_key": {
                  "type": "string",
                  "description": "Registry-backed macro series key."
                },
                "realtime_date": {
                  "type": "string",
                  "description": "ALFRED realtime date in YYYY-MM-DD format. Returns data as it was known on this date, before subsequent revisions."
                },
                "start_date": {
                  "type": "string",
                  "description": "Inclusive start date in YYYY-MM-DD format. If omitted, `period` is used."
                },
                "end_date": {
                  "type": "string",
                  "description": "Inclusive end date in YYYY-MM-DD format. Defaults to `realtime_date`."
                },
                "period": {
                  "type": "string",
                  "description": "Rolling lookback window used when `start_date` is omitted.",
                  "default": "5y"
                },
                "view": {
                  "type": "string",
                  "description": "Transformation applied to the raw series. Each series_key supports a subset of these views; unsupported combinations fail directly. Common pairings: yoy for inflation, qoq_annualized for GDP, change for rates, wow_change for weekly claims.",
                  "default": "level"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of observations to return after transformation.",
                  "default": 24,
                  "minimum": 1,
                  "maximum": 120
                }
              },
              "required": [
                "series_key",
                "realtime_date"
              ]
            }
          }
        }
      ]
    },
    "FundingRateAgent": {
      "metadata": {
        "name": "Funding Rate Agent",
        "version": "2.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Fetches Binance USD\u24c8\u2011M funding & open interest, summarizes OI trends, and computes APR from funding intervals.",
        "external_apis": [
          "Binance USD\u24c8\u2011M Futures"
        ],
        "tags": [
          "Arbitrage",
          "Funding",
          "Open Interest"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/FundingRate.png",
        "examples": [
          "Get OI trend and funding APR for BTC",
          "What is the current funding rate APR for SOL on Binance?",
          "List current Binance funding rates (interval-aware)",
          "Spot-perp carry candidates on Binance with funding > 0.02% per interval"
        ],
        "credits": {
          "default": 0.1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.001"
        }
      },
      "module": "funding_rate_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_all_funding_rates",
            "description": "Get current funding rates for major Binance perpetual symbols: BTC, ETH, SOL, BNB, XRP. Useful to identify overall perp market situation.",
            "parameters": {
              "type": "object",
              "properties": {},
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_symbol_funding_rates",
            "description": "Get the latest funding rate and APR for a specific Binance perp symbol",
            "parameters": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "description": "Asset ticker or full symbol (e.g., BTC or BTCUSDT)"
                }
              },
              "required": [
                "symbol"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_symbol_oi_and_funding",
            "description": "Get 7d 4h Open Interest trend summary + latest funding rate and APR for a symbol on Binance perp.",
            "parameters": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "description": "Asset ticker or full symbol (e.g., BTC or BTCUSDT)"
                }
              },
              "required": [
                "symbol"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "find_spot_futures_opportunities",
            "description": "Find Binance future markets with positive funding rates above a threshold. Useful for identifying funding rate arbitrage opportunities.",
            "parameters": {
              "type": "object",
              "properties": {
                "min_funding_rate": {
                  "type": "number",
                  "description": "Per-interval threshold, default 0.0003"
                }
              },
              "required": []
            }
          }
        }
      ]
    },
    "GoplusAnalysisAgent": {
      "metadata": {
        "name": "GoPlus Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can fetch and analyze security details of blockchain token contracts using GoPlus API.",
        "external_apis": [
          "GoPlus"
        ],
        "tags": [
          "Security"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Goplus.png",
        "examples": [
          "Check the safety of this token: 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 on Ethereum",
          "Analyze the security of this Solana token: AcmFHCquGwbrPxh9b3sUPMtAtXKMjkEzKnqkiHEnpump",
          "Is 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 safe on ETH mainnet?",
          "Check the security details of token 0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb on Base chain"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        }
      },
      "module": "goplus_analysis_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "fetch_security_details",
            "description": "Analyze the security of a blockchain token contract. This tool returns a token's authority settings, admin permissions, holder concentration, liquidity, and other security metrics helping to determine if the token is safe to buy.",
            "parameters": {
              "type": "object",
              "properties": {
                "contract_address": {
                  "type": "string",
                  "description": "The token contract address"
                },
                "chain_id": {
                  "type": "string",
                  "description": "The blockchain chain ID or 'solana' for Solana tokens. Supported chains: Ethereum (1), Optimism (10), Cronos (25), BSC (56), Gnosis (100), HECO (128), Polygon (137), Fantom (250), KCC (321), zkSync Era (324), ETHW (10001), FON (201022), Arbitrum (42161), Avalanche (43114), Linea Mainnet (59144), Base (8453), Tron (tron), Scroll (534352), opBNB (204), Mantle (5000), ZKFair (42766), Blast (81457), Manta Pacific (169), Berachain Artio Testnet (80085), Merlin (4200), Bitlayer Mainnet (200901), zkLink Nova (810180), X Layer Mainnet (196), Solana (solana)",
                  "default": 1
                }
              },
              "required": [
                "contract_address"
              ]
            }
          }
        }
      ]
    },
    "L2BeatAgent": {
      "metadata": {
        "name": "L2Beat Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Specialized agent for analyzing Layer 2 scaling solutions data from L2Beat. Provides comprehensive insights into L2 TVL, market share, and transaction costs across different chains and categories (Rollups, Validiums & Optimiums).",
        "external_apis": [
          "L2Beat"
        ],
        "tags": [
          "L2Beat"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/L2Beat.png",
        "examples": [
          "What's the current TVL and market share of top L2 solutions?",
          "Which L2 has the lowest transaction costs right now?",
          "What are the average transaction costs for ZK chains?",
          "Compare the costs of different L2 solutions",
          "What are the top Validiums and Optimiums by TVL?"
        ],
        "credits": {
          "default": 1
        }
      },
      "module": "l2beat_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_l2_summary",
            "description": "Get comprehensive summary data for Layer 2 solutions including TVL, market share, chain type, and stage information.",
            "parameters": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "rollups",
                    "validiumsAndOptimiums"
                  ],
                  "description": "Category of L2s to fetch. Options: 'rollups' (default), 'validiumsAndOptimiums'",
                  "default": "rollups"
                }
              },
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_l2_costs",
            "description": "Get simplified transaction cost data showing L2 name and average cost per user operation in USD.",
            "parameters": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "enum": [
                    "rollups",
                    "validiumsAndOptimiums"
                  ],
                  "description": "Category of L2s to fetch. Options: 'rollups' (default), 'validiumsAndOptimiums'",
                  "default": "rollups"
                }
              },
              "required": []
            }
          }
        }
      ]
    },
    "LetsBonkTokenInfoAgent": {
      "metadata": {
        "name": "LetsBonk Token Info Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent analyzes LetsBonk.fun tokens on Solana using Bitquery API. It tracks tokens about to graduate, provides trading data, price information, identifies top buyers/sellers, OHLCV data, pair addresses, liquidity information, tracks new token creation, calculates bonding curve progress, and monitors tokens above 95% bonding curve progress across all available launchpads.",
        "external_apis": [
          "Bitquery"
        ],
        "tags": [
          "LetsBonk",
          "Solana"
        ],
        "hidden": false,
        "verified": false,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/LetsBonk.png",
        "examples": [
          "Show me top 10 tokens about to graduate on LetsBonk.fun",
          "Get latest trades for token So11111111111111111111111111111111111111112",
          "What's the current price of token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "Show me top buyers of token DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
          "Show me top sellers of token JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN",
          "Get OHLCV data for token MangoCzJ36AjZyKwVj3VnYU4GTonjfVEnJmvvWaxLac",
          "Get pair address for token orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE",
          "Get liquidity for pool address 4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R",
          "Show me recently created LetsBonk.fun tokens",
          "Calculate bonding curve progress for token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "Show me tokens above 95% bonding curve progress",
          "Get trades on raydium_launchpad for token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
        ]
      },
      "module": "lets_bonk_token_info_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "query_about_to_graduate_tokens",
            "description": "Get top LetsBonk.fun tokens that are about to graduate. These tokens are close to hitting the graduation threshold and may see increased trading activity.",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100,
                  "default": 10,
                  "description": "Number of tokens to return (default 10, max 100)"
                },
                "since_date": {
                  "type": "string",
                  "description": "ISO date string to filter tokens since this date (e.g., '2025-07-11T13:45:00Z'). Defaults to 7 days ago."
                }
              }
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_latest_trades",
            "description": "Get the most recent trades for a specific LetsBonk.fun token across all launchpads. Useful for tracking trading activity and price movements. Can optionally filter by a specific launchpad.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The token mint address to get trades for"
                },
                "limit": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100,
                  "default": 10,
                  "description": "Number of recent trades to return (default 10)"
                },
                "launchpad": {
                  "type": "string",
                  "description": "Optional: Specific launchpad to filter trades (e.g., 'raydium_launchpad'). If not provided, returns trades from all launchpads."
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_latest_price",
            "description": "Get the most recent price data for a specific LetsBonk.fun token across all launchpads. Returns the latest trade price and transaction details. Can optionally filter by a specific launchpad.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The token mint address to get price for"
                },
                "launchpad": {
                  "type": "string",
                  "description": "Optional: Specific launchpad to filter price data (e.g., 'raydium_launchpad'). If not provided, returns latest price from all launchpads."
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_top_buyers",
            "description": "Get the top buyers for a specific LetsBonk.fun token across all launchpads. Shows who has bought the most (by USD volume) and can help identify whales and smart money. Can optionally filter by a specific launchpad.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The token mint address to get top buyers for"
                },
                "limit": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100,
                  "default": 10,
                  "description": "Number of top buyers to return"
                },
                "launchpad": {
                  "type": "string",
                  "description": "Optional: Specific launchpad to filter buyers (e.g., 'raydium_launchpad'). If not provided, returns buyers from all launchpads."
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_top_sellers",
            "description": "Get the top sellers for a specific LetsBonk.fun token across all launchpads. Shows who has sold the most (by USD volume) and can help identify distribution patterns. Can optionally filter by a specific launchpad.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The token mint address to get top sellers for"
                },
                "limit": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100,
                  "default": 10,
                  "description": "Number of top sellers to return"
                },
                "launchpad": {
                  "type": "string",
                  "description": "Optional: Specific launchpad to filter sellers (e.g., 'raydium_launchpad'). If not provided, returns sellers from all launchpads."
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_ohlcv_data",
            "description": "Get OHLCV (Open, High, Low, Close, Volume) data for a specific LetsBonk.fun token across all launchpads. Returns candlestick data for technical analysis. Can optionally filter by a specific launchpad.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The token mint address to get OHLCV data for"
                },
                "limit": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100,
                  "default": 10,
                  "description": "Number of time intervals to return"
                },
                "launchpad": {
                  "type": "string",
                  "description": "Optional: Specific launchpad to filter OHLCV data (e.g., 'raydium_launchpad'). If not provided, returns data from all launchpads."
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_pair_address",
            "description": "Get the pair/pool address for a specific LetsBonk.fun token across all launchpads. Returns the market address and trading pair information. Can optionally filter by a specific launchpad.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The token mint address to get pair address for"
                },
                "launchpad": {
                  "type": "string",
                  "description": "Optional: Specific launchpad to filter pairs (e.g., 'raydium_launchpad'). If not provided, returns pairs from all launchpads."
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_liquidity",
            "description": "Get current liquidity data for a specific token pool address. Returns the amounts of base and quote tokens in the liquidity pool.",
            "parameters": {
              "type": "object",
              "properties": {
                "pool_address": {
                  "type": "string",
                  "description": "The pool/market address to get liquidity for"
                }
              },
              "required": [
                "pool_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_recently_created_tokens",
            "description": "Get the most recently created LetsBonk.fun tokens. Shows new token launches that might present early investment opportunities.",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100,
                  "default": 10,
                  "description": "Number of recently created tokens to return (default 10)"
                }
              }
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_bonding_curve_progress",
            "description": "Calculate the bonding curve progress for a specific LetsBonk.fun token. Shows how close the token is to graduation using the bonding curve formula.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The token mint address to calculate bonding curve progress for"
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_tokens_above_95_percent",
            "description": "Get LetsBonk.fun tokens that are above 95% bonding curve progress. These tokens are very close to graduation and may see increased activity.",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 100,
                  "default": 10,
                  "description": "Number of tokens above 95% to return (default 10)"
                }
              }
            }
          }
        }
      ]
    },
    "MoniTwitterInsightAgent": {
      "metadata": {
        "name": "Moni Twitter Insight Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent analyzes Twitter accounts providing insights on smart followers, mentions, and account activity.",
        "external_apis": [
          "Moni"
        ],
        "tags": [
          "Twitter"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Moni.png",
        "examples": [
          "Show me the follower growth trends for heurist_ai over the last week",
          "What categories of followers does heurist_ai have",
          "Show me the recent smart mentions for ethereum"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        }
      },
      "module": "moni_twitter_insight_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_smarts_categories",
            "description": "Get categories of smarts for a Twitter account",
            "parameters": {
              "type": "object",
              "properties": {
                "username": {
                  "type": "string",
                  "description": "Twitter username without the @ symbol"
                }
              },
              "required": [
                "username"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_smart_mentions_feed",
            "description": "Get recent smart mentions feed for a Twitter account",
            "parameters": {
              "type": "object",
              "properties": {
                "username": {
                  "type": "string",
                  "description": "Twitter username without the @ symbol"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of mentions to return",
                  "default": 100
                },
                "fromDate": {
                  "type": "integer",
                  "description": "Unix timestamp of the earliest event to include"
                },
                "toDate": {
                  "type": "integer",
                  "description": "Unix timestamp of the most recent post to include"
                }
              },
              "required": [
                "username"
              ]
            }
          }
        }
      ]
    },
    "PondWalletAnalysisAgent": {
      "metadata": {
        "name": "Pond Wallet Analysis Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent analyzes cryptocurrency wallet activities across Ethereum and Base networks using the Cryptopond API.",
        "external_apis": [
          "Cryptopond"
        ],
        "tags": [
          "Wallet Analysis"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/CryptoPond.png",
        "examples": [
          "Analyze Ethereum wallet 0x2B25B37c683F042E9Ae1877bc59A1Bb642Eb1073",
          "What's the trading volume for Ethereum wallet 0x2B25B37c683F042E9Ae1877bc59A1Bb642Eb1073?",
          "Check the transaction activity for Base wallet 0x97224Dd2aFB28F6f442E773853F229B3d8A0999a"
        ],
        "credits": {
          "default": 0.2
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.002"
        }
      },
      "module": "pond_wallet_analysis_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "analyze_ethereum_wallet",
            "description": "Analyze an Ethereum wallet address for DEX trading frequency and volume and PnL over the last 30 days. The unit of gas fees is in GWEI. Useful when analyzing trading patterns of an EOA wallet.",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Ethereum wallet address (starts with 0x)"
                }
              },
              "required": [
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "analyze_base_wallet",
            "description": "Analyze a Base network wallet address for DEX trading frequency and volume and PnL over the last 30 days. Ignore the gas fee results. Useful when analyzing trading patterns of an EOA wallet.",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Base wallet address (starts with 0x)"
                }
              },
              "required": [
                "address"
              ]
            }
          }
        }
      ]
    },
    "ProjectKnowledgeAgent": {
      "metadata": {
        "name": "Project Knowledge Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent provides access to a comprehensive database of crypto projects. It can search for projects by name, token symbol, or X handle, and retrieve detailed project information including funding, team, events, and more.",
        "external_apis": [
          "PostgreSQL",
          "AIXBT",
          "PageIndex"
        ],
        "tags": [
          "Projects",
          "Research"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/ProjectKnowledge.png",
        "examples": [
          "Get information about Ethereum",
          "Search for projects by symbol BTC",
          "Get project details for @ethereum",
          "Find DeFi projects funded by Paradigm in 2024",
          "AI projects listed on Binance with recent airdrops"
        ],
        "credits": {
          "default": 0.3
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.003"
        }
      },
      "module": "project_knowledge_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_project",
            "description": "Get crypto project details including description, twitter handle, defillama slug, token info (CA on multiple chains, coingecko id, symbol, WITHOUT market data), team, investors, chronological events, similar projects. Lookup parameter MUST be ONE OF name, symbol, or x_handle. Not all result fields are available. New or small projects without VC backing might be missing. Data aggregated from multiple sources may have inconsistencies. Name lookups can be ambiguous - must verify the returned entity matches the user intent. In case of mismatch, ignore the tool response.",
            "parameters": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Project name (e.g., 'Ethereum', 'Uniswap'). Use for exact match and prefix match."
                },
                "symbol": {
                  "type": "string",
                  "description": "Token symbol. Use for exact match for projects with a live token."
                },
                "x_handle": {
                  "type": "string",
                  "description": "X (Twitter) handle with or without @. Use for exact match."
                }
              },
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "semantic_search_projects",
            "description": "Search crypto projects using natural language criteria. Supports investor filters, tag/category filters, funding years, event years, exchange listings, and event keywords. You can combine multiple constraints in one query. Example queries: 'DeFi projects funded by Paradigm in 2024', 'AI projects listed on Binance with airdrop events in 2025'. Returns matching projects with relevant fields (name, one_liner, tags, investors, fundraising, events, exchanges). Best for discovery and filtering across 10k+ indexed projects. New or small projects without VC backing might be missing. For single project lookup by exact name/symbol/address/twitter, use get_project instead.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Natural language query describing what to find. Include any combination of: investor names like a16z, Paradigm; tags/categories like DeFi, AI, Infra, Layer1, Layer2, zk, NFT, Privacy, Gaming, DePIN, Stablecoin Protocol, DEX, Lending, Derivatives; funded years; event years; exchanges like Binance, Binance Alpha, Coinbase, OKX, Bybit; events like airdrop, mainnet, listing, partnership, exploit/hack, TGE; description of the project business"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of projects to return",
                  "default": 20,
                  "minimum": 1,
                  "maximum": 100
                }
              },
              "required": [
                "query"
              ]
            }
          }
        }
      ]
    },
    "PumpFunTokenAgent": {
      "metadata": {
        "name": "PumpFun Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent analyzes Pump.fun token on Solana using Bitquery API. It tracks token creation and graduation events on Pump.fun.",
        "external_apis": [
          "Bitquery"
        ],
        "tags": [
          "Solana"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Pumpfun.png",
        "examples": [
          "Latest token launched on Pump.fun in the last 24 hours"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        }
      },
      "module": "pumpfun_token_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "query_recent_token_creation",
            "description": "Fetch data of tokens recently created on Pump.fun on Solana. Results include the basic info like name, symbol, mint address.",
            "parameters": {
              "type": "object",
              "properties": {
                "interval": {
                  "type": "string",
                  "enum": [
                    "hours",
                    "days"
                  ],
                  "default": "hours",
                  "description": "Time interval (hours/days)"
                },
                "offset": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 99,
                  "default": 1,
                  "description": "Time offset for interval"
                }
              }
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "query_latest_graduated_tokens",
            "description": "Fetch recently graduated tokens from Pump.fun on Solana with their latest prices and market caps. Graduation means that a newly launched token hits a certain market cap threshold, and that it has gained traction and liquidity.",
            "parameters": {
              "type": "object",
              "properties": {
                "timeframe": {
                  "type": "number",
                  "description": "Timeframe in hours to look back for graduated tokens",
                  "default": 24
                }
              }
            }
          }
        }
      ]
    },
    "SallyHealthAgent": {
      "metadata": {
        "name": "Sally Health Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Sally is a health and medical AI assistant. This agent talks to Sally about medical and health topics, providing helpful information and guidance.",
        "external_apis": [
          "Sally"
        ],
        "tags": [
          "Health"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Sally.png",
        "examples": [
          "How can I stay fit with a work from home routine?",
          "What are good foods for heart health?",
          "Tips for better sleep quality",
          "How to manage stress naturally?"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        }
      },
      "module": "sally_health_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "ask_health_advice",
            "description": "Sally is a health and medical AI assistant. This tool talks to Sally about medical and health topics.",
            "parameters": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "description": "Message in natural language to talk to Sally agent. It can be a question or a prompt for information about health and medical topics."
                }
              },
              "required": [
                "message"
              ]
            }
          }
        }
      ]
    },
    "SecEdgarAgent": {
      "metadata": {
        "name": "SEC Edgar Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Issuer-first SEC EDGAR agent for company resolution, filing timelines, filing diffs, XBRL fact trends, insider activity, activist filings, and 13F institutional holder snapshots.",
        "external_apis": [
          "SEC EDGAR",
          "SEC XBRL",
          "SEC Form 13F Data Sets"
        ],
        "tags": [
          "Finance",
          "Regulatory Filings"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Heurist.png",
        "examples": [
          "Resolve the SEC CIK for Apple",
          "Show the latest 8-K, 10-Q, and 10-K filings for Tesla",
          "What changed since Apple's last 10-Q?",
          "Give me Apple revenue trend from SEC XBRL facts",
          "Show recent Tesla insider activity",
          "Watch activist filings for Apple",
          "Show institutional holders for Apple from the latest 13F dataset"
        ],
        "credits": {
          "default": 0.2
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.002"
        }
      },
      "module": "sec_edgar_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "resolve_company",
            "description": "Resolve a company name, stock ticker, or CIK into a canonical SEC issuer record with CIK, ticker, and company title. Use this before other SEC tools when the issuer is ambiguous.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Company name, ticker, or CIK to resolve (e.g. 'Apple', 'AAPL', or '0000320193')."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of candidate matches to return.",
                  "default": 5
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "filing_timeline",
            "description": "Return a compact SEC filing timeline for an issuer. Best for 8-K, 10-Q, 10-K, S-1, and nearby filing events.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Company name, ticker, or CIK."
                },
                "forms": {
                  "type": "array",
                  "description": "SEC form type filter. Omit to use the default set: 8-K, 10-Q, 10-K, S-1, S-1/A.",
                  "items": {
                    "type": "string"
                  }
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of filing events to return.",
                  "default": 10
                },
                "include_links": {
                  "type": "boolean",
                  "description": "Include full SEC filing URLs in the response.",
                  "default": false
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "filing_diff",
            "description": "Compare the latest filing with the previous filing of the same form and highlight paragraph-level additions, removals, and filing metadata differences. Use this for 'what changed since last filing'.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Company name, ticker, or CIK."
                },
                "form": {
                  "type": "string",
                  "description": "SEC form type to diff. If omitted, the most recent comparable filing pair is selected automatically."
                },
                "paragraph_limit": {
                  "type": "integer",
                  "description": "Maximum number of added and removed paragraphs to surface.",
                  "default": 5
                },
                "include_links": {
                  "type": "boolean",
                  "description": "Include full SEC filing URLs in the response.",
                  "default": false
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "xbrl_fact_trends",
            "description": "Return quarterly or annual SEC XBRL fact observations for one metric and one issuer. Accepts plain-English metric names or exact XBRL concept names. See the metric parameter for supported values.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Company name, ticker, or CIK."
                },
                "metric": {
                  "type": "string",
                  "description": "Plain-English metric name (e.g. 'revenue', 'net income', 'eps', 'cash', 'assets') or exact XBRL concept name (e.g. 'NetIncomeLoss'). One metric per call."
                },
                "frequency": {
                  "type": "string",
                  "enum": [
                    "quarterly",
                    "annual",
                    "all"
                  ],
                  "description": "Observation frequency filter.",
                  "default": "quarterly"
                },
                "taxonomy": {
                  "type": "string",
                  "enum": [
                    "us-gaap",
                    "dei"
                  ],
                  "description": "Optional taxonomy filter."
                },
                "unit": {
                  "type": "string",
                  "description": "Optional exact SEC unit key for the selected concept. Common examples include 'USD', 'shares', 'USD/shares', and 'pure', but available units depend on the matched metric. Omit to auto-select the unit with the most observations."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of observations to return.",
                  "default": 8
                }
              },
              "required": [
                "query",
                "metric"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "insider_activity",
            "description": "Summarize recent insider activity from SEC Forms 3, 4, and 5 for an issuer, including reporting person names and parsed transaction rows from ownership documents.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Company name, ticker, or CIK."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of insider filings to return.",
                  "default": 5
                },
                "include_links": {
                  "type": "boolean",
                  "description": "Include full SEC filing URLs in the response.",
                  "default": false
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "activist_watch",
            "description": "Summarize recent Schedule 13D and 13G filings for an issuer, including filer names, reported ownership amounts, percent of class, and short text snippets from the filing.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Company name, ticker, or CIK."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of activist filings to return.",
                  "default": 5
                },
                "include_links": {
                  "type": "boolean",
                  "description": "Include full SEC filing URLs in the response.",
                  "default": false
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "institutional_holders",
            "description": "Return the top institutional holders of an issuer from the latest SEC 13F dataset, ranked by reported position value. Use this for institutional ownership questions.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Company name, ticker, or CIK."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of holder rows to return.",
                  "default": 10
                }
              },
              "required": [
                "query"
              ]
            }
          }
        }
      ]
    },
    "SolWalletAgent": {
      "metadata": {
        "name": "SolWallet Agent",
        "version": "1.0.0",
        "author": "QuantVela",
        "author_address": "0x53cc700f818DD0b440598c666De2D630F9d47273",
        "description": "This agent can query Solana wallet assets and recent swap transactions using Helius API.",
        "external_apis": [
          "Helius"
        ],
        "tags": [
          "Solana"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Solana.png",
        "examples": []
      },
      "module": "sol_wallet_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_wallet_assets",
            "description": "Query and retrieve all token holdings for a specific Solana wallet address. This tool helps you get detailed information about each asset including token amounts, current prices and total holding values. Use this when you need to analyze a wallet's portfolio or track significant token holdings.",
            "parameters": {
              "type": "object",
              "properties": {
                "owner_address": {
                  "type": "string",
                  "description": "The Solana wallet address to query"
                }
              },
              "required": [
                "owner_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "analyze_common_holdings_of_top_holders",
            "description": "Analyze the top tokens commonly held by the holders of a specific token. This tool provides insights into the top 5 most valuable tokens (by total holding value) that are held by the token holders. Use this when you need to understand what other tokens are popular among the holders of a specific token.",
            "parameters": {
              "type": "object",
              "properties": {
                "token_address": {
                  "type": "string",
                  "description": "The Solana token mint address to analyze"
                },
                "top_n": {
                  "type": "integer",
                  "description": "Number of top holders to analyze for token holdings (default: 20)",
                  "default": 20
                }
              },
              "required": [
                "token_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_tx_history",
            "description": "Fetch and analyze recent SWAP transactions for a Solana wallet. This tool helps you track trading activity by providing detailed information about token swaps, including amounts, prices, and transaction types (BUY/SELL). Use this when you need to understand a wallet's trading behavior or monitor specific swap activities.",
            "parameters": {
              "type": "object",
              "properties": {
                "owner_address": {
                  "type": "string",
                  "description": "The Solana wallet address to query transaction history for"
                }
              },
              "required": [
                "owner_address"
              ]
            }
          }
        }
      ]
    },
    "SpaceTimeAgent": {
      "metadata": {
        "name": "Space and Time Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can analyze blockchain data by executing SQL queries from natural language using Space and Time, a database with ZK proofs.",
        "external_apis": [
          "Space and Time"
        ],
        "tags": [
          "Onchain Data"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/SpacenTime.png",
        "examples": [
          "Get the number of blocks created on Ethereum per day over the last month",
          "Tell me top 10 GPUs from HEURIST",
          "How many transactions occurred on Ethereum yesterday?",
          "What's the largest transaction value on Ethereum in the past 24 hours?"
        ]
      },
      "module": "space_and_time_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "generate_and_execute_sql",
            "description": "Use this to analyze blockchain data including transactions, blocks, and wallet activities. Internally, this tool generates a SQL query from natural language and execute it against blockchain data. Supported chains: Ethereum, Bitcoin, Polygon, Avalanche, Sui, ZKsync Era.",
            "parameters": {
              "type": "object",
              "properties": {
                "nl_query": {
                  "type": "string",
                  "description": "Natural language description of the blockchain data query"
                }
              },
              "required": [
                "nl_query"
              ]
            }
          }
        }
      ]
    },
    "TokenResolverAgent": {
      "metadata": {
        "name": "Token Resolver Agent",
        "version": "1.1.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Find tokens by address/symbol/name/CoinGecko ID, return normalized profiles and top DEX pools. Pulls extra context (sites/socials/funding/indicators) where available.",
        "external_apis": [
          "CoinGecko",
          "DexScreener",
          "Bitquery (Solana)",
          "GMGN/Unifai",
          "Yahoo Finance (optional)",
          "Coinsider (optional)"
        ],
        "tags": [
          "Token Search",
          "Market Data"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/token-resolver-agent.png",
        "examples": [
          "token_search query=ETH",
          "token_search query=0xEF22cb48B8483dF6152e1423b19dF5553BbD818b chain=base",
          "token_profile chain=base address=0xEF22cb48B8483dF6152e1423b19dF5553BbD818b include=['pairs']",
          "token_profile symbol=BTC include=['funding_rates','technical_indicators']"
        ],
        "credits": {
          "default": 0.2
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.002"
        },
        "erc8004": {
          "enabled": true,
          "wallet_chain_id": 1,
          "registrations": [
            {
              "agentId": 2364,
              "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
            }
          ],
          "supportedTrust": [
            "reputation"
          ],
          "active": true,
          "registrationUrl": "https://mesh-data.heurist.xyz/erc8004/TokenResolverAgent.json"
        }
      },
      "module": "token_resolver_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "token_search",
            "description": "Find tokens by address, ticker/symbol, or token name. Returns up to 5 concise candidates with basic market/trading context. Use this tool for searching new tokens, unfamiliar tokens, or ambiguous queries. Do not search for multiple assets with one search query. This tool may return multiple assets with the same or similar name/symbol, and in this case you should identify the asset with largest market cap / volume or liquidity to identify the probable asset and ignore the others. The result might include scam tokens (indicated by higher-than-usual market cap with very low volume), which is totally normal and you should ignore them without reporting as errors.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "0x\u2026 (EVM), Solana mint, ticker/symbol or token name. When searching by name, do not add common crypto suffix such as 'protocol' or 'network'"
                },
                "chain": {
                  "type": "string",
                  "description": "Optional chain hint (e.g., base, ethereum, solana). ONLY use this field if you have direct context mentioning the chain. Leave this field blank otherwise."
                },
                "type_hint": {
                  "type": "string",
                  "enum": [
                    "address",
                    "symbol",
                    "name"
                  ],
                  "description": "Optional explicit hint for the type of the query"
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "token_profile",
            "description": "Get detailed profile and market data of a token. Identify it by ONE OF: chain+address (for contract tokens) or symbol (for native/well-known tokens) or coingecko_id. Optional sections to return: pairs, funding_rates (Binance-listed large caps only), technical_indicators (large caps only). Use this tool for well-known tokens such as BTC, ETH, SOL, or for tokens that you already know its chain+address or Coingecko ID. Prefer to use Coingecko ID if available. If the token address or coingecko_id is not known, use token_search tool first to get the disambiguated token information. Only enable pairs section if the token is an altcoin or you believe it has a DEX pool (some tokens are only traded on CEXs). Do not enable pairs section for large caps tokens. Only enable funding rates and technical indicators for large caps.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Blockchain such as ethereum, base, bsc, solana"
                },
                "address": {
                  "type": "string",
                  "description": "Token contract address (use with chain parameter)"
                },
                "symbol": {
                  "type": "string",
                  "description": "Ticker symbol like BTC or ETH. Only use this for well-known native tokens."
                },
                "coingecko_id": {
                  "type": "string"
                },
                "include": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "pairs",
                      "funding_rates",
                      "technical_indicators"
                    ]
                  },
                  "default": [
                    "pairs"
                  ]
                },
                "top_n_pairs": {
                  "type": "integer",
                  "default": 3,
                  "minimum": 1,
                  "maximum": 10
                },
                "indicator_interval": {
                  "type": "string",
                  "enum": [
                    "1h",
                    "1d"
                  ],
                  "default": "1d"
                }
              },
              "required": []
            }
          }
        }
      ]
    },
    "TrendingTokenAgent": {
      "metadata": {
        "name": "Trending Token Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Aggregates trending tokens from GMGN, CoinGecko, Pump.fun, Dexscreener, and Twitter discussions.",
        "external_apis": [
          "GMGN",
          "CoinGecko",
          "Dexscreener",
          "Elfa",
          "AIXBT",
          "Telegram"
        ],
        "tags": [
          "Token Trends",
          "Market Data"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/trending-token-agent.png",
        "examples": [
          "Show me trending tokens",
          "Get trending tokens including memecoins",
          "What are the hottest tokens right now across all platforms?",
          "Show me trending tokens from CoinGecko and Twitter only",
          "What tokens have recently graduated from pump.fun?"
        ],
        "credits": {
          "default": 0.2
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.002"
        },
        "erc8004": {
          "enabled": true,
          "wallet_chain_id": 1,
          "registrations": [
            {
              "agentId": 10301,
              "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
            }
          ],
          "supportedTrust": [
            "reputation"
          ],
          "active": true,
          "registrationUrl": "https://mesh-data.heurist.xyz/erc8004/TrendingTokenAgent.json"
        }
      },
      "module": "trending_token_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_trending_tokens",
            "description": "Get trending tokens that are most talked about and traded on CEXs and DEXs. Optionally get trending tokens on a specific chain.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Chain to get trending tokens for. Your default action is to keep it empty to get trending tokens across CEXs and chains. Include this field if specific chain is requested in the context.",
                  "enum": [
                    "base",
                    "ethereum",
                    "solana",
                    "bsc"
                  ]
                },
                "include_memes": {
                  "type": "boolean",
                  "description": "Include GMGN trending memecoins and Pump.fun recent graduated tokens. Keep it false by default. Include only if memecoins are specifically requested in the context."
                }
              },
              "required": []
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_market_summary",
            "description": "Get a summary of recent market-wide news including macroeconomics, major updates of well-known crypto projects and tokens, and most discussed topics on crypto Twitter and Telegram groups. This tool returns 10~20 bite-sized items about various topics like market trends, opportunities, catalysts and risks. Useful for knowing what's going on in crypto now.",
            "parameters": {
              "type": "object",
              "properties": {},
              "required": []
            }
          }
        }
      ]
    },
    "TruthSocialAgent": {
      "metadata": {
        "name": "Truth Social Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can retrieve and analyze posts from Donald Trump on Truth Social.",
        "external_apis": [
          "Apify"
        ],
        "tags": [
          "Politics"
        ],
        "hidden": true,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Trump.png",
        "examples": [
          "Get the latest posts from Donald Trump",
          "Analyze recent Truth Social content from Trump"
        ],
        "credits": {
          "default": 1
        }
      },
      "module": "truth_social_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_trump_posts",
            "description": "Retrieve recent posts from Donald Trump's Truth Social profile. This tool fetches public posts from Trump's Truth Social feed.",
            "parameters": {
              "type": "object",
              "properties": {
                "profile": {
                  "type": "string",
                  "description": "Truth Social profile handle with @ symbol (defaults to @realDonaldTrump)",
                  "default": "@realDonaldTrump"
                },
                "max_posts": {
                  "type": "integer",
                  "description": "Maximum number of posts to retrieve",
                  "default": 20
                }
              },
              "required": []
            }
          }
        }
      ]
    },
    "TwitterInfoAgent": {
      "metadata": {
        "name": "Twitter Profile Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent fetches a Twitter user's profile information and recent tweets. It's useful for getting project updates or tracking key opinion leaders (KOLs) in the space.",
        "external_apis": [
          "Twitter API"
        ],
        "tags": [
          "Twitter"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Twitter.png",
        "examples": [
          "Summarise recent updates of @heurist_ai",
          "What has @elonmusk been tweeting lately?",
          "Get the recent tweets from cz_binance",
          "Search for 'bitcoin' (single word search)",
          "Search for '#ETH' (hashtag search)"
        ],
        "credits": {
          "default": 1
        }
      },
      "module": "twitter_info_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_user_tweets",
            "description": "Fetch recent tweets from a specific Twitter user's timeline. This tool retrieves the most recent posts from a user's profile, including their own tweets and retweets. Use this when you want to see what a specific person or organization has been posting recently, track their updates, or analyze their Twitter activity patterns. The tool returns tweet content, engagement metrics (likes, retweets, replies), and timestamps. Maximum 50 tweets can be retrieved per request.",
            "parameters": {
              "type": "object",
              "properties": {
                "username": {
                  "type": "string",
                  "description": "Twitter username (with or without @) or numeric user ID"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of tweets to return (max: 50)",
                  "default": 10
                },
                "cursor": {
                  "type": "string",
                  "description": "Cursor to fetch the next page of tweets"
                }
              },
              "required": [
                "username"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_twitter_detail",
            "description": "Fetch detailed information about a specific tweet, including the full thread context and replies. This tool provides comprehensive data about a single tweet, including the original tweet content, any tweets in the same thread (if it's part of a conversation), and replies to the tweet. Use this when you need to understand the full context of a discussion, see how people are responding to a specific tweet, or analyze a Twitter thread. The tool returns the complete thread structure and engagement metrics.",
            "parameters": {
              "type": "object",
              "properties": {
                "tweet_id": {
                  "type": "string",
                  "description": "The ID of the tweet to fetch details for"
                },
                "cursor": {
                  "type": "string",
                  "description": "Cursor to fetch the next page of tweets"
                }
              },
              "required": [
                "tweet_id"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_general_search",
            "description": "Search for tweets using a SINGLE keyword, hashtag, or mention. WARNING: Multi-word searches often return EMPTY results on X/Twitter. ONLY use: single words (e.g., 'bitcoin'), hashtags (e.g., '#ETH'), mentions (e.g., '@username'), or exact phrases in quotes (e.g., '\"market crash\"'). NEVER use sentences or multiple unquoted words like 'latest bitcoin news' or 'what people think'. If you need to search for a complex topic, break it down into single keyword searches. This tool searches Twitter's public timeline for tweets matching your query. Each search query should be ONE concept only.",
            "parameters": {
              "type": "object",
              "properties": {
                "q": {
                  "type": "string",
                  "description": "The search query - MUST be a single keyword, hashtag (#example), mention (@username), or exact phrase in quotes. DO NOT use multiple words or sentences."
                },
                "cursor": {
                  "type": "string",
                  "description": "Cursor to fetch the next page of tweets"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of tweets to return",
                  "default": 20
                }
              },
              "required": [
                "q"
              ]
            }
          }
        }
      ]
    },
    "TwitterIntelligenceAgent": {
      "metadata": {
        "name": "Twitter Intelligence Agent",
        "version": "2.1.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Twitter/X tools (timeline, tweet detail, search)",
        "external_apis": [
          "Twitter/X",
          "Influential mentions"
        ],
        "tags": [
          "Twitter",
          "Social"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/twitter-agent.png",
        "examples": [
          "user_timeline(identifier='@heurist_ai')",
          "tweet_detail(tweet_id='1975788185671389308')",
          "tweet_detail(tweet_id='1975788185671389308', show_thread=true)",
          "twitter_search(queries=['#ETH','SOL'], limit=15)"
        ],
        "credits": {
          "default": 1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.01"
        },
        "erc8004": {
          "enabled": true,
          "wallet_chain_id": 1,
          "registrations": [
            {
              "agentId": 10302,
              "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
            }
          ],
          "supportedTrust": [
            "reputation"
          ],
          "active": true,
          "registrationUrl": "https://mesh-data.heurist.xyz/erc8004/TwitterIntelligenceAgent.json"
        }
      },
      "module": "twitter_intelligence_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "user_timeline",
            "description": "Fetch a Twitter/X user's recent posts. Use when you want their latest activity or official announcements.",
            "parameters": {
              "type": "object",
              "properties": {
                "identifier": {
                  "type": "string",
                  "description": "User handle (with @) or numeric user_id"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of tweets to return",
                  "minimum": 5,
                  "maximum": 50
                },
                "cursor": {
                  "type": "string",
                  "description": "Pagination cursor from a prior call"
                }
              },
              "required": [
                "identifier"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "tweet_detail",
            "description": "Get a tweet with its thread context and replies. Use this to read a single tweet or the full conversation.",
            "parameters": {
              "type": "object",
              "properties": {
                "tweet_id": {
                  "type": "string",
                  "description": "The tweet ID"
                },
                "cursor": {
                  "type": "string",
                  "description": "Pagination cursor for next replies page"
                },
                "replies_limit": {
                  "type": "integer",
                  "description": "Max number of replies to return",
                  "minimum": 1,
                  "maximum": 50
                },
                "show_thread": {
                  "type": "boolean",
                  "description": "If true, include the entire thread including all replies; default shows only the main tweet.",
                  "default": false
                }
              },
              "required": [
                "tweet_id"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "twitter_search",
            "description": "Search Twitter/X for posts and influential mentions of the query. Use this tool to find discussions about news, crypto, blockchain projects, or any other topic of interest.",
            "parameters": {
              "type": "object",
              "properties": {
                "queries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "1-3 search terms (e.g., 'bitcoin', '$ETH', '@coinbase', '\"exact phrase\"'). Case insensitive. Do not query the same term with variations of case or synonyms. Each of the queries should be within [English: one word or two-word phrase] [Chinese or Korean: one word, no more than 5 characters]. One query should be one concept only. Never use long sentences or long phrases as keywords."
                },
                "limit": {
                  "type": "integer",
                  "description": "Number of tweets to return."
                }
              },
              "required": [
                "queries"
              ]
            }
          }
        }
      ]
    },
    "UnifaiMeteoraInfoAgent": {
      "metadata": {
        "name": "UnifAI Meteora Info Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent provides Meteora pool information using UnifAI's API, including trending DLMM pools, dynamic AMM pools, and DLMM pool search functionality",
        "external_apis": [
          "UnifAI"
        ],
        "tags": [
          "Liquidity Pool"
        ],
        "hidden": false,
        "verified": false,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Unifai.png",
        "examples": [
          "Show me trending DLMM pools on Meteora",
          "Search for SOL/USDC pools",
          "Find dynamic AMM pools with high TVL",
          "Get DLMM pools for SOL token"
        ],
        "credits": {
          "default": 0
        }
      },
      "module": "unifai_meteora_info_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_trending_dlmm_pools",
            "description": "Get trending DLMM pools from Meteora",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of pools to return",
                  "default": 10,
                  "minimum": 1,
                  "maximum": 50
                },
                "include_pool_token_pairs": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional array of token pairs to include (e.g., ['SOL/USDC'])",
                  "default": []
                }
              }
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "search_dynamic_amm_pools",
            "description": "Search for dynamic AMM pools on Meteora",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "integer",
                  "description": "Number of pools to return",
                  "default": 10
                },
                "include_token_mints": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional array of token mint addresses to include (e.g., ['So11111111111111111111111111111111111111112'] for SOL)",
                  "default": []
                },
                "include_pool_token_pairs": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional array of token pairs to include (e.g., ['USDC-SOL'])",
                  "default": []
                }
              }
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "search_dlmm_pools",
            "description": "Search for DLMM pools on Meteora",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "integer",
                  "description": "Number of pools to return",
                  "default": 10
                },
                "include_pool_token_pairs": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional array of token pairs to include",
                  "default": []
                },
                "include_token_mints": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Optional array of token mint addresses to include",
                  "default": []
                }
              }
            }
          }
        }
      ]
    },
    "UnifaiTokenAnalysisAgent": {
      "metadata": {
        "name": "UnifAI Token Analysis Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent provides token analysis using UnifAI's API, including GMGN trend analysis (GMGN is a memecoin trading platform) and comprehensive token analysis for various cryptocurrencies",
        "external_apis": [
          "UnifAI"
        ],
        "tags": [
          "Token Analysis"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Unifai.png",
        "examples": [
          "Show me trending tokens on GMGN",
          "Analyze the ETH token for me",
          "What are the top 10 trending tokens on GMGN in the last 24 hours?",
          "Get token information for 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 on Ethereum"
        ],
        "credits": {
          "default": 0
        }
      },
      "module": "unifai_token_analysis_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_gmgn_trend",
            "description": "Get trending tokens from GMGN memecoin trading platform. Use this tool when you want to get trending memecoins.",
            "parameters": {
              "type": "object",
              "properties": {
                "time_window": {
                  "type": "string",
                  "description": "Time window for trends (e.g., '24h', '4h', '1h')",
                  "default": "24h"
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of trending tokens to return",
                  "default": 10,
                  "minimum": 1,
                  "maximum": 100
                }
              }
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_gmgn_token_info",
            "description": "Get detailed token information from GMGN (a memecoin trading platform). Use this tool to get new memecoin trading info, including basic market data, security metrics, liquidity info. Don't use this tool for large cap tokens or established projects.",
            "parameters": {
              "type": "object",
              "properties": {
                "chain": {
                  "type": "string",
                  "description": "Blockchain network (e.g., 'eth', 'sol', 'base', 'bsc')"
                },
                "address": {
                  "type": "string",
                  "description": "Token contract address"
                }
              },
              "required": [
                "chain",
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "analyze_token",
            "description": "Analyze a memecoin by its ticker. Use this tool to get a short summary of memecoin price, market cap and holder concentration. Don't use this tool for large cap tokens or established projects.",
            "parameters": {
              "type": "object",
              "properties": {
                "ticker": {
                  "type": "string",
                  "description": "Token ticker symbol (e.g., 'ETH', 'BTC', 'SOL')"
                }
              },
              "required": [
                "ticker"
              ]
            }
          }
        }
      ]
    },
    "UnifaiWeb3NewsAgent": {
      "metadata": {
        "name": "UnifAI Web3 News Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent fetches the latest Web3 and cryptocurrency news using UnifAI's API",
        "external_apis": [
          "UnifAI"
        ],
        "tags": [
          "News"
        ],
        "hidden": true,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Unifai.png",
        "examples": [
          "What are the latest crypto news?",
          "Get me the most recent Web3 developments",
          "Show the top blockchain news"
        ],
        "credits": {
          "default": 0.1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.001"
        }
      },
      "module": "unifai_web3_news_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "get_web3_news",
            "description": "Fetch the latest news of the Web3 and cryptocurrency space. Use this tool to check the most recent updates and most important developments in crypto. You must use this tool before answering any crypto-related questions to check the market sentiment and news.",
            "parameters": {
              "type": "object",
              "properties": {
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of news articles to return",
                  "default": 10
                }
              }
            }
          }
        }
      ]
    },
    "WanVideoGenAgent": {
      "metadata": {
        "name": "Wan Video Generation Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Generate videos using Alibaba Wan 2.2 models. Supports text-to-video and image-to-video generation in 480p resolution. Videos are stored on AI3 (Autonomys) decentralized storage with R2 fallback.",
        "external_apis": [
          "DashScope",
          "Autonomys Auto Drive"
        ],
        "tags": [
          "Video Generation"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Wan.png",
        "examples": [
          "Generate a video of a cat running on grass",
          "Create a video from an image showing ocean waves",
          "Check status of task: abc123"
        ],
        "credits": {
          "default": 15,
          "text_to_video_480p_5s": 15,
          "text_to_video_with_audio_480p_5s": 25,
          "image_to_video_plus_480p_5s": 15,
          "image_to_video_flash_480p_5s": 10,
          "image_to_video_with_audio_480p_5s": 25,
          "get_video_status": 0.1
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.15",
          "tool_prices": {
            "text_to_video_480p_5s": "0.15",
            "text_to_video_with_audio_480p_5s": "0.25",
            "image_to_video_plus_480p_5s": "0.15",
            "image_to_video_flash_480p_5s": "0.10",
            "image_to_video_with_audio_480p_5s": "0.25",
            "get_video_status": "0.001"
          }
        }
      },
      "module": "wan_video_gen_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "text_to_video_480p_5s",
            "description": "Generate 5-second 480p silent video from text using Wan 2.2 Plus",
            "parameters": {
              "type": "object",
              "properties": {
                "prompt": {
                  "type": "string",
                  "description": "Text description of the video to generate"
                },
                "prompt_extend": {
                  "type": "boolean",
                  "description": "Whether to extend/enhance the prompt automatically",
                  "default": true
                }
              },
              "required": [
                "prompt"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "text_to_video_with_audio_480p_5s",
            "description": "Generate 5-second 480p video WITH AUDIO from text using Wan 2.5 Preview",
            "parameters": {
              "type": "object",
              "properties": {
                "prompt": {
                  "type": "string",
                  "description": "Text description of the video to generate"
                },
                "prompt_extend": {
                  "type": "boolean",
                  "description": "Whether to extend/enhance the prompt automatically",
                  "default": true
                }
              },
              "required": [
                "prompt"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "image_to_video_plus_480p_5s",
            "description": "Generate 5-second 480p silent video from image using Wan 2.2 Plus (high quality)",
            "parameters": {
              "type": "object",
              "properties": {
                "prompt": {
                  "type": "string",
                  "description": "Description of how the image should animate"
                },
                "image_url": {
                  "type": "string",
                  "description": "URL of the image to animate"
                },
                "prompt_extend": {
                  "type": "boolean",
                  "description": "Whether to extend/enhance the prompt automatically",
                  "default": true
                }
              },
              "required": [
                "prompt",
                "image_url"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "image_to_video_flash_480p_5s",
            "description": "Generate 5-second 480p silent video from image using Wan 2.2 Flash (fast generation)",
            "parameters": {
              "type": "object",
              "properties": {
                "prompt": {
                  "type": "string",
                  "description": "Description of how the image should animate"
                },
                "image_url": {
                  "type": "string",
                  "description": "URL of the image to animate"
                },
                "prompt_extend": {
                  "type": "boolean",
                  "description": "Whether to extend/enhance the prompt automatically",
                  "default": true
                }
              },
              "required": [
                "prompt",
                "image_url"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "image_to_video_with_audio_480p_5s",
            "description": "Generate 5-second 480p video WITH AUDIO from image using Wan 2.5 Preview",
            "parameters": {
              "type": "object",
              "properties": {
                "prompt": {
                  "type": "string",
                  "description": "Description of how the image should animate"
                },
                "image_url": {
                  "type": "string",
                  "description": "URL of the image to animate"
                },
                "prompt_extend": {
                  "type": "boolean",
                  "description": "Whether to extend/enhance the prompt automatically",
                  "default": true
                }
              },
              "required": [
                "prompt",
                "image_url"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_video_status",
            "description": "Check the status of a video generation task and retrieve the video URL if completed.",
            "parameters": {
              "type": "object",
              "properties": {
                "task_id": {
                  "type": "string",
                  "description": "The task ID returned from text_to_video or image_to_video."
                }
              },
              "required": [
                "task_id"
              ]
            }
          }
        }
      ]
    },
    "YahooFinanceAgent": {
      "metadata": {
        "name": "Yahoo Finance Agent",
        "version": "3.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "Agent-friendly Yahoo Finance tools for symbol resolution, quote snapshots, normalized price history, technical analysis, options chains, news, market overview, equity overviews (fundamentals + analyst), fund snapshots, and curated equity screens.",
        "external_apis": [
          "Yahoo Finance"
        ],
        "tags": [
          "Market Analysis"
        ],
        "hidden": false,
        "verified": true,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/YFinance.png",
        "examples": [
          "Resolve the ticker for Apple",
          "Give me a quote snapshot for BTC-USD",
          "Get AAPL price history on 1h timeframe for 3 months",
          "Show me a technical snapshot for TSLA",
          "Find recent Nvidia news",
          "What is the market overview for US equities?",
          "Give me an equity overview for Microsoft",
          "Summarize the ETF SPY",
          "Show me today's Yahoo day gainers",
          "List AAPL option expirations and then the nearest chain",
          "Give me a quote snapshot for GC=F with recent history"
        ],
        "credits": {
          "default": 0.2
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.002"
        }
      },
      "module": "yahoo_finance_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "resolve_symbol",
            "description": "Resolve a company name, ticker fragment, or market term into agent-usable Yahoo Finance symbols. Use this before other tools when the symbol is ambiguous.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "Ticker, company name, or market term to resolve."
                },
                "asset_type": {
                  "type": "string",
                  "description": "Optional asset-type filter."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of matches to return.",
                  "default": 5
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "quote_snapshot",
            "description": "Return a compact current market snapshot for one or more exact Yahoo Finance symbols. Set include_history=true to also return recent bars and a window summary \u2014 use this for futures (GC=F, CL=F, NG=F) or whenever recent trend context is useful.",
            "parameters": {
              "type": "object",
              "properties": {
                "symbols": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "1 to 10 exact Yahoo Finance symbols (e.g. AAPL, SPY, BTC-USD, EURUSD=X, GC=F). A plain string is also accepted for single-symbol calls."
                },
                "include_history": {
                  "type": "boolean",
                  "description": "Include a compact recent history window, the latest and previous completed bars, and a window summary alongside the quote.",
                  "default": false
                },
                "interval": {
                  "type": "string",
                  "description": "History interval used when include_history is true.",
                  "default": "1d"
                },
                "period": {
                  "type": "string",
                  "description": "History window used when include_history is true.",
                  "default": "1mo"
                },
                "limit_bars": {
                  "type": "integer",
                  "description": "Maximum number of recent bars to return when include_history is true.",
                  "default": 10
                }
              },
              "required": [
                "symbols"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "price_history",
            "description": "Return normalized OHLCV price history for one or more exact Yahoo Finance symbols with compact metadata and the latest completed bar.",
            "parameters": {
              "type": "object",
              "properties": {
                "symbols": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "1 to 10 exact Yahoo Finance symbols. A plain string is also accepted for single-symbol calls."
                },
                "interval": {
                  "type": "string",
                  "description": "Bar interval.",
                  "default": "1d"
                },
                "period": {
                  "type": "string",
                  "enum": [
                    "1d",
                    "5d",
                    "1mo",
                    "3mo",
                    "6mo",
                    "1y",
                    "2y",
                    "5y",
                    "10y",
                    "ytd",
                    "max"
                  ],
                  "description": "Rolling lookback window. Ignored when start_date or end_date is provided."
                },
                "start_date": {
                  "type": "string",
                  "description": "Inclusive start date in YYYY-MM-DD format."
                },
                "end_date": {
                  "type": "string",
                  "description": "Exclusive end date in YYYY-MM-DD format."
                },
                "include_prepost": {
                  "type": "boolean",
                  "description": "Include pre/post-market bars for eligible symbols.",
                  "default": false
                },
                "repair": {
                  "type": "boolean",
                  "description": "Enable Yahoo Finance price-repair logic.",
                  "default": false
                },
                "limit_bars": {
                  "type": "integer",
                  "description": "Maximum number of bars to return in the `bars` array.",
                  "default": 50
                }
              },
              "required": [
                "symbols"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "technical_snapshot",
            "description": "Return a technical analysis snapshot for one or more exact Yahoo Finance symbols with trend, momentum, volatility, key levels, and a compact buy/sell/neutral signal.",
            "parameters": {
              "type": "object",
              "properties": {
                "symbols": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "1 to 10 exact Yahoo Finance symbols. A plain string is also accepted for single-symbol calls."
                },
                "interval": {
                  "type": "string",
                  "description": "Bar interval used for analysis.",
                  "default": "1d"
                },
                "period": {
                  "type": "string",
                  "enum": [
                    "1d",
                    "5d",
                    "1mo",
                    "3mo",
                    "6mo",
                    "1y",
                    "2y",
                    "5y",
                    "10y",
                    "ytd",
                    "max"
                  ],
                  "description": "History window for indicator computation. Defaults to 3mo for intraday intervals, 1y for daily and above."
                },
                "start_date": {
                  "type": "string",
                  "description": "Inclusive start date in YYYY-MM-DD format."
                },
                "end_date": {
                  "type": "string",
                  "description": "Exclusive end date in YYYY-MM-DD format."
                }
              },
              "required": [
                "symbols"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "options_chain",
            "description": "Two-mode options tool for one Yahoo Finance underlying. Call WITHOUT `expiration` to discover available expirations (days-to-expiration, monthly/weekly hints). Call WITH an exact `expiration` from that list to return a compact chain snapshot with bounded contract rows and open-interest / volume summaries.",
            "parameters": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "description": "One exact Yahoo Finance underlying symbol such as AAPL, MSFT, or SPY."
                },
                "expiration": {
                  "type": "string",
                  "description": "Optional expiration date in YYYY-MM-DD format. Omit on the first call to discover expirations. Pass an exact returned value on the second call to return that chain."
                },
                "side": {
                  "type": "string",
                  "description": "Which side of the chain to return. Ignored when expiration is omitted.",
                  "default": "both"
                },
                "moneyness": {
                  "type": "string",
                  "description": "Filter contracts by moneyness relative to the underlying spot price. Ignored when expiration is omitted.",
                  "default": "all"
                },
                "limit_contracts": {
                  "type": "integer",
                  "description": "Maximum number of contracts to return per side after filtering. Ignored when expiration is omitted.",
                  "default": 12
                },
                "min_strike": {
                  "type": "number",
                  "description": "Optional minimum strike filter. Ignored when expiration is omitted."
                },
                "max_strike": {
                  "type": "number",
                  "description": "Optional maximum strike filter. Ignored when expiration is omitted."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of expirations to return in discovery mode.",
                  "default": 12
                },
                "min_days_to_expiration": {
                  "type": "integer",
                  "description": "Optional minimum days-to-expiration filter in discovery mode."
                },
                "max_days_to_expiration": {
                  "type": "integer",
                  "description": "Optional maximum days-to-expiration filter in discovery mode."
                }
              },
              "required": [
                "symbol"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "news_search",
            "description": "Return news headlines and source URLs for a symbol, company, asset, or market topic. For 3+ word topical queries, this may redirect to an Exa digest fallback and return a summarized search result instead of Yahoo headline rows.",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "1-2 word search term: a ticker, company name, or short topic phrase (e.g. 'AAPL', 'Nvidia', 'tariffs impact'). Do not use sentences or questions."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of news items to return.",
                  "default": 5
                }
              },
              "required": [
                "query"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "market_overview",
            "description": "Return market-open status and a compact benchmark summary for one supported Yahoo market region.",
            "parameters": {
              "type": "object",
              "properties": {
                "market": {
                  "type": "string",
                  "description": "Market region to summarize. Each region covers its major indices and benchmarks.",
                  "default": "US"
                }
              },
              "required": [
                "market"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "equity_overview",
            "description": "Return a compact equity overview combining fundamentals (profile, valuation ratios, earnings calendar, financial statements) and analyst views (recommendations, price targets, estimates, EPS trend, revisions). Use `sections` to request a subset. Equity symbols only.",
            "parameters": {
              "type": "object",
              "properties": {
                "symbols": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "1 to 10 exact Yahoo Finance equity symbols. A plain string is also accepted for single-symbol calls."
                },
                "sections": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "fundamentals",
                      "analyst"
                    ]
                  },
                  "description": "Which sections to include. Defaults to both.",
                  "default": [
                    "fundamentals",
                    "analyst"
                  ]
                }
              },
              "required": [
                "symbols"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "fund_snapshot",
            "description": "Return compact ETF or mutual-fund snapshots including description, expense ratio, asset allocation, top holdings, and sector exposures. ETF and mutual-fund symbols only.",
            "parameters": {
              "type": "object",
              "properties": {
                "symbols": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "1 to 10 exact Yahoo Finance ETF or mutual-fund symbols. A plain string is also accepted for single-symbol calls."
                }
              },
              "required": [
                "symbols"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "equity_screen",
            "description": "Run one curated predefined Yahoo Finance equity screen and return compact candidate rows.",
            "parameters": {
              "type": "object",
              "properties": {
                "screen_name": {
                  "type": "string",
                  "description": "Screen to run. Each returns a ranked candidate list based on Yahoo Finance criteria for that category."
                },
                "limit": {
                  "type": "integer",
                  "description": "Maximum number of screened candidates to return.",
                  "default": 10
                }
              },
              "required": [
                "screen_name"
              ]
            }
          }
        }
      ]
    },
    "ZerionWalletAnalysisAgent": {
      "metadata": {
        "name": "Zerion Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent can fetch and analyze the token and NFT holdings of a crypto wallet (must be EVM chain)",
        "external_apis": [
          "Zerion"
        ],
        "tags": [
          "EVM Wallet"
        ],
        "hidden": false,
        "verified": true,
        "recommended": true,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Zerion.png",
        "examples": [
          "What tokens does 0x7d9d1821d15B9e0b8Ab98A058361233E255E405D hold?",
          "Show me all NFT collections owned by 0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
          "Analyze the token portfolio of wallet 0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
          "What's the total value of tokens in 0x7d9d1821d15B9e0b8Ab98A058361233E255E405D?",
          "Which tokens held by 0x7d9d1821d15B9e0b8Ab98A058361233E255E405D have had the most price change in the last 24 hours?"
        ],
        "credits": {
          "default": 0.5
        },
        "x402_config": {
          "enabled": true,
          "default_price_usd": "0.005"
        },
        "erc8004": {
          "enabled": true,
          "wallet_chain_id": 1,
          "registrations": [
            {
              "agentId": 10304,
              "agentRegistry": "eip155:1:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
            }
          ],
          "supportedTrust": [
            "reputation"
          ],
          "active": true,
          "registrationUrl": "https://mesh-data.heurist.xyz/erc8004/ZerionWalletAnalysisAgent.json"
        }
      },
      "module": "zerion_wallet_analysis_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "fetch_wallet_tokens",
            "description": "Fetch token holdings of an EVM wallet. The result includes the amount, USD value, 1-day price change, token contract address and the chain of all tokens held by the wallet. Use this tool if you want to know the token portfolio of the wallet or understand a user's onchain behavior.",
            "parameters": {
              "type": "object",
              "properties": {
                "wallet_address": {
                  "type": "string",
                  "description": "The EVM wallet address (starting with 0x and 42-character long) to analyze. You can also use 'SELF' for wallet_address to use the user's own wallet address."
                }
              },
              "required": [
                "wallet_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "fetch_wallet_nfts",
            "description": "Fetch NFT collections held by an EVM wallet. The result includes the number of NFTs, the collection name and description of the NFTs. Use this tool if you want to know the NFT portfolio of the wallet.",
            "parameters": {
              "type": "object",
              "properties": {
                "wallet_address": {
                  "type": "string",
                  "description": "The EVM wallet address (starting with 0x and 42-character long) to analyze. You can also use 'SELF' for wallet_address to use the user's own wallet address."
                }
              },
              "required": [
                "wallet_address"
              ]
            }
          }
        }
      ]
    },
    "ZoraAgent": {
      "metadata": {
        "name": "Zora Agent",
        "version": "1.0.0",
        "author": "Heurist team",
        "author_address": "0x7d9d1821d15B9e0b8Ab98A058361233E255E405D",
        "description": "This agent provides access to Zora protocol data including trending collections, coin holders, coin information, community comments, and user profiles",
        "external_apis": [
          "Zora"
        ],
        "tags": [
          "Social"
        ],
        "hidden": false,
        "verified": false,
        "recommended": false,
        "image_url": "https://raw.githubusercontent.com/heurist-network/heurist-agent-framework/refs/heads/main/mesh/images/Zora.png",
        "examples": [
          "Show me the top gainers on Zora",
          "Who are the most valuable creators?",
          "Get coin holders for address 0xd769d56f479e9e72a77bb1523e866a33098feec5 on Base",
          "Show me comments for this Zora coin",
          "What's the coin info for collection 0xd769d56f479e9e72a77bb1523e866a33098feec5?",
          "Show me the top volume collections in the last 24 hours",
          "Get profile information for user balraj",
          "Show me coins created by kazonomics",
          "What coins does kazonomics hold?"
        ]
      },
      "module": "zora_agent",
      "tools": [
        {
          "type": "function",
          "function": {
            "name": "explore_collections",
            "description": "Explore Zora collections by different metrics like top gainers, most valuable creators, top volume, or featured collections",
            "parameters": {
              "type": "object",
              "properties": {
                "list_type": {
                  "type": "string",
                  "description": "Type of collection list to retrieve",
                  "enum": [
                    "TOP_GAINERS",
                    "MOST_VALUABLE_CREATORS",
                    "TOP_VOLUME_24H",
                    "LAST_TRADED",
                    "FEATURED"
                  ],
                  "default": "TOP_GAINERS"
                },
                "count": {
                  "type": "integer",
                  "description": "Number of collections to retrieve",
                  "default": 10,
                  "minimum": 1,
                  "maximum": 100
                }
              },
              "required": [
                "list_type"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_coin_holders",
            "description": "Get the list of holders for a specific Zora coin/collection",
            "parameters": {
              "type": "object",
              "properties": {
                "chain_id": {
                  "type": "integer",
                  "description": "Blockchain chain ID (e.g., 8453 for Base)",
                  "default": 8453
                },
                "address": {
                  "type": "string",
                  "description": "Collection/coin contract address (e.g., 0xd769d56f479e9e72a77bb1523e866a33098feec5)"
                },
                "count": {
                  "type": "integer",
                  "description": "Number of holders to retrieve",
                  "default": 10,
                  "minimum": 1,
                  "maximum": 100
                }
              },
              "required": [
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_coin_info",
            "description": "Get detailed information about a specific Zora coin/collection",
            "parameters": {
              "type": "object",
              "properties": {
                "chain_id": {
                  "type": "integer",
                  "description": "Blockchain chain ID (e.g., 8453 for Base)",
                  "default": 8453
                },
                "collection_address": {
                  "type": "string",
                  "description": "Collection contract address (e.g., 0xd769d56f479e9e72a77bb1523e866a33098feec5)"
                }
              },
              "required": [
                "collection_address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_coin_comments",
            "description": "Get community comments for a specific Zora coin/collection",
            "parameters": {
              "type": "object",
              "properties": {
                "address": {
                  "type": "string",
                  "description": "Collection/coin contract address (e.g., 0xd769d56f479e9e72a77bb1523e866a33098feec5)"
                },
                "chain": {
                  "type": "integer",
                  "description": "Blockchain chain ID (e.g., 8453 for Base)",
                  "default": 8453
                },
                "count": {
                  "type": "integer",
                  "description": "Number of comments to retrieve",
                  "default": 10,
                  "minimum": 1,
                  "maximum": 50
                }
              },
              "required": [
                "address"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_profile",
            "description": "Get detailed information about a user's profile including handle, display name, and bio",
            "parameters": {
              "type": "object",
              "properties": {
                "identifier": {
                  "type": "string",
                  "description": "User identifier (username/handle, e.g., 'balraj' or 'kazonomics')"
                }
              },
              "required": [
                "identifier"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_profile_coins",
            "description": "Get coins created by a specific user",
            "parameters": {
              "type": "object",
              "properties": {
                "identifier": {
                  "type": "string",
                  "description": "User identifier (username/handle, e.g., 'balraj' or 'kazonomics')"
                },
                "count": {
                  "type": "integer",
                  "description": "Number of coins to retrieve",
                  "default": 30,
                  "minimum": 1,
                  "maximum": 100
                },
                "chain_ids": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "Array of chain IDs to filter by (e.g., [8453] for Base)",
                  "default": [
                    8453
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            }
          }
        },
        {
          "type": "function",
          "function": {
            "name": "get_profile_balances",
            "description": "Get all coin balances held by a specific user",
            "parameters": {
              "type": "object",
              "properties": {
                "identifier": {
                  "type": "string",
                  "description": "User identifier (username/handle, e.g., 'balraj' or 'kazonomics')"
                },
                "count": {
                  "type": "integer",
                  "description": "Number of balances to retrieve",
                  "default": 30,
                  "minimum": 1,
                  "maximum": 100
                },
                "sort_option": {
                  "type": "string",
                  "description": "Sort option for the results",
                  "enum": [
                    "BALANCE",
                    "MARKET_CAP",
                    "USD_VALUE",
                    "PRICE_CHANGE"
                  ],
                  "default": "USD_VALUE"
                },
                "exclude_hidden": {
                  "type": "boolean",
                  "description": "Whether to exclude hidden coins",
                  "default": true
                },
                "chain_ids": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "Array of chain IDs to filter by (e.g., [8453] for Base)",
                  "default": [
                    8453
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            }
          }
        }
      ]
    }
  }
}