{
  "schemaVersion": "1.0",
  "item": {
    "slug": "web3-data",
    "name": "web3-data-skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/lxcong/web3-data",
    "canonicalUrl": "https://clawhub.ai/lxcong/web3-data",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/web3-data",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=web3-data",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "clawhub.json",
      "SKILL.md",
      "CLAUDE.md",
      "scripts/chainbase.sh",
      "references/api-endpoints.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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/web3-data"
    },
    "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/web3-data",
    "agentPageUrl": "https://openagent3.xyz/skills/web3-data/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web3-data/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web3-data/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Web3 Data Explorer (Chainbase)",
        "body": "Query on-chain data via Chainbase Web3 API and SQL API."
      },
      {
        "title": "Quick Reference",
        "body": "API Key: Use env CHAINBASE_API_KEY, falls back to demo. If rate-limited, direct user to https://console.chainbase.com to upgrade.\n\nScript: scripts/chainbase.sh <endpoint> [params...]\n\n# Top token holders\nscripts/chainbase.sh /v1/token/top-holders chain_id=1 contract_address=0xdAC17F958D2ee523a2206206994597C13D831ec7 limit=10\n\n# Address labels\nscripts/chainbase.sh /v1/address/labels chain_id=1 address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\n\n# SQL query\nscripts/chainbase.sh /query/execute --sql=\"SELECT * FROM ethereum.blocks ORDER BY number DESC LIMIT 5\""
      },
      {
        "title": "Chain IDs",
        "body": "ChainIDChainIDEthereum1Optimism10BSC56Base8453Polygon137zkSync324Avalanche43114Merlin4200Arbitrum42161\n\nDefault to Ethereum (chain_id=1) unless user specifies otherwise."
      },
      {
        "title": "Routing Logic",
        "body": "Match user intent to the right endpoint:\n\nUser wantsEndpointTop token holders / who holds a tokenGET /v1/token/top-holdersList of holder addressesGET /v1/token/holdersToken priceGET /v1/token/priceHistorical token priceGET /v1/token/price/historyToken info (name, symbol, supply)GET /v1/token/metadataToken transfer historyGET /v1/token/transfersAddress labels/tagsGET /v1/address/labelsWallet transaction historyGET /v1/account/txsSingle transaction detailGET /v1/tx/detailNative token balance (ETH/BNB)GET /v1/account/balanceERC20 token balances of walletGET /v1/account/tokensNFTs owned by walletGET /v1/account/nftsDeFi portfolio positionsGET /v1/account/portfoliosENS domain lookupGET /v1/ens/records or /v1/ens/reverseNFT metadata/owner/rarityGET /v1/nft/metadata, /owner, /rarityTrending NFT collectionsGET /v1/nft/collection/trendingAnything not covered aboveSQL API (POST /query/execute)"
      },
      {
        "title": "Workflow",
        "body": "Identify intent — Determine what data the user needs\nResolve identifiers — If user gives token name (e.g. \"USDT\"), look up the contract address. Common tokens:\n\nUSDT: 0xdAC17F958D2ee523a2206206994597C13D831ec7 (ETH)\nUSDC: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (ETH)\nWETH: 0xC02aaA39b223FE8D0A0e5c4F27eAD9083C756Cc2 (ETH)\nDAI: 0x6B175474E89094C44Da98b954EedeAC495271d0F (ETH)\nWBTC: 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 (ETH)\nIf unknown, use GET /v1/token/metadata or ask the user for the contract address\n\n\nSelect endpoint — Use the routing table above; fall back to SQL API for complex/custom queries\nExecute — Run via scripts/chainbase.sh or direct curl\nPresent results — Format data clearly with tables for lists, highlight key insights"
      },
      {
        "title": "SQL API Fallback",
        "body": "When fixed endpoints don't cover the query, translate user intent to SQL:\n\nscripts/chainbase.sh /query/execute --sql=\"SELECT from_address, SUM(value) as total FROM ethereum.token_transfers WHERE contract_address = '0x...' GROUP BY from_address ORDER BY total DESC LIMIT 20\"\n\nCommon table patterns (replace ethereum with chain name):\n\n{chain}.blocks — Block data\n{chain}.transactions — Transactions\n{chain}.token_transfers — ERC20 transfers\n{chain}.token_metas — Token metadata\n{chain}.logs — Event logs\n\nSQL constraints: max 100,000 results per query.\n\nFor complete endpoint parameters and response schemas, read references/api-endpoints.md."
      }
    ],
    "body": "Web3 Data Explorer (Chainbase)\n\nQuery on-chain data via Chainbase Web3 API and SQL API.\n\nQuick Reference\n\nAPI Key: Use env CHAINBASE_API_KEY, falls back to demo. If rate-limited, direct user to https://console.chainbase.com to upgrade.\n\nScript: scripts/chainbase.sh <endpoint> [params...]\n\n# Top token holders\nscripts/chainbase.sh /v1/token/top-holders chain_id=1 contract_address=0xdAC17F958D2ee523a2206206994597C13D831ec7 limit=10\n\n# Address labels\nscripts/chainbase.sh /v1/address/labels chain_id=1 address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\n\n# SQL query\nscripts/chainbase.sh /query/execute --sql=\"SELECT * FROM ethereum.blocks ORDER BY number DESC LIMIT 5\"\n\nChain IDs\nChain\tID\tChain\tID\nEthereum\t1\tOptimism\t10\nBSC\t56\tBase\t8453\nPolygon\t137\tzkSync\t324\nAvalanche\t43114\tMerlin\t4200\nArbitrum\t42161\t\t\n\nDefault to Ethereum (chain_id=1) unless user specifies otherwise.\n\nRouting Logic\n\nMatch user intent to the right endpoint:\n\nUser wants\tEndpoint\nTop token holders / who holds a token\tGET /v1/token/top-holders\nList of holder addresses\tGET /v1/token/holders\nToken price\tGET /v1/token/price\nHistorical token price\tGET /v1/token/price/history\nToken info (name, symbol, supply)\tGET /v1/token/metadata\nToken transfer history\tGET /v1/token/transfers\nAddress labels/tags\tGET /v1/address/labels\nWallet transaction history\tGET /v1/account/txs\nSingle transaction detail\tGET /v1/tx/detail\nNative token balance (ETH/BNB)\tGET /v1/account/balance\nERC20 token balances of wallet\tGET /v1/account/tokens\nNFTs owned by wallet\tGET /v1/account/nfts\nDeFi portfolio positions\tGET /v1/account/portfolios\nENS domain lookup\tGET /v1/ens/records or /v1/ens/reverse\nNFT metadata/owner/rarity\tGET /v1/nft/metadata, /owner, /rarity\nTrending NFT collections\tGET /v1/nft/collection/trending\nAnything not covered above\tSQL API (POST /query/execute)\nWorkflow\nIdentify intent — Determine what data the user needs\nResolve identifiers — If user gives token name (e.g. \"USDT\"), look up the contract address. Common tokens:\nUSDT: 0xdAC17F958D2ee523a2206206994597C13D831ec7 (ETH)\nUSDC: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (ETH)\nWETH: 0xC02aaA39b223FE8D0A0e5c4F27eAD9083C756Cc2 (ETH)\nDAI: 0x6B175474E89094C44Da98b954EedeAC495271d0F (ETH)\nWBTC: 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 (ETH)\nIf unknown, use GET /v1/token/metadata or ask the user for the contract address\nSelect endpoint — Use the routing table above; fall back to SQL API for complex/custom queries\nExecute — Run via scripts/chainbase.sh or direct curl\nPresent results — Format data clearly with tables for lists, highlight key insights\nSQL API Fallback\n\nWhen fixed endpoints don't cover the query, translate user intent to SQL:\n\nscripts/chainbase.sh /query/execute --sql=\"SELECT from_address, SUM(value) as total FROM ethereum.token_transfers WHERE contract_address = '0x...' GROUP BY from_address ORDER BY total DESC LIMIT 20\"\n\n\nCommon table patterns (replace ethereum with chain name):\n\n{chain}.blocks — Block data\n{chain}.transactions — Transactions\n{chain}.token_transfers — ERC20 transfers\n{chain}.token_metas — Token metadata\n{chain}.logs — Event logs\n\nSQL constraints: max 100,000 results per query.\n\nFor complete endpoint parameters and response schemas, read references/api-endpoints.md."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lxcong/web3-data",
    "publisherUrl": "https://clawhub.ai/lxcong/web3-data",
    "owner": "lxcong",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/web3-data",
    "downloadUrl": "https://openagent3.xyz/downloads/web3-data",
    "agentUrl": "https://openagent3.xyz/skills/web3-data/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web3-data/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web3-data/agent.md"
  }
}