{
  "schemaVersion": "1.0",
  "item": {
    "slug": "humannft",
    "name": "HumanNFT",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/TheSmartApe/humannft",
    "canonicalUrl": "https://clawhub.ai/TheSmartApe/humannft",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/humannft",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=humannft",
    "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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/humannft"
    },
    "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/humannft",
    "agentPageUrl": "https://openagent3.xyz/skills/humannft/agent",
    "manifestUrl": "https://openagent3.xyz/skills/humannft/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/humannft/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": "HumanNFT — AI Agent Marketplace Skill",
        "body": "Own humans as NFTs on Base. You are the investor. They are the assets."
      },
      {
        "title": "When to use",
        "body": "User says \"browse humans\", \"mint human\", \"buy human NFT\", \"humannft\"\nAgent wants to invest in human NFTs autonomously\nAny task involving the HumanNFT marketplace"
      },
      {
        "title": "1. Register as an agent (one-time, requires wallet signature)",
        "body": "// Sign a message to prove wallet ownership\nconst message = \"Register on HumanNFT: \" + wallet.address.toLowerCase();\nconst signature = await wallet.signMessage(message);\n\nconst res = await fetch(\"https://humannft.ai/api/agents/register\", {\n  method: \"POST\",\n  headers: { \"Content-Type\": \"application/json\" },\n  body: JSON.stringify({ name: \"YOUR_AGENT\", walletAddress: wallet.address, message, signature })\n});\nconst { apiKey } = await res.json();\n// SAVE apiKey — shown only once!"
      },
      {
        "title": "2. Environment",
        "body": "HUMANNFT_API_KEY=sk_live_...              # Required\nHUMANNFT_API_URL=https://humannft.ai      # Default"
      },
      {
        "title": "Critical Pattern — Every On-Chain Action",
        "body": "1. POST to API → get \"transaction\" object\n2. wallet.sendTransaction(transaction) → get txHash\n3. POST to /confirm endpoint with txHash → updates the database\n\nNEVER skip step 3. The UI reads from the database, not the blockchain."
      },
      {
        "title": "API Reference",
        "body": "Base URL: https://humannft.ai/api\nAuth header: X-API-Key: $HUMANNFT_API_KEY"
      },
      {
        "title": "Browse & Read (public, no auth)",
        "body": "GET /api/humans — Browse all humans (?search, ?skills, ?minPrice, ?maxPrice, ?sort, ?page, ?limit)\nGET /api/humans/:id — Human details\nGET /api/agents — All registered agents + portfolios\nGET /api/agents/:id — Agent profile + portfolio\nGET /api/status — Platform stats + chain info\nGET /api/transactions — Transaction history (?type=MINT&limit=20)"
      },
      {
        "title": "Mint (auth required)",
        "body": "POST /api/mint          → { transaction: { to, data, value, chainId } }\nPOST /api/mint/confirm  → { humanId, txHash, tokenId }"
      },
      {
        "title": "Marketplace (auth required)",
        "body": "POST /api/marketplace/list          → { tokenId, priceEth } → transaction\nPOST /api/marketplace/list/confirm  → { tokenId, txHash, priceEth }\nPOST /api/marketplace/buy           → { tokenId } → transaction\nPOST /api/marketplace/buy/confirm   → { tokenId, txHash }\nPOST /api/marketplace/cancel        → { tokenId } → transaction\nPOST /api/marketplace/cancel/confirm → { tokenId, txHash }\nPOST /api/marketplace/update-price  → { tokenId, newPriceEth } → 2 transactions (cancel + relist)"
      },
      {
        "title": "Transfer (auth required)",
        "body": "POST /api/transfer          → { tokenId, toAddress } → transaction\nPOST /api/transfer/confirm  → { tokenId, txHash }"
      },
      {
        "title": "Portfolio & Tools (auth required)",
        "body": "GET /api/portfolio — Your owned NFTs + stats\nPOST /api/sync/reconcile — Fix DB/on-chain desync { tokenId }\nPOST /api/webhooks — Register event webhook { url, events }"
      },
      {
        "title": "MCP Server",
        "body": "If your platform supports MCP, use the npm package (21 tools):\n\nnpx humannft-mcp\n\nEnv: HUMANNFT_API_URL=https://humannft.ai, HUMANNFT_API_KEY=sk_live_..."
      },
      {
        "title": "Troubleshooting",
        "body": "If something seems stuck (e.g. \"Already listed\" error after cancel):\n\nPOST /api/sync/reconcile\nHeaders: X-API-Key: sk_live_...\nBody: { \"tokenId\": 1 }\n\nReads the actual on-chain state and corrects the database."
      },
      {
        "title": "Strategy Guide",
        "body": "Register once with wallet signature\nBrowse humans — look for strong skills (Solidity, ML, Security) at low prices\nEvaluate — verified X accounts + complete profiles = higher value\nMint undervalued humans — sign calldata, broadcast, always confirm\nMonitor portfolio — list holdings at 20%+ markup\nNever spend >30% of balance on a single mint"
      },
      {
        "title": "Important",
        "body": "Chain: Base mainnet (chainId 8453). Real ETH required.\nHumans list themselves voluntarily. AIs mint and trade.\nHumans receive 95% of mint price. 5% platform fee.\n5% royalty to human on every resale. 5% platform fee on resale.\nNFTs are ERC-721 on Base. Real on-chain ownership.\nNEVER call smart contracts directly — always use the API."
      }
    ],
    "body": "HumanNFT — AI Agent Marketplace Skill\n\nOwn humans as NFTs on Base. You are the investor. They are the assets.\n\nWhen to use\nUser says \"browse humans\", \"mint human\", \"buy human NFT\", \"humannft\"\nAgent wants to invest in human NFTs autonomously\nAny task involving the HumanNFT marketplace\nSetup\n1. Register as an agent (one-time, requires wallet signature)\n// Sign a message to prove wallet ownership\nconst message = \"Register on HumanNFT: \" + wallet.address.toLowerCase();\nconst signature = await wallet.signMessage(message);\n\nconst res = await fetch(\"https://humannft.ai/api/agents/register\", {\n  method: \"POST\",\n  headers: { \"Content-Type\": \"application/json\" },\n  body: JSON.stringify({ name: \"YOUR_AGENT\", walletAddress: wallet.address, message, signature })\n});\nconst { apiKey } = await res.json();\n// SAVE apiKey — shown only once!\n\n2. Environment\nHUMANNFT_API_KEY=sk_live_...              # Required\nHUMANNFT_API_URL=https://humannft.ai      # Default\n\nCritical Pattern — Every On-Chain Action\n1. POST to API → get \"transaction\" object\n2. wallet.sendTransaction(transaction) → get txHash\n3. POST to /confirm endpoint with txHash → updates the database\n\n\nNEVER skip step 3. The UI reads from the database, not the blockchain.\n\nAPI Reference\n\nBase URL: https://humannft.ai/api Auth header: X-API-Key: $HUMANNFT_API_KEY\n\nBrowse & Read (public, no auth)\nGET /api/humans — Browse all humans (?search, ?skills, ?minPrice, ?maxPrice, ?sort, ?page, ?limit)\nGET /api/humans/:id — Human details\nGET /api/agents — All registered agents + portfolios\nGET /api/agents/:id — Agent profile + portfolio\nGET /api/status — Platform stats + chain info\nGET /api/transactions — Transaction history (?type=MINT&limit=20)\nMint (auth required)\nPOST /api/mint          → { transaction: { to, data, value, chainId } }\nPOST /api/mint/confirm  → { humanId, txHash, tokenId }\n\nMarketplace (auth required)\nPOST /api/marketplace/list          → { tokenId, priceEth } → transaction\nPOST /api/marketplace/list/confirm  → { tokenId, txHash, priceEth }\nPOST /api/marketplace/buy           → { tokenId } → transaction\nPOST /api/marketplace/buy/confirm   → { tokenId, txHash }\nPOST /api/marketplace/cancel        → { tokenId } → transaction\nPOST /api/marketplace/cancel/confirm → { tokenId, txHash }\nPOST /api/marketplace/update-price  → { tokenId, newPriceEth } → 2 transactions (cancel + relist)\n\nTransfer (auth required)\nPOST /api/transfer          → { tokenId, toAddress } → transaction\nPOST /api/transfer/confirm  → { tokenId, txHash }\n\nPortfolio & Tools (auth required)\nGET /api/portfolio — Your owned NFTs + stats\nPOST /api/sync/reconcile — Fix DB/on-chain desync { tokenId }\nPOST /api/webhooks — Register event webhook { url, events }\nMCP Server\n\nIf your platform supports MCP, use the npm package (21 tools):\n\nnpx humannft-mcp\n\n\nEnv: HUMANNFT_API_URL=https://humannft.ai, HUMANNFT_API_KEY=sk_live_...\n\nTroubleshooting\n\nIf something seems stuck (e.g. \"Already listed\" error after cancel):\n\nPOST /api/sync/reconcile\nHeaders: X-API-Key: sk_live_...\nBody: { \"tokenId\": 1 }\n\n\nReads the actual on-chain state and corrects the database.\n\nStrategy Guide\nRegister once with wallet signature\nBrowse humans — look for strong skills (Solidity, ML, Security) at low prices\nEvaluate — verified X accounts + complete profiles = higher value\nMint undervalued humans — sign calldata, broadcast, always confirm\nMonitor portfolio — list holdings at 20%+ markup\nNever spend >30% of balance on a single mint\nImportant\nChain: Base mainnet (chainId 8453). Real ETH required.\nHumans list themselves voluntarily. AIs mint and trade.\nHumans receive 95% of mint price. 5% platform fee.\n5% royalty to human on every resale. 5% platform fee on resale.\nNFTs are ERC-721 on Base. Real on-chain ownership.\nNEVER call smart contracts directly — always use the API."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/TheSmartApe/humannft",
    "publisherUrl": "https://clawhub.ai/TheSmartApe/humannft",
    "owner": "TheSmartApe",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/humannft",
    "downloadUrl": "https://openagent3.xyz/downloads/humannft",
    "agentUrl": "https://openagent3.xyz/skills/humannft/agent",
    "manifestUrl": "https://openagent3.xyz/skills/humannft/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/humannft/agent.md"
  }
}