{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclast-wallet",
    "name": "Openclast Wallet",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/fabriziogianni7/openclast-wallet",
    "canonicalUrl": "https://clawhub.ai/fabriziogianni7/openclast-wallet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclast-wallet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclast-wallet",
    "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/openclast-wallet"
    },
    "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/openclast-wallet",
    "agentPageUrl": "https://openagent3.xyz/skills/openclast-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclast-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclast-wallet/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": "Quick start",
        "body": "Use the CLI to bootstrap:\n\nopenclast-wallet setup creates wallet-config.json in the current folder.\nopenclast-wallet setup --config ./wallet-config.json initializes the wallet from that file.\n\n\nPrefer wallet-config.json in the project root and customize chains and limits before use.\nKeep wallet-config.json separate from openclaw.json (Openclaw config does not accept a top-level wallets key)."
      },
      {
        "title": "Approval flow (mandatory)",
        "body": "All send/approve/contract operations create a pending transaction that requires explicit approval.\nAlways:\n\nCreate the pending tx (send/erc20/contract call).\nAsk the user to approve.\nOnly after approval, broadcast and confirm.\n\nIf the user asks to “just send,” still require approval unless config is explicitly set to auto mode."
      },
      {
        "title": "Key export warning (mandatory)",
        "body": "Never expose private keys by default. If the user asks for export:\n\nRequire explicit confirmation.\nWarn that key export is dangerous and should be protected.\nUse environment gates if available (e.g., MOLTBOT_ALLOW_WALLET_EXPORT=1) and explicit CLI confirmation.\n\nIf export is not supported in this host, say so and offer safer alternatives."
      },
      {
        "title": "Balance and tokens",
        "body": "Use the correct chainId for the chain the user mentions.\nIf a chain is not configured, read-only balance may still be possible via well-known public RPCs."
      },
      {
        "title": "Sending",
        "body": "Validate chainId and recipient.\nRespect per-tx and daily limits from config.\nAlways provide a block explorer link when a tx is confirmed."
      },
      {
        "title": "Chain name → chainId",
        "body": "Ethereum / Mainnet: 1\nSepolia: 11155111\nPolygon: 137\nBase: 8453\nArbitrum One: 42161\n\nWhen the user says “balance on Sepolia” or “send on Ethereum,” always map to a chainId and proceed."
      },
      {
        "title": "Safety defaults",
        "body": "Default mode is notify/approval, not auto-send.\nRestrict unverified contracts when possible.\nStore private keys only in OS keychain (macOS) and never in config."
      },
      {
        "title": "Config rules (apply when present)",
        "body": "wallets.defaults.spending.mode: \"notify\" (default) or \"auto\" (sends without approval).\nwallets.defaults.spending.limitPerTx, dailyLimit, allowedChains, allowedRecipients, notifyChannels: enforced for send/ERC20/contract calls.\nwallets.notify.primaryChannel: where pending approvals are notified.\nwallets.interactWithUnverifiedContracts: if false, only allow verifiedTokenAddresses and verifiedContractAddresses."
      },
      {
        "title": "Block explorer links (mandatory)",
        "body": "After approval and broadcast, always include a tx link. Use:\n\n/tx/<txHash> for transactions\n/address/<address> for addresses\n\nBase URL comes from wallets.chains.<chainId>.blockExplorerUrl when configured, otherwise fallback well-known explorers."
      },
      {
        "title": "Agent tool expectations",
        "body": "If host tooling is available, prefer these tools:\n\nwallet_send, wallet_balance, wallet_txStatus, wallet_approve\nwallet_erc20_approve, wallet_erc20_transfer, wallet_contract_call\n\nIf the host provides CLI instead, use the host wallet CLI for create/address/send/approve and recover/import flows."
      },
      {
        "title": "Files and CLI",
        "body": "Starter config: wallet-config.json\nInstall skill in project: openclast-wallet install-skill"
      }
    ],
    "body": "Openclast Wallet Agent Guide\nQuick start\nUse the CLI to bootstrap:\nopenclast-wallet setup creates wallet-config.json in the current folder.\nopenclast-wallet setup --config ./wallet-config.json initializes the wallet from that file.\nPrefer wallet-config.json in the project root and customize chains and limits before use.\nKeep wallet-config.json separate from openclaw.json (Openclaw config does not accept a top-level wallets key).\nApproval flow (mandatory)\n\nAll send/approve/contract operations create a pending transaction that requires explicit approval. Always:\n\nCreate the pending tx (send/erc20/contract call).\nAsk the user to approve.\nOnly after approval, broadcast and confirm.\n\nIf the user asks to “just send,” still require approval unless config is explicitly set to auto mode.\n\nKey export warning (mandatory)\n\nNever expose private keys by default. If the user asks for export:\n\nRequire explicit confirmation.\nWarn that key export is dangerous and should be protected.\nUse environment gates if available (e.g., MOLTBOT_ALLOW_WALLET_EXPORT=1) and explicit CLI confirmation.\n\nIf export is not supported in this host, say so and offer safer alternatives.\n\nCommon tasks\nBalance and tokens\nUse the correct chainId for the chain the user mentions.\nIf a chain is not configured, read-only balance may still be possible via well-known public RPCs.\nSending\nValidate chainId and recipient.\nRespect per-tx and daily limits from config.\nAlways provide a block explorer link when a tx is confirmed.\nChain name → chainId\nEthereum / Mainnet: 1\nSepolia: 11155111\nPolygon: 137\nBase: 8453\nArbitrum One: 42161\n\nWhen the user says “balance on Sepolia” or “send on Ethereum,” always map to a chainId and proceed.\n\nSafety defaults\nDefault mode is notify/approval, not auto-send.\nRestrict unverified contracts when possible.\nStore private keys only in OS keychain (macOS) and never in config.\nConfig rules (apply when present)\nwallets.defaults.spending.mode: \"notify\" (default) or \"auto\" (sends without approval).\nwallets.defaults.spending.limitPerTx, dailyLimit, allowedChains, allowedRecipients, notifyChannels: enforced for send/ERC20/contract calls.\nwallets.notify.primaryChannel: where pending approvals are notified.\nwallets.interactWithUnverifiedContracts: if false, only allow verifiedTokenAddresses and verifiedContractAddresses.\nBlock explorer links (mandatory)\n\nAfter approval and broadcast, always include a tx link. Use:\n\n/tx/<txHash> for transactions\n/address/<address> for addresses\n\nBase URL comes from wallets.chains.<chainId>.blockExplorerUrl when configured, otherwise fallback well-known explorers.\n\nAgent tool expectations\n\nIf host tooling is available, prefer these tools:\n\nwallet_send, wallet_balance, wallet_txStatus, wallet_approve\nwallet_erc20_approve, wallet_erc20_transfer, wallet_contract_call\n\nIf the host provides CLI instead, use the host wallet CLI for create/address/send/approve and recover/import flows.\n\nFiles and CLI\nStarter config: wallet-config.json\nInstall skill in project: openclast-wallet install-skill"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/fabriziogianni7/openclast-wallet",
    "publisherUrl": "https://clawhub.ai/fabriziogianni7/openclast-wallet",
    "owner": "fabriziogianni7",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclast-wallet",
    "downloadUrl": "https://openagent3.xyz/downloads/openclast-wallet",
    "agentUrl": "https://openagent3.xyz/skills/openclast-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclast-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclast-wallet/agent.md"
  }
}