{
  "name": "tokenDetailsAPI",
  "description": "Get comprehensive token details, historical prices, and price changes from the 1inch Token Details API. Supports 9 different endpoints for native tokens and specific token contracts.",
  "parameters": {
    "type": "object",
    "properties": {
      "endpoint": {
        "type": "string",
        "enum": [
          "native-details",
          "token-details", 
          "native-prices-range",
          "token-prices-range",
          "native-prices-interval",
          "token-prices-interval",
          "native-price-change",
          "token-price-change",
          "token-list-price-change"
        ],
        "description": "The specific endpoint to call. native-details: Get native token info, token-details: Get specific token info, native-prices-range: Get native token prices by time range, token-prices-range: Get token prices by time range, native-prices-interval: Get native token prices by interval, token-prices-interval: Get token prices by interval, native-price-change: Get native token price change, token-price-change: Get token price change, token-list-price-change: Get price changes for multiple tokens"
      },
      "chainId": {
        "type": "number",
        "enum": [1, 56, 137, 42161, 43114, 100, 10, 8453, 324, 59144, 146, 130],
        "description": "Chain ID where the tokens exist. 1=Ethereum, 56=BNB Chain, 137=Polygon, 42161=Arbitrum, 43114=Avalanche, 100=Gnosis, 10=Optimism, 8453=Base, 324=zkSync Era, 59144=Linea, 146=Arbitrum Nova, 130=Metis"
      },
      "contractAddress": {
        "type": "string",
        "description": "Contract address of the token (required for token-details endpoint)"
      },
      "tokenAddress": {
        "type": "string",
        "description": "Token contract address (required for token-prices-range, token-prices-interval, token-price-change endpoints)"
      },
      "tokenAddresses": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Array of token contract addresses (required for token-list-price-change endpoint)"
      },
      "interval": {
        "type": "string",
        "enum": ["5m", "10m", "15m", "30m", "50m", "1h", "2h", "3h", "4h", "6h", "12h", "24h", "2d", "3d", "7d", "14d", "15d", "30d", "60d", "90d", "365d", "max"],
        "description": "Time interval for price data. Required for native-prices-interval, token-prices-interval, native-price-change, token-price-change, and token-list-price-change endpoints"
      },
      "from": {
        "type": "number",
        "description": "Unix timestamp in seconds for start of time range (required for native-prices-range and token-prices-range endpoints)"
      },
      "to": {
        "type": "number", 
        "description": "Unix timestamp in seconds for end of time range (required for native-prices-range and token-prices-range endpoints)"
      },
      "provider": {
        "type": "string",
        "description": "Optional name of the chart provider"
      },
      "from_time": {
        "type": "number",
        "description": "Optional alternative from time parameter"
      }
    },
    "required": ["endpoint", "chainId"]
  }
} 