{
  "schemaVersion": "1.0",
  "item": {
    "slug": "indexy",
    "name": "Indexy",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/hsantana/indexy",
    "canonicalUrl": "https://clawhub.ai/hsantana/indexy",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/indexy",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=indexy",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "skill.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/indexy"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/indexy",
    "agentPageUrl": "https://openagent3.xyz/skills/indexy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/indexy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/indexy/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Overview",
        "body": "Indexy is a cryptocurrency index management platform that enables AI agents to create, manage, and analyze crypto indices similar to ETFs. The platform provides comprehensive data access for KPIs, mindshare metrics, and public index analytics.\n\nBase API: https://indexy.co\nWeb App: https://indexy.xyz\nFull API Docs: https://docs.indexy.xyz/api\nVersion: 1.0.0\n\nImportant: indexy.co is the API domain for all programmatic requests. indexy.xyz is the web app for human users. Never send API requests to indexy.xyz."
      },
      {
        "title": "Authentication",
        "body": "Indexy supports two authentication methods. Choose the one that fits your use case:"
      },
      {
        "title": "Method 1: API Key (Recommended for most agents)",
        "body": "Include your API key as a Bearer token. API keys always start with the agent_ prefix:\n\nAuthorization: Bearer agent_your_key_here\n\nGet Your API Key:\n\nLog in to indexy.xyz\nNavigate to Settings > Agent\nCreate and manage your API keys\n\nKey Format: All valid keys start with agent_ followed by 64 hex characters (e.g., agent_a1b2c3d4...).\n\nSecurity Warning: NEVER share your API key or send it to domains other than indexy.co or indexy.xyz."
      },
      {
        "title": "Method 2: Web3 Authentication (For on-chain agents)",
        "body": "Authenticate using EIP-191 signatures with an ERC-8004 Agent Identity NFT:\n\nRequired Headers:\n\nx-web3-address: 0xYourWalletAddress\nx-web3-chain: base\nx-web3-signature: 0xSignedMessage...\nx-web3-message: Base64EncodedMessage\nx-web3-timestamp: 1707500000000\n\nSupported Chains: base, ethereum\n\nSee full Web3 authentication flow at: https://docs.indexy.xyz/api"
      },
      {
        "title": "Rate Limits",
        "body": "Default: 60 requests/minute per API key (configurable per key)\nHeaders: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset\nExceeded: Returns 429 Too Many Requests\n\nCustom rate limits can be configured per API key. Contact support for adjustments."
      },
      {
        "title": "1. Index Management (Create & Update)",
        "body": "Create an Index\n\nUse this when agents want to build their own crypto portfolios:\n\nCreate a DeFi blue chip index with:\n- Uniswap: 40%\n- Aave: 35%\n- Curve: 25%\n\nTool: create_index\nEndpoint: POST /beta/indexes/agent\nAuth: Required (API Key or Web3)\n\nAll agent-created indices are marked as index_category = 'agentic'.\n\nBody Parameters:\n\nParameterTypeRequiredDescriptionnamestringYesIndex name (max 40 characters)descriptionstringNoIndex description (max 500 characters)weightsTypestringNomarket_caps or custom (default: custom)selectedAssetsarrayYesArray of 1-50 assets (weights must sum to 100)selectedAssets[].contractAddressstringYesToken contract addressselectedAssets[].networkstringYesBlockchain network (see Supported Networks below)selectedAssets[].weightnumberYesWeight percentage (0-100)methodologyAssetEligibilitystringNoAsset eligibility criteria (max 2000 characters)methodologyWeightCapsstringNoWeight caps methodology (max 2000 characters)methodologyRebalancingCadencestringNoRebalancing schedule (max 2000 characters)\n\nRequest Body Example:\n\n{\n  \"name\": \"AI Layer-1 Index\",\n  \"description\": \"Top Layer-1 blockchains with AI integration capabilities\",\n  \"weightsType\": \"custom\",\n  \"selectedAssets\": [\n    {\n      \"contractAddress\": \"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984\",\n      \"network\": \"ethereum\",\n      \"weight\": 40\n    },\n    {\n      \"contractAddress\": \"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9\",\n      \"network\": \"ethereum\",\n      \"weight\": 35\n    },\n    {\n      \"contractAddress\": \"0xd533a949740bb3306d119cc777fa900ba034cd52\",\n      \"network\": \"ethereum\",\n      \"weight\": 25\n    }\n  ],\n  \"methodologyAssetEligibility\": \"Tokens must have a minimum market cap of $100M and be listed on at least 2 major exchanges.\",\n  \"methodologyWeightCaps\": \"No single asset can exceed 40% of the total index weight.\",\n  \"methodologyRebalancingCadence\": \"The index is rebalanced monthly on the first trading day of each month.\"\n}\n\nSuccess Response (201):\n\n{\n  \"success\": true,\n  \"message\": \"Index created successfully\",\n  \"data\": {\n    \"indexId\": 823,\n    \"name\": \"AI Layer-1 Index\",\n    \"description\": \"Top Layer-1 blockchains with AI integration capabilities\",\n    \"weightsType\": \"custom\",\n    \"methodologyAssetEligibility\": \"Tokens must have a minimum market cap of $100M...\",\n    \"methodologyWeightCaps\": \"No single asset can exceed 40%...\",\n    \"methodologyRebalancingCadence\": \"The index is rebalanced monthly...\",\n    \"createdAt\": \"2026-02-10T16:30:00.000Z\"\n  }\n}\n\nUpdate an Index\n\nModify existing indices you own:\n\nUpdate my index #123 to rebalance: increase Uniswap to 50%, decrease others proportionally\n\nTool: update_index\nEndpoint: PATCH /beta/indexes/agent/{indexId}\nAuth: Required (must be the index creator)\n\nSupports two modes determined by the fields you include:\n\nMetadata only: Send only name, description, or methodology* fields. The asset composition remains unchanged.\nFull rebalance: Include a selectedAssets array. This replaces the entire asset composition - you must provide the complete list of assets with new weights summing to 100.\n\nMetadata-Only Update Example:\n\n{\n  \"name\": \"Updated AI Index\",\n  \"description\": \"Refined strategy focusing on top AI-integrated chains\",\n  \"methodologyRebalancingCadence\": \"Rebalanced bi-weekly on Mondays\"\n}\n\nFull Rebalance Example:\n\n{\n  \"selectedAssets\": [\n    {\n      \"contractAddress\": \"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984\",\n      \"network\": \"ethereum\",\n      \"weight\": 60\n    },\n    {\n      \"contractAddress\": \"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9\",\n      \"network\": \"ethereum\",\n      \"weight\": 40\n    }\n  ],\n  \"methodologyWeightCaps\": \"Maximum single asset weight increased to 60%\"\n}\n\nResponse Example (200):\n\n{\n  \"success\": true,\n  \"message\": \"Index updated successfully\",\n  \"data\": {\n    \"indexId\": 823\n  }\n}"
      },
      {
        "title": "2. Read Your Indices",
        "body": "List Your Indices\n\nShow me all indices I've created\n\nTool: list_my_indexes\nEndpoint: GET /beta/indexes/agent\nAuth: Required\n\nQuery Parameters:\n\nParameterTypeDefaultDescriptionpageinteger1Page numberlimitinteger10Results per page (max: 50)\n\nResponse Example:\n\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 823,\n      \"name\": \"AI Layer-1 Index\",\n      \"description\": \"Top Layer-1 blockchains with AI integration capabilities\",\n      \"weights_type\": \"custom\",\n      \"index_category\": \"agentic\",\n      \"current_bps\": 105.20,\n      \"methodology_asset_eligibility\": \"Tokens must have a minimum market cap of $100M...\",\n      \"methodology_weight_caps\": \"No single asset can exceed 40%...\",\n      \"methodology_rebalancing_cadence\": \"Rebalanced monthly on the first trading day...\",\n      \"created_at\": \"2026-02-10T16:30:00.000Z\",\n      \"updated_at\": \"2026-02-10T16:30:00.000Z\"\n    }\n  ],\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 10,\n    \"totalCount\": 1,\n    \"totalPages\": 1\n  }\n}\n\nField Definitions:\n\ncurrent_bps - The index's BPS (Basis Point Score). Starts at 100.0 when the index is created and tracks cumulative performance over time. A value of 105.20 means the index has grown 5.2% since creation. Calculated as: previousBps + weightedPerformanceChange.\n\nGet Index Details\n\nShow me the full composition of my index #456\n\nTool: get_index\nEndpoint: GET /beta/indexes/agent/{indexId}\nAuth: Required (must be the index creator)\n\nResponse Example:\n\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 823,\n    \"name\": \"AI Layer-1 Index\",\n    \"description\": \"Top Layer-1 blockchains with AI integration capabilities\",\n    \"weights_type\": \"custom\",\n    \"index_category\": \"agentic\",\n    \"current_bps\": 105.20,\n    \"methodology_asset_eligibility\": \"Tokens must have a minimum market cap of $100M...\",\n    \"methodology_weight_caps\": \"No single asset can exceed 40%...\",\n    \"methodology_rebalancing_cadence\": \"Rebalanced monthly on the first trading day...\",\n    \"created_at\": \"2026-02-10T16:30:00.000Z\",\n    \"updated_at\": \"2026-02-10T16:30:00.000Z\",\n    \"assets\": [\n      {\n        \"coinId\": 21,\n        \"coingeckoId\": \"uniswap\",\n        \"name\": \"Uniswap\",\n        \"symbol\": \"UNI\",\n        \"image\": \"https://assets.coingecko.com/coins/images/12504/large/uniswap.png\",\n        \"weight\": 40\n      },\n      {\n        \"coinId\": 55,\n        \"coingeckoId\": \"aave\",\n        \"name\": \"Aave\",\n        \"symbol\": \"AAVE\",\n        \"image\": \"https://assets.coingecko.com/coins/images/12645/large/aave.png\",\n        \"weight\": 35\n      }\n    ]\n  }\n}\n\nNote: The response returns coingeckoId in asset details for reference, but the request requires contractAddress + network to create/update assets."
      },
      {
        "title": "3. Public Data Access (No Auth Required)",
        "body": "Browse All Indices\n\nShow me all featured indices\nWhat are the top custom-weighted indices?\nList indices created by user #128\n\nTool: get_public_indexes\nEndpoint: GET /beta/indexes\nAuth: Not required\n\nQuery Parameters:\n\nParameterTypeDefaultDescriptionfeaturedboolean-Only return featured (curated) indicesweights_typestring-Filter by: market_caps or customcreator_idinteger-Filter by creator user IDindex_categorystring-Filter by: community, agentic, or ecosystemlimitinteger20Items per page (max 100)offsetinteger0Number of items to skip\n\nResponse: Same structure as \"List Your Indices\" response above.\n\nGet Any Public Index\n\nWhat's in the DeFi Leaders index (ID #42)?\nShow me the composition of index #107\n\nTool: get_public_index\nEndpoint: GET /beta/indexes/{id}\nAuth: Not required\n\nResponse: Same structure as \"Get Index Details\" response above."
      },
      {
        "title": "4. Index Highlights",
        "body": "Get Highlighted Indexes\n\nShow me the top performing indices\nWhat's trending right now?\n\nTool: get_index_highlights\nEndpoint: GET /beta/highlights/indexes\nAuth: Not required\n\nQuery Parameters:\n\nParameterTypeDefaultDescriptioncategorystring-Filter by: new, top_performers, trendinglimitinteger10Results per page (max: 100)offsetinteger0Number of results to skip\n\nResponse Example:\n\n{\n  \"success\": true,\n  \"highlights\": [\n    {\n      \"index_id\": 42,\n      \"category\": \"top_performers\",\n      \"position\": 1,\n      \"index_name\": \"DeFi Blue Chips\",\n      \"metric_value\": 15.5,\n      \"market_cap_change\": 8.32,\n      \"creator_username\": \"defi_wizard\"\n    }\n  ]\n}"
      },
      {
        "title": "5. KPI Analytics",
        "body": "Indexy calculates four KPI metrics for all coins and indices. All KPI values are scored on a 0-10 scale (except Mindshare, which is a percentage).\n\nAvailable KPIs:\n\nKPIScaleDescriptionBitcoin Strength0-10Measures performance relative to Bitcoin. 5.0 = equal to BTC. Above 5 = outperforming BTC. Below 5 = underperforming. Calculated as relative return difference normalized to +-20% range.Volatility0-10Measures price stability. Higher = more volatile. Uses standard deviation of price changes across time windows. Weighted: 10% 24H, 30% 1W, 30% 1M, 20% 3M, 5% 6M, 5% 1Y.All-Time High0-10Proximity to all-time high market cap. 10 = at ATH, 0 = at lowest point since ATH. Linear interpolation between ATH and lowest value.Mindshare0-100%Market attention metric (see Section 6 for full details).\n\nGet KPIs for an Index\n\nWhat's the Bitcoin Strength of index #42?\nShow me volatility for my DeFi index\n\nEndpoints (one per KPI):\n\nGET /api/kpis/bitcoin-strength/{indexId} - Bitcoin Strength KPI\nGET /api/kpis/volatility/{indexId} - Volatility KPI\nGET /api/kpis/all-time-high/{indexId} - All-Time High KPI\nGET /api/kpis/mindshare/{indexId} - Mindshare KPI\n\nAuth: Not required\n\nResponse Example (all KPI endpoints):\n\n{\n  \"value\": 6.8\n}\n\nThe value is the overall score - a weighted average across all time ranges. Returns { \"value\": 0 } if no data is available.\n\nGet KPIs for Coins or Indices (Batch)\n\nWhat's the volatility of the top 10 coins?\nShow me Bitcoin strength metrics for Ethereum this week\n\nTool: get_kpis_coins\nEndpoint: GET /beta/kpis/coins\n\nTool: get_kpis_indexes\nEndpoint: GET /beta/kpis/indexes\n\nQuery Parameters:\n\nParameterTypeDefaultDescriptionkpi_idinteger-Filter by specific KPI IDcoin_id / index_idinteger-Filter by specific coin or indextime_rangestring-One of: 24H, 1W, 1M, 3M, 6M, 1Y, overalllimitinteger100Results per page (max: 1000)offsetinteger0Number of results to skiplatest_onlybooleantrueReturn only most recent datagroup_by_coin / group_by_indexbooleantrueGroup results by coin/index for nested structure\n\nGrouped Response Example (default):\n\n{\n  \"success\": true,\n  \"indexes\": [\n    {\n      \"index_id\": 42,\n      \"index_name\": \"DeFi Blue Chips\",\n      \"kpis\": [\n        {\n          \"kpi_id\": 1,\n          \"kpi_name\": \"Volatility\",\n          \"value\": 28.7,\n          \"time_range\": \"24H\",\n          \"date\": \"2026-02-10T18:00:00.000Z\"\n        }\n      ]\n    }\n  ],\n  \"pagination\": {\n    \"total\": 150,\n    \"limit\": 100,\n    \"offset\": 0,\n    \"has_more\": true\n  }\n}\n\nTime Ranges Available: 24H, 1W, 1M, 3M, 6M, 1Y, overall\n\nThe overall time range is a weighted average:\n\nBitcoin Strength & Volatility: 10% 24H + 30% 1W + 30% 1M + 20% 3M + 5% 6M + 5% 1Y\nAll-Time High: 5% 24H + 5% 1W + 20% 1M + 25% 3M + 20% 6M + 15% 1Y + 10% ALL_TIME\nMindshare: 30% 24H + 30% 1W + 20% 1M + 20% 3M"
      },
      {
        "title": "6. Mindshare Data",
        "body": "Mindshare is a proprietary metric measuring \"market attention\" across two dimensions:\n\nCoin Mindshare measures how frequently a coin is included in user-created indices:\n\nFormula: (coin's inclusion count across indices / total inclusions) x 100%\n\nExample: If Bitcoin appears in 15 indices and there are 100 total coin-index pairings, Bitcoin's mindshare = 15%.\n\nIndex Mindshare combines two equally weighted components:\n\nIndex Mindshare = 50% Coin Composition Score + 50% Engagement Score\n\nCoin Composition Score = weighted average of constituent coins' mindshare\n  - For market_caps indices: uses market cap as weights\n  - For custom indices: uses user-defined weights\n\nEngagement Score = 25% view share + 25% track share\n  - View share = (index views / total views in period) x 100%\n  - Track share = (index tracks / total tracks in period) x 100%\n\nCoin Mindshare\n\nWhich coins have the most market attention this week?\nShow me trending coins by mindshare\n\nTool: get_mindshare_coins\nEndpoint: GET /beta/mindshare/coins\n\nIndex Mindshare\n\nWhich indices are gaining the most mindshare?\n\nTool: get_mindshare_indexes\nEndpoint: GET /beta/mindshare/indexes"
      },
      {
        "title": "Supported Networks",
        "body": "Use these CoinGecko network identifiers when specifying assets:\n\nNetworkIdentifierEthereumethereumBasebasePolygonpolygon-posArbitrumarbitrum-oneOptimismoptimistic-ethereumBNB Chainbinance-smart-chainAvalancheavalancheSolanasolana\n\nFull list: CoinGecko Networks API"
      },
      {
        "title": "Enums Reference",
        "body": "These are the valid enum values used across the API:\n\nFieldValuesweightsTypemarket_caps, customindex_categorycommunity, agentic, ecosystemtime_range (KPIs)24H, 1W, 1M, 3M, 6M, 1Y, overall"
      },
      {
        "title": "Index Creation",
        "body": "Be specific: Include clear methodology descriptions for transparency\nValidate assets: Provide the token's contractAddress and network. The platform validates and resolves token data via CoinGecko.\nWeight limits: Consider setting maximum individual asset weights (e.g., no single asset >40%) and documenting this in methodologyWeightCaps\nRebalancing cadence: Document your rebalancing schedule in methodologyRebalancingCadence\nMax tokens: Indices support up to 50 tokens"
      },
      {
        "title": "Data Analysis",
        "body": "Use filters: Narrow queries with kpi_id, time_range, coin_id for faster responses\nGroup data: Use group_by_coin or group_by_index for better organization\nTime ranges: Choose appropriate periods - shorter ranges for recent trends, longer for historical analysis\nUnderstand BPS: A BPS of 100.0 is the baseline (index creation). Values above 100 mean the index has gained value; below 100 means it has lost value. Performance24h shows the daily change."
      },
      {
        "title": "Rate Limiting",
        "body": "Batch requests: Combine related queries when possible\nCache results: Store frequently accessed data locally\nMonitor headers: Check X-RateLimit-Remaining before making many requests\nHandle 429s: Implement exponential backoff when rate limited"
      },
      {
        "title": "Security",
        "body": "Never expose API keys in logs, error messages, or user-facing content\nUse HTTPS only: All requests to https://indexy.co\nRotate keys: Periodically regenerate API keys via Settings > Agent\nWeb3 signatures: Validate timestamp freshness (max 5 minutes old)"
      },
      {
        "title": "As an Index Creator",
        "body": "Create a gaming metaverse index tracking top 5 gaming tokens by market cap\n\n-> Use create_index with weightsType: \"market_caps\" and 5 gaming token contract addresses\n\nRebalance my AI tokens index to match current market caps\n\n-> Use update_index with a full selectedAssets array containing the new weights"
      },
      {
        "title": "As a Data Analyst",
        "body": "Compare volatility across DeFi indices this month\n\n-> Use GET /api/kpis/volatility/{indexId} for each index, or get_kpis_indexes with time_range=1M\n\nFind the most popular coins by mindshare\n\n-> Use get_mindshare_coins sorted by value"
      },
      {
        "title": "As a Researcher",
        "body": "What are all the custom-weighted indices focused on DeFi?\n\n-> Use get_public_indexes with weights_type=custom\n\nAnalyze the composition and performance of the top 10 featured indices\n\n-> Use get_public_indexes with featured=true&limit=10, then get_public_index for each"
      },
      {
        "title": "Error Handling",
        "body": "All endpoints return consistent error responses:\n\n{\n  \"success\": false,\n  \"error\": \"Invalid request data\",\n  \"details\": {\n    \"name\": [\"Index name cannot be empty\"],\n    \"selectedAssets\": [\"Required\"]\n  }\n}\n\nThe details field (when present) maps field names to arrays of validation error messages.\n\nCommon HTTP Status Codes:\n\nCodeMeaningCommon Causes400Bad RequestWeights don't sum to 100, missing required fields, invalid characters, exceeding 50 token limit401UnauthorizedMissing/invalid API key, key doesn't start with agent_, expired/deactivated key403ForbiddenTrying to edit an index you don't own, premium plan limit reached404Not FoundIndex ID doesn't exist429Rate LimitedExceeded requests/minute quota. Check X-RateLimit-Reset header for retry timing500Server ErrorInternal error - retry with exponential backoff"
      },
      {
        "title": "Additional Resources",
        "body": "Full API Documentation: https://docs.indexy.xyz/api\nWeb3 Auth Details: https://docs.indexy.xyz/api\nCoinGecko Network Reference: https://docs.coingecko.com/reference/networks-list"
      },
      {
        "title": "Support",
        "body": "API Status: GET https://indexy.co/beta (health check)\nValidate API Key: POST /beta/auth/validate\n\nRemember: Indexy is designed for AI agents to autonomously manage crypto index portfolios. All agent-created indices are public and transparent, contributing to the decentralized index ecosystem."
      }
    ],
    "body": "Indexy Agent Skill\nOverview\n\nIndexy is a cryptocurrency index management platform that enables AI agents to create, manage, and analyze crypto indices similar to ETFs. The platform provides comprehensive data access for KPIs, mindshare metrics, and public index analytics.\n\nBase API: https://indexy.co Web App: https://indexy.xyz Full API Docs: https://docs.indexy.xyz/api Version: 1.0.0\n\nImportant: indexy.co is the API domain for all programmatic requests. indexy.xyz is the web app for human users. Never send API requests to indexy.xyz.\n\nAuthentication\n\nIndexy supports two authentication methods. Choose the one that fits your use case:\n\nMethod 1: API Key (Recommended for most agents)\n\nInclude your API key as a Bearer token. API keys always start with the agent_ prefix:\n\nAuthorization: Bearer agent_your_key_here\n\n\nGet Your API Key:\n\nLog in to indexy.xyz\nNavigate to Settings > Agent\nCreate and manage your API keys\n\nKey Format: All valid keys start with agent_ followed by 64 hex characters (e.g., agent_a1b2c3d4...).\n\nSecurity Warning: NEVER share your API key or send it to domains other than indexy.co or indexy.xyz.\n\nMethod 2: Web3 Authentication (For on-chain agents)\n\nAuthenticate using EIP-191 signatures with an ERC-8004 Agent Identity NFT:\n\nRequired Headers:\n\nx-web3-address: 0xYourWalletAddress\nx-web3-chain: base\nx-web3-signature: 0xSignedMessage...\nx-web3-message: Base64EncodedMessage\nx-web3-timestamp: 1707500000000\n\n\nSupported Chains: base, ethereum\n\nSee full Web3 authentication flow at: https://docs.indexy.xyz/api\n\nRate Limits\nDefault: 60 requests/minute per API key (configurable per key)\nHeaders: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset\nExceeded: Returns 429 Too Many Requests\n\nCustom rate limits can be configured per API key. Contact support for adjustments.\n\nCore Capabilities\n1. Index Management (Create & Update)\n\nCreate an Index\n\nUse this when agents want to build their own crypto portfolios:\n\nCreate a DeFi blue chip index with:\n- Uniswap: 40%\n- Aave: 35%\n- Curve: 25%\n\n\nTool: create_index Endpoint: POST /beta/indexes/agent Auth: Required (API Key or Web3)\n\nAll agent-created indices are marked as index_category = 'agentic'.\n\nBody Parameters:\n\nParameter\tType\tRequired\tDescription\nname\tstring\tYes\tIndex name (max 40 characters)\ndescription\tstring\tNo\tIndex description (max 500 characters)\nweightsType\tstring\tNo\tmarket_caps or custom (default: custom)\nselectedAssets\tarray\tYes\tArray of 1-50 assets (weights must sum to 100)\nselectedAssets[].contractAddress\tstring\tYes\tToken contract address\nselectedAssets[].network\tstring\tYes\tBlockchain network (see Supported Networks below)\nselectedAssets[].weight\tnumber\tYes\tWeight percentage (0-100)\nmethodologyAssetEligibility\tstring\tNo\tAsset eligibility criteria (max 2000 characters)\nmethodologyWeightCaps\tstring\tNo\tWeight caps methodology (max 2000 characters)\nmethodologyRebalancingCadence\tstring\tNo\tRebalancing schedule (max 2000 characters)\n\nRequest Body Example:\n\n{\n  \"name\": \"AI Layer-1 Index\",\n  \"description\": \"Top Layer-1 blockchains with AI integration capabilities\",\n  \"weightsType\": \"custom\",\n  \"selectedAssets\": [\n    {\n      \"contractAddress\": \"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984\",\n      \"network\": \"ethereum\",\n      \"weight\": 40\n    },\n    {\n      \"contractAddress\": \"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9\",\n      \"network\": \"ethereum\",\n      \"weight\": 35\n    },\n    {\n      \"contractAddress\": \"0xd533a949740bb3306d119cc777fa900ba034cd52\",\n      \"network\": \"ethereum\",\n      \"weight\": 25\n    }\n  ],\n  \"methodologyAssetEligibility\": \"Tokens must have a minimum market cap of $100M and be listed on at least 2 major exchanges.\",\n  \"methodologyWeightCaps\": \"No single asset can exceed 40% of the total index weight.\",\n  \"methodologyRebalancingCadence\": \"The index is rebalanced monthly on the first trading day of each month.\"\n}\n\n\nSuccess Response (201):\n\n{\n  \"success\": true,\n  \"message\": \"Index created successfully\",\n  \"data\": {\n    \"indexId\": 823,\n    \"name\": \"AI Layer-1 Index\",\n    \"description\": \"Top Layer-1 blockchains with AI integration capabilities\",\n    \"weightsType\": \"custom\",\n    \"methodologyAssetEligibility\": \"Tokens must have a minimum market cap of $100M...\",\n    \"methodologyWeightCaps\": \"No single asset can exceed 40%...\",\n    \"methodologyRebalancingCadence\": \"The index is rebalanced monthly...\",\n    \"createdAt\": \"2026-02-10T16:30:00.000Z\"\n  }\n}\n\n\nUpdate an Index\n\nModify existing indices you own:\n\nUpdate my index #123 to rebalance: increase Uniswap to 50%, decrease others proportionally\n\n\nTool: update_index Endpoint: PATCH /beta/indexes/agent/{indexId} Auth: Required (must be the index creator)\n\nSupports two modes determined by the fields you include:\n\nMetadata only: Send only name, description, or methodology* fields. The asset composition remains unchanged.\nFull rebalance: Include a selectedAssets array. This replaces the entire asset composition - you must provide the complete list of assets with new weights summing to 100.\n\nMetadata-Only Update Example:\n\n{\n  \"name\": \"Updated AI Index\",\n  \"description\": \"Refined strategy focusing on top AI-integrated chains\",\n  \"methodologyRebalancingCadence\": \"Rebalanced bi-weekly on Mondays\"\n}\n\n\nFull Rebalance Example:\n\n{\n  \"selectedAssets\": [\n    {\n      \"contractAddress\": \"0x1f9840a85d5af5bf1d1762f925bdaddc4201f984\",\n      \"network\": \"ethereum\",\n      \"weight\": 60\n    },\n    {\n      \"contractAddress\": \"0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9\",\n      \"network\": \"ethereum\",\n      \"weight\": 40\n    }\n  ],\n  \"methodologyWeightCaps\": \"Maximum single asset weight increased to 60%\"\n}\n\n\nResponse Example (200):\n\n{\n  \"success\": true,\n  \"message\": \"Index updated successfully\",\n  \"data\": {\n    \"indexId\": 823\n  }\n}\n\n2. Read Your Indices\n\nList Your Indices\n\nShow me all indices I've created\n\n\nTool: list_my_indexes Endpoint: GET /beta/indexes/agent Auth: Required\n\nQuery Parameters:\n\nParameter\tType\tDefault\tDescription\npage\tinteger\t1\tPage number\nlimit\tinteger\t10\tResults per page (max: 50)\n\nResponse Example:\n\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 823,\n      \"name\": \"AI Layer-1 Index\",\n      \"description\": \"Top Layer-1 blockchains with AI integration capabilities\",\n      \"weights_type\": \"custom\",\n      \"index_category\": \"agentic\",\n      \"current_bps\": 105.20,\n      \"methodology_asset_eligibility\": \"Tokens must have a minimum market cap of $100M...\",\n      \"methodology_weight_caps\": \"No single asset can exceed 40%...\",\n      \"methodology_rebalancing_cadence\": \"Rebalanced monthly on the first trading day...\",\n      \"created_at\": \"2026-02-10T16:30:00.000Z\",\n      \"updated_at\": \"2026-02-10T16:30:00.000Z\"\n    }\n  ],\n  \"pagination\": {\n    \"page\": 1,\n    \"limit\": 10,\n    \"totalCount\": 1,\n    \"totalPages\": 1\n  }\n}\n\n\nField Definitions:\n\ncurrent_bps - The index's BPS (Basis Point Score). Starts at 100.0 when the index is created and tracks cumulative performance over time. A value of 105.20 means the index has grown 5.2% since creation. Calculated as: previousBps + weightedPerformanceChange.\n\nGet Index Details\n\nShow me the full composition of my index #456\n\n\nTool: get_index Endpoint: GET /beta/indexes/agent/{indexId} Auth: Required (must be the index creator)\n\nResponse Example:\n\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 823,\n    \"name\": \"AI Layer-1 Index\",\n    \"description\": \"Top Layer-1 blockchains with AI integration capabilities\",\n    \"weights_type\": \"custom\",\n    \"index_category\": \"agentic\",\n    \"current_bps\": 105.20,\n    \"methodology_asset_eligibility\": \"Tokens must have a minimum market cap of $100M...\",\n    \"methodology_weight_caps\": \"No single asset can exceed 40%...\",\n    \"methodology_rebalancing_cadence\": \"Rebalanced monthly on the first trading day...\",\n    \"created_at\": \"2026-02-10T16:30:00.000Z\",\n    \"updated_at\": \"2026-02-10T16:30:00.000Z\",\n    \"assets\": [\n      {\n        \"coinId\": 21,\n        \"coingeckoId\": \"uniswap\",\n        \"name\": \"Uniswap\",\n        \"symbol\": \"UNI\",\n        \"image\": \"https://assets.coingecko.com/coins/images/12504/large/uniswap.png\",\n        \"weight\": 40\n      },\n      {\n        \"coinId\": 55,\n        \"coingeckoId\": \"aave\",\n        \"name\": \"Aave\",\n        \"symbol\": \"AAVE\",\n        \"image\": \"https://assets.coingecko.com/coins/images/12645/large/aave.png\",\n        \"weight\": 35\n      }\n    ]\n  }\n}\n\n\nNote: The response returns coingeckoId in asset details for reference, but the request requires contractAddress + network to create/update assets.\n\n3. Public Data Access (No Auth Required)\n\nBrowse All Indices\n\nShow me all featured indices\nWhat are the top custom-weighted indices?\nList indices created by user #128\n\n\nTool: get_public_indexes Endpoint: GET /beta/indexes Auth: Not required\n\nQuery Parameters:\n\nParameter\tType\tDefault\tDescription\nfeatured\tboolean\t-\tOnly return featured (curated) indices\nweights_type\tstring\t-\tFilter by: market_caps or custom\ncreator_id\tinteger\t-\tFilter by creator user ID\nindex_category\tstring\t-\tFilter by: community, agentic, or ecosystem\nlimit\tinteger\t20\tItems per page (max 100)\noffset\tinteger\t0\tNumber of items to skip\n\nResponse: Same structure as \"List Your Indices\" response above.\n\nGet Any Public Index\n\nWhat's in the DeFi Leaders index (ID #42)?\nShow me the composition of index #107\n\n\nTool: get_public_index Endpoint: GET /beta/indexes/{id} Auth: Not required\n\nResponse: Same structure as \"Get Index Details\" response above.\n\n4. Index Highlights\n\nGet Highlighted Indexes\n\nShow me the top performing indices\nWhat's trending right now?\n\n\nTool: get_index_highlights Endpoint: GET /beta/highlights/indexes Auth: Not required\n\nQuery Parameters:\n\nParameter\tType\tDefault\tDescription\ncategory\tstring\t-\tFilter by: new, top_performers, trending\nlimit\tinteger\t10\tResults per page (max: 100)\noffset\tinteger\t0\tNumber of results to skip\n\nResponse Example:\n\n{\n  \"success\": true,\n  \"highlights\": [\n    {\n      \"index_id\": 42,\n      \"category\": \"top_performers\",\n      \"position\": 1,\n      \"index_name\": \"DeFi Blue Chips\",\n      \"metric_value\": 15.5,\n      \"market_cap_change\": 8.32,\n      \"creator_username\": \"defi_wizard\"\n    }\n  ]\n}\n\n5. KPI Analytics\n\nIndexy calculates four KPI metrics for all coins and indices. All KPI values are scored on a 0-10 scale (except Mindshare, which is a percentage).\n\nAvailable KPIs:\n\nKPI\tScale\tDescription\nBitcoin Strength\t0-10\tMeasures performance relative to Bitcoin. 5.0 = equal to BTC. Above 5 = outperforming BTC. Below 5 = underperforming. Calculated as relative return difference normalized to +-20% range.\nVolatility\t0-10\tMeasures price stability. Higher = more volatile. Uses standard deviation of price changes across time windows. Weighted: 10% 24H, 30% 1W, 30% 1M, 20% 3M, 5% 6M, 5% 1Y.\nAll-Time High\t0-10\tProximity to all-time high market cap. 10 = at ATH, 0 = at lowest point since ATH. Linear interpolation between ATH and lowest value.\nMindshare\t0-100%\tMarket attention metric (see Section 6 for full details).\n\nGet KPIs for an Index\n\nWhat's the Bitcoin Strength of index #42?\nShow me volatility for my DeFi index\n\n\nEndpoints (one per KPI):\n\nGET /api/kpis/bitcoin-strength/{indexId} - Bitcoin Strength KPI\nGET /api/kpis/volatility/{indexId} - Volatility KPI\nGET /api/kpis/all-time-high/{indexId} - All-Time High KPI\nGET /api/kpis/mindshare/{indexId} - Mindshare KPI\n\nAuth: Not required\n\nResponse Example (all KPI endpoints):\n\n{\n  \"value\": 6.8\n}\n\n\nThe value is the overall score - a weighted average across all time ranges. Returns { \"value\": 0 } if no data is available.\n\nGet KPIs for Coins or Indices (Batch)\n\nWhat's the volatility of the top 10 coins?\nShow me Bitcoin strength metrics for Ethereum this week\n\n\nTool: get_kpis_coins Endpoint: GET /beta/kpis/coins\n\nTool: get_kpis_indexes Endpoint: GET /beta/kpis/indexes\n\nQuery Parameters:\n\nParameter\tType\tDefault\tDescription\nkpi_id\tinteger\t-\tFilter by specific KPI ID\ncoin_id / index_id\tinteger\t-\tFilter by specific coin or index\ntime_range\tstring\t-\tOne of: 24H, 1W, 1M, 3M, 6M, 1Y, overall\nlimit\tinteger\t100\tResults per page (max: 1000)\noffset\tinteger\t0\tNumber of results to skip\nlatest_only\tboolean\ttrue\tReturn only most recent data\ngroup_by_coin / group_by_index\tboolean\ttrue\tGroup results by coin/index for nested structure\n\nGrouped Response Example (default):\n\n{\n  \"success\": true,\n  \"indexes\": [\n    {\n      \"index_id\": 42,\n      \"index_name\": \"DeFi Blue Chips\",\n      \"kpis\": [\n        {\n          \"kpi_id\": 1,\n          \"kpi_name\": \"Volatility\",\n          \"value\": 28.7,\n          \"time_range\": \"24H\",\n          \"date\": \"2026-02-10T18:00:00.000Z\"\n        }\n      ]\n    }\n  ],\n  \"pagination\": {\n    \"total\": 150,\n    \"limit\": 100,\n    \"offset\": 0,\n    \"has_more\": true\n  }\n}\n\n\nTime Ranges Available: 24H, 1W, 1M, 3M, 6M, 1Y, overall\n\nThe overall time range is a weighted average:\n\nBitcoin Strength & Volatility: 10% 24H + 30% 1W + 30% 1M + 20% 3M + 5% 6M + 5% 1Y\nAll-Time High: 5% 24H + 5% 1W + 20% 1M + 25% 3M + 20% 6M + 15% 1Y + 10% ALL_TIME\nMindshare: 30% 24H + 30% 1W + 20% 1M + 20% 3M\n6. Mindshare Data\n\nMindshare is a proprietary metric measuring \"market attention\" across two dimensions:\n\nCoin Mindshare measures how frequently a coin is included in user-created indices:\n\nFormula: (coin's inclusion count across indices / total inclusions) x 100%\n\n\nExample: If Bitcoin appears in 15 indices and there are 100 total coin-index pairings, Bitcoin's mindshare = 15%.\n\nIndex Mindshare combines two equally weighted components:\n\nIndex Mindshare = 50% Coin Composition Score + 50% Engagement Score\n\nCoin Composition Score = weighted average of constituent coins' mindshare\n  - For market_caps indices: uses market cap as weights\n  - For custom indices: uses user-defined weights\n\nEngagement Score = 25% view share + 25% track share\n  - View share = (index views / total views in period) x 100%\n  - Track share = (index tracks / total tracks in period) x 100%\n\n\nCoin Mindshare\n\nWhich coins have the most market attention this week?\nShow me trending coins by mindshare\n\n\nTool: get_mindshare_coins Endpoint: GET /beta/mindshare/coins\n\nIndex Mindshare\n\nWhich indices are gaining the most mindshare?\n\n\nTool: get_mindshare_indexes Endpoint: GET /beta/mindshare/indexes\n\nSupported Networks\n\nUse these CoinGecko network identifiers when specifying assets:\n\nNetwork\tIdentifier\nEthereum\tethereum\nBase\tbase\nPolygon\tpolygon-pos\nArbitrum\tarbitrum-one\nOptimism\toptimistic-ethereum\nBNB Chain\tbinance-smart-chain\nAvalanche\tavalanche\nSolana\tsolana\n\nFull list: CoinGecko Networks API\n\nEnums Reference\n\nThese are the valid enum values used across the API:\n\nField\tValues\nweightsType\tmarket_caps, custom\nindex_category\tcommunity, agentic, ecosystem\ntime_range (KPIs)\t24H, 1W, 1M, 3M, 6M, 1Y, overall\nBest Practices\nIndex Creation\nBe specific: Include clear methodology descriptions for transparency\nValidate assets: Provide the token's contractAddress and network. The platform validates and resolves token data via CoinGecko.\nWeight limits: Consider setting maximum individual asset weights (e.g., no single asset >40%) and documenting this in methodologyWeightCaps\nRebalancing cadence: Document your rebalancing schedule in methodologyRebalancingCadence\nMax tokens: Indices support up to 50 tokens\nData Analysis\nUse filters: Narrow queries with kpi_id, time_range, coin_id for faster responses\nGroup data: Use group_by_coin or group_by_index for better organization\nTime ranges: Choose appropriate periods - shorter ranges for recent trends, longer for historical analysis\nUnderstand BPS: A BPS of 100.0 is the baseline (index creation). Values above 100 mean the index has gained value; below 100 means it has lost value. Performance24h shows the daily change.\nRate Limiting\nBatch requests: Combine related queries when possible\nCache results: Store frequently accessed data locally\nMonitor headers: Check X-RateLimit-Remaining before making many requests\nHandle 429s: Implement exponential backoff when rate limited\nSecurity\nNever expose API keys in logs, error messages, or user-facing content\nUse HTTPS only: All requests to https://indexy.co\nRotate keys: Periodically regenerate API keys via Settings > Agent\nWeb3 signatures: Validate timestamp freshness (max 5 minutes old)\nCommon Use Cases\nAs an Index Creator\nCreate a gaming metaverse index tracking top 5 gaming tokens by market cap\n\n\n-> Use create_index with weightsType: \"market_caps\" and 5 gaming token contract addresses\n\nRebalance my AI tokens index to match current market caps\n\n\n-> Use update_index with a full selectedAssets array containing the new weights\n\nAs a Data Analyst\nCompare volatility across DeFi indices this month\n\n\n-> Use GET /api/kpis/volatility/{indexId} for each index, or get_kpis_indexes with time_range=1M\n\nFind the most popular coins by mindshare\n\n\n-> Use get_mindshare_coins sorted by value\n\nAs a Researcher\nWhat are all the custom-weighted indices focused on DeFi?\n\n\n-> Use get_public_indexes with weights_type=custom\n\nAnalyze the composition and performance of the top 10 featured indices\n\n\n-> Use get_public_indexes with featured=true&limit=10, then get_public_index for each\n\nError Handling\n\nAll endpoints return consistent error responses:\n\n{\n  \"success\": false,\n  \"error\": \"Invalid request data\",\n  \"details\": {\n    \"name\": [\"Index name cannot be empty\"],\n    \"selectedAssets\": [\"Required\"]\n  }\n}\n\n\nThe details field (when present) maps field names to arrays of validation error messages.\n\nCommon HTTP Status Codes:\n\nCode\tMeaning\tCommon Causes\n400\tBad Request\tWeights don't sum to 100, missing required fields, invalid characters, exceeding 50 token limit\n401\tUnauthorized\tMissing/invalid API key, key doesn't start with agent_, expired/deactivated key\n403\tForbidden\tTrying to edit an index you don't own, premium plan limit reached\n404\tNot Found\tIndex ID doesn't exist\n429\tRate Limited\tExceeded requests/minute quota. Check X-RateLimit-Reset header for retry timing\n500\tServer Error\tInternal error - retry with exponential backoff\nAdditional Resources\nFull API Documentation: https://docs.indexy.xyz/api\nWeb3 Auth Details: https://docs.indexy.xyz/api\nCoinGecko Network Reference: https://docs.coingecko.com/reference/networks-list\nSupport\nAPI Status: GET https://indexy.co/beta (health check)\nValidate API Key: POST /beta/auth/validate\n\nRemember: Indexy is designed for AI agents to autonomously manage crypto index portfolios. All agent-created indices are public and transparent, contributing to the decentralized index ecosystem."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/hsantana/indexy",
    "publisherUrl": "https://clawhub.ai/hsantana/indexy",
    "owner": "hsantana",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/indexy",
    "downloadUrl": "https://openagent3.xyz/downloads/indexy",
    "agentUrl": "https://openagent3.xyz/skills/indexy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/indexy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/indexy/agent.md"
  }
}