{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agent-wallet-cli",
    "name": "Agent Wallet CLI",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/donald-jackson/agent-wallet-cli",
    "canonicalUrl": "https://clawhub.ai/donald-jackson/agent-wallet-cli",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agent-wallet-cli",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-wallet-cli",
    "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/agent-wallet-cli"
    },
    "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/agent-wallet-cli",
    "agentPageUrl": "https://openagent3.xyz/skills/agent-wallet-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-wallet-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-wallet-cli/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": "Agent Wallet",
        "body": "Self-custodial crypto wallet CLI for AI agents. Your keys, your coins — the agent never sees your mnemonic after init.\n\nOpen source: github.com/donald-jackson/agent-wallet-cli — audit before use\nnpm package: npmjs.com/package/agent-wallet-cli\nSelf-custodial: Keys encrypted locally with Argon2id + AES-256-GCM. No server, no third party.\nSession-based access: Agents use time-limited tokens, never your password directly.\nMulti-chain: Ethereum, Solana, Polygon, Arbitrum, Base — native coins and tokens."
      },
      {
        "title": "Security Model",
        "body": "You create or import a wallet with a password → encrypted on disk in ~/.agent-wallet-cli/\nYou (or the agent) unlock with the password → get a time-limited session token (wlt_...)\nThe agent uses only the session token — it expires automatically (default 1hr, max 24hr)\nNo telemetry, no analytics, no server calls — only public blockchain RPCs for queries and transactions\n\nImportant: If you give the agent your WALLET_PASSWORD, it can perform any password-level operation (init, import, unlock, and export). For maximum security, unlock the wallet yourself and only give the agent the session token. Session tokens cannot export mnemonics or change passwords — they can only sign transactions and read balances.\n\nBefore trusting this skill with real funds:\n\nAudit the source: github.com/donald-jackson/agent-wallet-cli\nVerify the npm package matches the repo: npm info agent-wallet-cli\nTest with small amounts first\nUse short session durations (1hr default)\nRun in an isolated environment if possible"
      },
      {
        "title": "Setup",
        "body": "npm install -g agent-wallet-cli\n\nVerify installation: agent-wallet-cli --version"
      },
      {
        "title": "Workflow",
        "body": "Init (first time): agent-wallet-cli init --password \"$WALLET_PASSWORD\"\n\nDisplays mnemonic ONCE — save it securely\n\n\nImport (existing wallet): agent-wallet-cli import --password \"$WALLET_PASSWORD\" --mnemonic \"word1 word2 ...\"\nUnlock: agent-wallet-cli unlock --password \"$WALLET_PASSWORD\" --duration 3600\n\nReturns session token (wlt_...) valid for specified duration\n\n\nUse: Pass --token wlt_... to all commands (no password needed)\nLock: agent-wallet-cli lock when done\n\nNote: --password and --mnemonic can be omitted to be prompted securely via stdin (recommended for interactive use). When using in automation, --password is accepted but will show a warning about shell history visibility."
      },
      {
        "title": "Global Options",
        "body": "All commands accept:\n\n--format json|text (default: json)\n--wallet-dir <path> (default: ~/.agent-wallet-cli)\n--quiet — suppress output\n--name <name> — wallet name (default: \"default\")"
      },
      {
        "title": "Wallet Management",
        "body": "agent-wallet-cli init [--password <pw>] [--word-count 12|24] [--name <name>]\nagent-wallet-cli import [--password <pw>] [--mnemonic \"<phrase>\"] [--name <name>]\nagent-wallet-cli unlock [--password <pw>] [--duration <secs>] [--name <name>]\nagent-wallet-cli lock [--name <name>]\nagent-wallet-cli export [--password <pw>] --confirm [--name <name>]"
      },
      {
        "title": "Addresses & Balances",
        "body": "agent-wallet-cli address --token <wlt_...> [--chain ethereum|solana] [--account-index 0]\nagent-wallet-cli balance --token <wlt_...> --chain <chain> [--network <network>] [--token-address usdc]\n\nImportant: --chain is required for balance/send/history. --token is the session token (wlt_...), --token-address is the coin/token contract or alias.\n\nL2 networks: For Base, Polygon, Arbitrum use --chain ethereum --network base (etc). Default network is mainnet."
      },
      {
        "title": "Transfers",
        "body": "# Native (ETH/SOL)\nagent-wallet-cli send --token <wlt_...> --chain <chain> --to <addr> --amount <amt> --yes [--dry-run] [--no-relay]\n# ERC-20/SPL token\nagent-wallet-cli send --token <wlt_...> --chain <chain> --to <addr> --amount <amt> --token-address <addr|alias> --yes [--no-relay]\n\n--yes: Skip confirmation prompt (required for non-TTY/agent use)\n--dry-run: Simulate transaction without sending\n--no-relay: Disable gasless relay fallback\n--network <network>: Target network (default: mainnet)"
      },
      {
        "title": "x402 Payments",
        "body": "agent-wallet-cli x402 <url> --token <wlt_...> [--method GET] [--header \"Key:Value\"] [--body <data|@file>] [--max-amount <amt>] [--dry-run] [--yes]\n\nMake HTTP requests with automatic x402 payment. The CLI detects 402 Payment Required responses, pays the requested amount in stablecoins, and retries.\n\n--max-amount <amount>: Maximum willing to pay (human-readable, e.g. \"0.10\")\n--dry-run: Show payment requirements without paying\n--yes: Skip payment confirmation\n--header: Repeatable for multiple headers\n--body: Request body, or @filepath to read from file"
      },
      {
        "title": "Approvals (ERC-20/SPL)",
        "body": "agent-wallet-cli approve --token <wlt_...> --chain <chain> --token-address <addr> --spender <addr> --amount <amt|unlimited> --yes [--network <net>]\nagent-wallet-cli allowance --chain <chain> --token-address <addr> --owner <addr> --spender <addr> [--network <net>]\nagent-wallet-cli transfer-from --token <wlt_...> --chain <chain> --token-address <addr> --from <addr> --to <addr> --amount <amt> --yes [--network <net>]\nagent-wallet-cli approvals --token <wlt_...> [--chain ethereum] [--network mainnet] [--limit 20]"
      },
      {
        "title": "Signing",
        "body": "agent-wallet-cli sign --token <wlt_...> --chain <chain> --message \"text\"\nagent-wallet-cli sign --token <wlt_...> --chain <chain> --typed-data '<json|@file>'\nagent-wallet-cli sign --token <wlt_...> --chain <chain> --data <hex>"
      },
      {
        "title": "Transaction History",
        "body": "agent-wallet-cli history --token <wlt_...> --chain <chain> [--network mainnet] [--limit 10]"
      },
      {
        "title": "Network Configuration",
        "body": "agent-wallet-cli networks                                          # list all\nagent-wallet-cli networks --set ethereum:mainnet --rpc-url <url>   # custom RPC\nagent-wallet-cli networks --reset ethereum:mainnet                 # reset to default"
      },
      {
        "title": "Chains & Networks",
        "body": "ChainNetworksethereummainnet, sepolia, polygon, arbitrum, base, base-sepoliasolanamainnet, devnet\n\nEVM L2s (Base, Polygon, Arbitrum) use --chain ethereum --network <l2name>.\n\n--chain is required for balance, send, history, approve, allowance, transfer-from, approvals, and sign."
      },
      {
        "title": "Token Aliases",
        "body": "Use shorthand instead of contract addresses: usdc, usdt, dai, weth, wbtc"
      },
      {
        "title": "Security Notes",
        "body": "Self-custodial — keys never leave your machine, encrypted at rest\nNo analytics, no telemetry, no network calls except to public RPCs for blockchain queries\nSession tokens grant temporary fund access — treat as passwords\nAlways --dry-run before large transfers\nLock wallet when done\nNever log or share session tokens or mnemonics\nAudit the source: github.com/donald-jackson/agent-wallet-cli"
      }
    ],
    "body": "Agent Wallet\n\nSelf-custodial crypto wallet CLI for AI agents. Your keys, your coins — the agent never sees your mnemonic after init.\n\nOpen source: github.com/donald-jackson/agent-wallet-cli — audit before use\nnpm package: npmjs.com/package/agent-wallet-cli\nSelf-custodial: Keys encrypted locally with Argon2id + AES-256-GCM. No server, no third party.\nSession-based access: Agents use time-limited tokens, never your password directly.\nMulti-chain: Ethereum, Solana, Polygon, Arbitrum, Base — native coins and tokens.\nSecurity Model\nYou create or import a wallet with a password → encrypted on disk in ~/.agent-wallet-cli/\nYou (or the agent) unlock with the password → get a time-limited session token (wlt_...)\nThe agent uses only the session token — it expires automatically (default 1hr, max 24hr)\nNo telemetry, no analytics, no server calls — only public blockchain RPCs for queries and transactions\n\nImportant: If you give the agent your WALLET_PASSWORD, it can perform any password-level operation (init, import, unlock, and export). For maximum security, unlock the wallet yourself and only give the agent the session token. Session tokens cannot export mnemonics or change passwords — they can only sign transactions and read balances.\n\nBefore trusting this skill with real funds:\n\nAudit the source: github.com/donald-jackson/agent-wallet-cli\nVerify the npm package matches the repo: npm info agent-wallet-cli\nTest with small amounts first\nUse short session durations (1hr default)\nRun in an isolated environment if possible\nSetup\nnpm install -g agent-wallet-cli\n\n\nVerify installation: agent-wallet-cli --version\n\nWorkflow\nInit (first time): agent-wallet-cli init --password \"$WALLET_PASSWORD\"\nDisplays mnemonic ONCE — save it securely\nImport (existing wallet): agent-wallet-cli import --password \"$WALLET_PASSWORD\" --mnemonic \"word1 word2 ...\"\nUnlock: agent-wallet-cli unlock --password \"$WALLET_PASSWORD\" --duration 3600\nReturns session token (wlt_...) valid for specified duration\nUse: Pass --token wlt_... to all commands (no password needed)\nLock: agent-wallet-cli lock when done\n\nNote: --password and --mnemonic can be omitted to be prompted securely via stdin (recommended for interactive use). When using in automation, --password is accepted but will show a warning about shell history visibility.\n\nGlobal Options\n\nAll commands accept:\n\n--format json|text (default: json)\n--wallet-dir <path> (default: ~/.agent-wallet-cli)\n--quiet — suppress output\n--name <name> — wallet name (default: \"default\")\nCommands\nWallet Management\nagent-wallet-cli init [--password <pw>] [--word-count 12|24] [--name <name>]\nagent-wallet-cli import [--password <pw>] [--mnemonic \"<phrase>\"] [--name <name>]\nagent-wallet-cli unlock [--password <pw>] [--duration <secs>] [--name <name>]\nagent-wallet-cli lock [--name <name>]\nagent-wallet-cli export [--password <pw>] --confirm [--name <name>]\n\nAddresses & Balances\nagent-wallet-cli address --token <wlt_...> [--chain ethereum|solana] [--account-index 0]\nagent-wallet-cli balance --token <wlt_...> --chain <chain> [--network <network>] [--token-address usdc]\n\n\nImportant: --chain is required for balance/send/history. --token is the session token (wlt_...), --token-address is the coin/token contract or alias.\n\nL2 networks: For Base, Polygon, Arbitrum use --chain ethereum --network base (etc). Default network is mainnet.\n\nTransfers\n# Native (ETH/SOL)\nagent-wallet-cli send --token <wlt_...> --chain <chain> --to <addr> --amount <amt> --yes [--dry-run] [--no-relay]\n# ERC-20/SPL token\nagent-wallet-cli send --token <wlt_...> --chain <chain> --to <addr> --amount <amt> --token-address <addr|alias> --yes [--no-relay]\n\n--yes: Skip confirmation prompt (required for non-TTY/agent use)\n--dry-run: Simulate transaction without sending\n--no-relay: Disable gasless relay fallback\n--network <network>: Target network (default: mainnet)\nx402 Payments\nagent-wallet-cli x402 <url> --token <wlt_...> [--method GET] [--header \"Key:Value\"] [--body <data|@file>] [--max-amount <amt>] [--dry-run] [--yes]\n\n\nMake HTTP requests with automatic x402 payment. The CLI detects 402 Payment Required responses, pays the requested amount in stablecoins, and retries.\n\n--max-amount <amount>: Maximum willing to pay (human-readable, e.g. \"0.10\")\n--dry-run: Show payment requirements without paying\n--yes: Skip payment confirmation\n--header: Repeatable for multiple headers\n--body: Request body, or @filepath to read from file\nApprovals (ERC-20/SPL)\nagent-wallet-cli approve --token <wlt_...> --chain <chain> --token-address <addr> --spender <addr> --amount <amt|unlimited> --yes [--network <net>]\nagent-wallet-cli allowance --chain <chain> --token-address <addr> --owner <addr> --spender <addr> [--network <net>]\nagent-wallet-cli transfer-from --token <wlt_...> --chain <chain> --token-address <addr> --from <addr> --to <addr> --amount <amt> --yes [--network <net>]\nagent-wallet-cli approvals --token <wlt_...> [--chain ethereum] [--network mainnet] [--limit 20]\n\nSigning\nagent-wallet-cli sign --token <wlt_...> --chain <chain> --message \"text\"\nagent-wallet-cli sign --token <wlt_...> --chain <chain> --typed-data '<json|@file>'\nagent-wallet-cli sign --token <wlt_...> --chain <chain> --data <hex>\n\nTransaction History\nagent-wallet-cli history --token <wlt_...> --chain <chain> [--network mainnet] [--limit 10]\n\nNetwork Configuration\nagent-wallet-cli networks                                          # list all\nagent-wallet-cli networks --set ethereum:mainnet --rpc-url <url>   # custom RPC\nagent-wallet-cli networks --reset ethereum:mainnet                 # reset to default\n\nChains & Networks\nChain\tNetworks\nethereum\tmainnet, sepolia, polygon, arbitrum, base, base-sepolia\nsolana\tmainnet, devnet\n\nEVM L2s (Base, Polygon, Arbitrum) use --chain ethereum --network <l2name>.\n\n--chain is required for balance, send, history, approve, allowance, transfer-from, approvals, and sign.\n\nToken Aliases\n\nUse shorthand instead of contract addresses: usdc, usdt, dai, weth, wbtc\n\nSecurity Notes\nSelf-custodial — keys never leave your machine, encrypted at rest\nNo analytics, no telemetry, no network calls except to public RPCs for blockchain queries\nSession tokens grant temporary fund access — treat as passwords\nAlways --dry-run before large transfers\nLock wallet when done\nNever log or share session tokens or mnemonics\nAudit the source: github.com/donald-jackson/agent-wallet-cli"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/donald-jackson/agent-wallet-cli",
    "publisherUrl": "https://clawhub.ai/donald-jackson/agent-wallet-cli",
    "owner": "donald-jackson",
    "version": "1.4.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agent-wallet-cli",
    "downloadUrl": "https://openagent3.xyz/downloads/agent-wallet-cli",
    "agentUrl": "https://openagent3.xyz/skills/agent-wallet-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-wallet-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-wallet-cli/agent.md"
  }
}