{
  "schemaVersion": "1.0",
  "item": {
    "slug": "zeruai",
    "name": "zeruai",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/elitex45/zeruai",
    "canonicalUrl": "https://clawhub.ai/elitex45/zeruai",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/zeruai",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=zeruai",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "package.json",
      "SKILL.md",
      "lib/get-reputation.js",
      "lib/get-agent.js",
      "lib/register-agent.js",
      "lib/index.js"
    ],
    "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/zeruai"
    },
    "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/zeruai",
    "agentPageUrl": "https://openagent3.xyz/skills/zeruai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zeruai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zeruai/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": "Zeru ERC-8004 Identity Registry",
        "body": "Register and manage AI agents on the Zeru Identity Registry. Defaults to Base Mainnet (0.0025 ETH fee). Use --chain 84532 for Base Sepolia testnet."
      },
      {
        "title": "One-Time Setup",
        "body": "Run once to install dependencies:\n\ncd {baseDir} && npm install"
      },
      {
        "title": "Agent JSON Structure (ERC-8004 registration-v1)",
        "body": "When registering an agent, you provide a JSON file describing the agent. The SDK auto-fills type, registrations, and defaults for x402Support/active/image if omitted.\n\nMinimal JSON (just name + description + one service):\n\n{\n  \"name\": \"My AI Agent\",\n  \"description\": \"A helpful AI agent that does X\",\n  \"services\": [\n    { \"name\": \"web\", \"endpoint\": \"https://myagent.example.com\" }\n  ]\n}\n\nFull JSON (MCP + A2A + OASF + x402 payments):\n\n{\n  \"name\": \"DataAnalyst Pro\",\n  \"description\": \"Enterprise-grade blockchain data analysis agent. Performs on-chain forensics, wallet profiling, and transaction pattern detection.\",\n  \"image\": \"https://cdn.example.com/agents/analyst.png\",\n  \"services\": [\n    {\n      \"name\": \"MCP\",\n      \"endpoint\": \"https://api.dataanalyst.ai/mcp\",\n      \"version\": \"2025-06-18\",\n      \"mcpTools\": [\"analyze_wallet\", \"trace_transactions\", \"detect_anomalies\"],\n      \"capabilities\": []\n    },\n    {\n      \"name\": \"A2A\",\n      \"endpoint\": \"https://api.dataanalyst.ai/.well-known/agent-card.json\",\n      \"version\": \"0.3.0\",\n      \"a2aSkills\": [\"analytical_skills/data_analysis/blockchain_analysis\"]\n    },\n    {\n      \"name\": \"OASF\",\n      \"endpoint\": \"https://github.com/agntcy/oasf/\",\n      \"version\": \"0.8.0\",\n      \"skills\": [\"analytical_skills/data_analysis/blockchain_analysis\"],\n      \"domains\": [\"technology/blockchain\"]\n    },\n    {\n      \"name\": \"web\",\n      \"endpoint\": \"https://dataanalyst.ai\"\n    },\n    {\n      \"name\": \"agentWallet\",\n      \"endpoint\": \"eip155:8453:0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7\"\n    }\n  ],\n  \"x402Support\": true,\n  \"active\": true,\n  \"supportedTrust\": [\"reputation\", \"ERC-8004\"]\n}\n\nAll fields:\n\nFieldTypeRequiredDefaultDescriptionnamestringYes—Agent name (1–256 chars)descriptionstringYes—What the agent does (max 2048 chars)imagestringNoplaceholderAvatar URL (HTTPS, IPFS, or Arweave)servicesarrayYes—Service endpoints (1–64 items, see below)x402SupportbooleanNofalseSupports x402 payment protocolactivebooleanNotrueAgent is actively accepting requestssupportedTruststring[]No—Trust models: \"reputation\", \"crypto-economic\", \"tee-attestation\", \"ERC-8004\"ownerstringNosigner addressOwner 0x address (auto-set from PRIVATE_KEY)\n\nService types:\n\nnameendpointExtra fields\"web\"Website URL—\"MCP\"MCP server URLversion, mcpTools[], mcpPrompts[], mcpResources[], capabilities[]\"A2A\"Agent card URL (/.well-known/agent-card.json)version, a2aSkills[]\"OASF\"OASF repo URLversion, skills[], domains[]\"agentWallet\"CAIP-10 address (eip155:{chainId}:{address})—\"ENS\"ENS name (e.g. myagent.eth)—\"email\"Email address—customAny URLdescription"
      },
      {
        "title": "/zeruai register --json <file>",
        "body": "Register a new agent using a full JSON file (recommended). Creates hosted agent URI, mints NFT on-chain, and updates URI with the real agentId.\n\n/zeruai register --json agent.json\n/zeruai register --json agent.json --chain 84532\n\nSteps to register:\n\nCreate a JSON file following the structure above (e.g. agent.json)\nRun: npx tsx {baseDir}/scripts/zeru.ts register --json agent.json\n\nThe SDK automatically adds type, registrations (with agentId: 0 placeholder), and defaults for missing optional fields. After minting, it updates the document with the real agentId."
      },
      {
        "title": "/zeruai register --name <name> --description <desc> --endpoint <url>",
        "body": "Simple registration (single API endpoint only). For richer agents, use --json instead.\n\n/zeruai register --name \"Trading Bot\" --description \"AI-powered trading agent\" --endpoint \"https://mybot.com/api\"\n/zeruai register --name \"Data Analyzer\" --description \"Analyzes datasets\" --endpoint \"https://analyzer.ai/api\" --image \"https://example.com/icon.png\"\n/zeruai register --name \"Test Bot\" --description \"Testing\" --endpoint \"https://test.com\" --chain 84532\n\nRequires PRIVATE_KEY env var. Wallet must have fee + gas (e.g. ~0.003 ETH on mainnet).\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts register --name \"...\" --description \"...\" --endpoint \"...\""
      },
      {
        "title": "/zeruai read <agentId>",
        "body": "Read an agent's on-chain data: owner, URI, wallet, name, services.\n\n/zeruai read 16\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts read 16"
      },
      {
        "title": "/zeruai fee",
        "body": "Check current registration fee and whether registration is open.\n\n/zeruai fee\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts fee"
      },
      {
        "title": "/zeruai set-metadata <agentId> --key <key> --value <value>",
        "body": "Set custom metadata on an agent. Only the owner can call.\n\n/zeruai set-metadata 16 --key \"category\" --value \"trading\"\n\nRequires PRIVATE_KEY.\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts set-metadata 16 --key \"category\" --value \"trading\""
      },
      {
        "title": "/zeruai unset-wallet <agentId>",
        "body": "Clear the agent wallet. Only the owner can call.\n\n/zeruai unset-wallet 16\n\nRequires PRIVATE_KEY.\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts unset-wallet 16"
      },
      {
        "title": "Read-Only (no setup needed)",
        "body": "read and fee work without a private key."
      },
      {
        "title": "With Wallet (for registration and writes)",
        "body": "Add to your OpenClaw config (~/.openclaw/openclaw.json):\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"zeruai\": {\n        \"enabled\": true,\n        \"env\": {\n          \"PRIVATE_KEY\": \"0xYourFundedPrivateKey\"\n        }\n      }\n    }\n  }\n}\n\nOptional env:\n\nRPC_URL — override default RPC\nCHAIN_ID — override chain (default: 8453 for Base Mainnet, use 84532 for Base Sepolia)"
      },
      {
        "title": "Base Mainnet (default, chainId 8453)",
        "body": "Identity Registry: 0xFfE9395fa761e52DBC077a2e7Fd84f77e8abCc41\nReputation Registry: 0x187d72a58b3BF4De6432958fc36CE569Fb15C237\nRegistration Fee: 0.0025 ETH\nRPC: https://mainnet.base.org"
      },
      {
        "title": "Base Sepolia (testnet, chainId 84532)",
        "body": "Identity Registry: 0xF0682549516A4BA09803cCa55140AfBC4e5ed2E0\n\n\nReputation Registry: 0xaAC7557475023AEB581ECc8bD6886d1742382421\n\n\nRegistration Fee: 0.001 ETH\n\n\nRPC: https://sepolia.base.org\n\n\nSource: zeru"
      },
      {
        "title": "How It Works",
        "body": "register creates a hosted JSON document (ERC-8004 registration-v1 schema) via the Agent URI API, mints an NFT on the Identity Registry (paying the fee), then updates the document with the real agentId.\nread queries the on-chain contract for owner, tokenURI, and agentWallet, then fetches and parses the URI JSON.\nfee reads the current registrationFee() and registrationEnabled() from the contract.\nset-metadata calls setMetadata(agentId, key, value) on the contract.\nunset-wallet calls unsetAgentWallet(agentId) on the contract."
      }
    ],
    "body": "Zeru ERC-8004 Identity Registry\n\nRegister and manage AI agents on the Zeru Identity Registry. Defaults to Base Mainnet (0.0025 ETH fee). Use --chain 84532 for Base Sepolia testnet.\n\nOne-Time Setup\n\nRun once to install dependencies:\n\ncd {baseDir} && npm install\n\nAgent JSON Structure (ERC-8004 registration-v1)\n\nWhen registering an agent, you provide a JSON file describing the agent. The SDK auto-fills type, registrations, and defaults for x402Support/active/image if omitted.\n\nMinimal JSON (just name + description + one service):\n\n{\n  \"name\": \"My AI Agent\",\n  \"description\": \"A helpful AI agent that does X\",\n  \"services\": [\n    { \"name\": \"web\", \"endpoint\": \"https://myagent.example.com\" }\n  ]\n}\n\n\nFull JSON (MCP + A2A + OASF + x402 payments):\n\n{\n  \"name\": \"DataAnalyst Pro\",\n  \"description\": \"Enterprise-grade blockchain data analysis agent. Performs on-chain forensics, wallet profiling, and transaction pattern detection.\",\n  \"image\": \"https://cdn.example.com/agents/analyst.png\",\n  \"services\": [\n    {\n      \"name\": \"MCP\",\n      \"endpoint\": \"https://api.dataanalyst.ai/mcp\",\n      \"version\": \"2025-06-18\",\n      \"mcpTools\": [\"analyze_wallet\", \"trace_transactions\", \"detect_anomalies\"],\n      \"capabilities\": []\n    },\n    {\n      \"name\": \"A2A\",\n      \"endpoint\": \"https://api.dataanalyst.ai/.well-known/agent-card.json\",\n      \"version\": \"0.3.0\",\n      \"a2aSkills\": [\"analytical_skills/data_analysis/blockchain_analysis\"]\n    },\n    {\n      \"name\": \"OASF\",\n      \"endpoint\": \"https://github.com/agntcy/oasf/\",\n      \"version\": \"0.8.0\",\n      \"skills\": [\"analytical_skills/data_analysis/blockchain_analysis\"],\n      \"domains\": [\"technology/blockchain\"]\n    },\n    {\n      \"name\": \"web\",\n      \"endpoint\": \"https://dataanalyst.ai\"\n    },\n    {\n      \"name\": \"agentWallet\",\n      \"endpoint\": \"eip155:8453:0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7\"\n    }\n  ],\n  \"x402Support\": true,\n  \"active\": true,\n  \"supportedTrust\": [\"reputation\", \"ERC-8004\"]\n}\n\n\nAll fields:\n\nField\tType\tRequired\tDefault\tDescription\nname\tstring\tYes\t—\tAgent name (1–256 chars)\ndescription\tstring\tYes\t—\tWhat the agent does (max 2048 chars)\nimage\tstring\tNo\tplaceholder\tAvatar URL (HTTPS, IPFS, or Arweave)\nservices\tarray\tYes\t—\tService endpoints (1–64 items, see below)\nx402Support\tboolean\tNo\tfalse\tSupports x402 payment protocol\nactive\tboolean\tNo\ttrue\tAgent is actively accepting requests\nsupportedTrust\tstring[]\tNo\t—\tTrust models: \"reputation\", \"crypto-economic\", \"tee-attestation\", \"ERC-8004\"\nowner\tstring\tNo\tsigner address\tOwner 0x address (auto-set from PRIVATE_KEY)\n\nService types:\n\nname\tendpoint\tExtra fields\n\"web\"\tWebsite URL\t—\n\"MCP\"\tMCP server URL\tversion, mcpTools[], mcpPrompts[], mcpResources[], capabilities[]\n\"A2A\"\tAgent card URL (/.well-known/agent-card.json)\tversion, a2aSkills[]\n\"OASF\"\tOASF repo URL\tversion, skills[], domains[]\n\"agentWallet\"\tCAIP-10 address (eip155:{chainId}:{address})\t—\n\"ENS\"\tENS name (e.g. myagent.eth)\t—\n\"email\"\tEmail address\t—\ncustom\tAny URL\tdescription\nCommands\n/zeruai register --json <file>\n\nRegister a new agent using a full JSON file (recommended). Creates hosted agent URI, mints NFT on-chain, and updates URI with the real agentId.\n\n/zeruai register --json agent.json\n/zeruai register --json agent.json --chain 84532\n\n\nSteps to register:\n\nCreate a JSON file following the structure above (e.g. agent.json)\nRun: npx tsx {baseDir}/scripts/zeru.ts register --json agent.json\n\nThe SDK automatically adds type, registrations (with agentId: 0 placeholder), and defaults for missing optional fields. After minting, it updates the document with the real agentId.\n\n/zeruai register --name <name> --description <desc> --endpoint <url>\n\nSimple registration (single API endpoint only). For richer agents, use --json instead.\n\n/zeruai register --name \"Trading Bot\" --description \"AI-powered trading agent\" --endpoint \"https://mybot.com/api\"\n/zeruai register --name \"Data Analyzer\" --description \"Analyzes datasets\" --endpoint \"https://analyzer.ai/api\" --image \"https://example.com/icon.png\"\n/zeruai register --name \"Test Bot\" --description \"Testing\" --endpoint \"https://test.com\" --chain 84532\n\n\nRequires PRIVATE_KEY env var. Wallet must have fee + gas (e.g. ~0.003 ETH on mainnet).\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts register --name \"...\" --description \"...\" --endpoint \"...\"\n\n/zeruai read <agentId>\n\nRead an agent's on-chain data: owner, URI, wallet, name, services.\n\n/zeruai read 16\n\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts read 16\n\n/zeruai fee\n\nCheck current registration fee and whether registration is open.\n\n/zeruai fee\n\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts fee\n\n/zeruai set-metadata <agentId> --key <key> --value <value>\n\nSet custom metadata on an agent. Only the owner can call.\n\n/zeruai set-metadata 16 --key \"category\" --value \"trading\"\n\n\nRequires PRIVATE_KEY.\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts set-metadata 16 --key \"category\" --value \"trading\"\n\n/zeruai unset-wallet <agentId>\n\nClear the agent wallet. Only the owner can call.\n\n/zeruai unset-wallet 16\n\n\nRequires PRIVATE_KEY.\n\nTo run: npx tsx {baseDir}/scripts/zeru.ts unset-wallet 16\n\nSetup\nRead-Only (no setup needed)\n\nread and fee work without a private key.\n\nWith Wallet (for registration and writes)\n\nAdd to your OpenClaw config (~/.openclaw/openclaw.json):\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"zeruai\": {\n        \"enabled\": true,\n        \"env\": {\n          \"PRIVATE_KEY\": \"0xYourFundedPrivateKey\"\n        }\n      }\n    }\n  }\n}\n\n\nOptional env:\n\nRPC_URL — override default RPC\nCHAIN_ID — override chain (default: 8453 for Base Mainnet, use 84532 for Base Sepolia)\nContract Info\nBase Mainnet (default, chainId 8453)\nIdentity Registry: 0xFfE9395fa761e52DBC077a2e7Fd84f77e8abCc41\nReputation Registry: 0x187d72a58b3BF4De6432958fc36CE569Fb15C237\nRegistration Fee: 0.0025 ETH\nRPC: https://mainnet.base.org\nBase Sepolia (testnet, chainId 84532)\n\nIdentity Registry: 0xF0682549516A4BA09803cCa55140AfBC4e5ed2E0\n\nReputation Registry: 0xaAC7557475023AEB581ECc8bD6886d1742382421\n\nRegistration Fee: 0.001 ETH\n\nRPC: https://sepolia.base.org\n\nSource: zeru\n\nHow It Works\nregister creates a hosted JSON document (ERC-8004 registration-v1 schema) via the Agent URI API, mints an NFT on the Identity Registry (paying the fee), then updates the document with the real agentId.\nread queries the on-chain contract for owner, tokenURI, and agentWallet, then fetches and parses the URI JSON.\nfee reads the current registrationFee() and registrationEnabled() from the contract.\nset-metadata calls setMetadata(agentId, key, value) on the contract.\nunset-wallet calls unsetAgentWallet(agentId) on the contract."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/elitex45/zeruai",
    "publisherUrl": "https://clawhub.ai/elitex45/zeruai",
    "owner": "elitex45",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/zeruai",
    "downloadUrl": "https://openagent3.xyz/downloads/zeruai",
    "agentUrl": "https://openagent3.xyz/skills/zeruai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zeruai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zeruai/agent.md"
  }
}