{
  "schemaVersion": "1.0",
  "item": {
    "slug": "llm-wallet",
    "name": "LLM Wallet - x402 stabelcoin payments on Polygon",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/AkshatGada/llm-wallet",
    "canonicalUrl": "https://clawhub.ai/AkshatGada/llm-wallet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/llm-wallet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=llm-wallet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "references/examples.md",
      "references/wallet-setup.md",
      "references/x402-protocol.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-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/llm-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/llm-wallet",
    "agentPageUrl": "https://openagent3.xyz/skills/llm-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/llm-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/llm-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. 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": "LLM Wallet - Crypto Wallet & x402 Micropayments",
        "body": "Use llm-wallet commands to manage crypto wallets and make micropayments to paid APIs using USDC stablecoins on Polygon blockchain.\n\nDefault Network: Polygon Testnet (polygon-amoy) - safe for testing\nFacilitator: https://x402-amoy.polygon.technology"
      },
      {
        "title": "Quick Start",
        "body": "# Create wallet\nllm-wallet create\n\n# Check balance\nllm-wallet balance\n\n# Set spending limits (recommended)\nllm-wallet set-limit --per-tx 0.10 --daily 5.00\n\n# View transaction history\nllm-wallet history"
      },
      {
        "title": "Create Wallet",
        "body": "llm-wallet create [--label <name>]\n\nCreates a new HD wallet with encryption. Returns wallet address.\n\nExample:\n\nllm-wallet create --label \"agent-wallet\""
      },
      {
        "title": "Import Wallet",
        "body": "llm-wallet import --private-key <key> [--label <name>]\n\nImport existing wallet from private key."
      },
      {
        "title": "Check Balance",
        "body": "llm-wallet balance\n\nShows USDC balance and native token balance on current network."
      },
      {
        "title": "Transaction History",
        "body": "llm-wallet history\n\nView all transactions and payments made from this wallet."
      },
      {
        "title": "Set Limits",
        "body": "llm-wallet set-limit --per-tx <amount> --daily <amount>\n\nSet per-transaction and daily spending caps in USDC.\n\nExample:\n\nllm-wallet set-limit --per-tx 0.10 --daily 5.00"
      },
      {
        "title": "Check Limits",
        "body": "llm-wallet get-limits\n\nView current spending limits and daily usage."
      },
      {
        "title": "Make Payment",
        "body": "llm-wallet pay <url> [--method GET|POST] [--body <json>]\n\nMake x402 micropayment to a paid API endpoint.\n\n⚠️ IMPORTANT: Always ask user for approval before making payments!\n\nExample:\n\n# Ask user: \"I need to make a payment to https://api.example.com/weather. Cost: $0.001 USDC. Approve?\"\nllm-wallet pay \"https://api.example.com/weather?location=London\"\n\nWorkflow:\n\nCheck if payment is needed: llm-wallet check-payment <url>\nShow user: URL, estimated cost, current limits\nWait for user approval\nExecute: llm-wallet pay <url>\nConfirm completion and show transaction ID"
      },
      {
        "title": "Check Payment (Pre-flight)",
        "body": "llm-wallet check-payment <url>\n\nChecks if wallet can afford payment without executing it."
      },
      {
        "title": "Register API",
        "body": "llm-wallet register-api <url> --name <tool_name>\n\nRegister a paid API endpoint as a reusable tool.\n\nExample:\n\nllm-wallet register-api \"https://api.example.com/weather\" --name weather_api"
      },
      {
        "title": "List Registered APIs",
        "body": "llm-wallet list-apis\n\nShow all registered API tools."
      },
      {
        "title": "Call Registered API",
        "body": "llm-wallet call-api <tool_name> [--params <json>]\n\nExecute a registered API tool. Requires approval if payment needed.\n\nExample:\n\n# Ask user for approval first if cost > 0\nllm-wallet call-api weather_api --params '{\"location\": \"London\"}'"
      },
      {
        "title": "Unregister API",
        "body": "llm-wallet unregister-api <tool_name>\n\nRemove a registered API tool."
      },
      {
        "title": "Verify Payment",
        "body": "llm-wallet verify-payment --header <x-payment-header> --requirements <json>\n\nVerify incoming payment from a buyer (seller-side)."
      },
      {
        "title": "Create Payment Requirements",
        "body": "llm-wallet create-requirements --price <amount> --pay-to <address> --url <resource-url>\n\nGenerate payment requirements for a protected resource."
      },
      {
        "title": "Safety Rules",
        "body": "Network Default: Always uses polygon-amoy (testnet) unless configured otherwise\nApproval Required: Always ask user before making payments\nSpending Limits: Check limits before payment attempts\nTransaction Logging: All payments are logged with timestamps\nEncryption: Wallets are encrypted with AES-256-GCM"
      },
      {
        "title": "Environment Variables",
        "body": "WALLET_ENCRYPTION_KEY - Wallet encryption key (32+ chars, auto-generated if missing)\nWALLET_NETWORK - Network selection (default: polygon-amoy | polygon)\nFACILITATOR_URL - Custom facilitator URL (auto-configured)\nWALLET_MAX_TX_AMOUNT - Per-transaction limit override\nWALLET_DAILY_LIMIT - Daily limit override"
      },
      {
        "title": "Network Info",
        "body": "Polygon Testnet (Amoy): Chain ID 80002, Facilitator: https://x402-amoy.polygon.technology\nPolygon Mainnet: Chain ID 137, Facilitator: https://x402.polygon.technology"
      },
      {
        "title": "First Time Setup",
        "body": "# 1. Create wallet\nllm-wallet create --label \"my-agent\"\n\n# 2. Set spending limits\nllm-wallet set-limit --per-tx 0.10 --daily 5.00\n\n# 3. Check balance (will be 0 initially)\nllm-wallet balance\n\n# 4. Fund wallet with testnet USDC\n# User needs to: visit https://faucet.polygon.technology/"
      },
      {
        "title": "Making a Payment",
        "body": "# 1. Pre-check payment\nllm-wallet check-payment \"https://api.example.com/weather?location=London\"\n\n# 2. Show user: URL, cost estimate, current limits\n# 3. Ask user: \"Approve payment of $0.001 USDC to https://api.example.com/weather?\"\n\n# 4. If approved, execute payment\nllm-wallet pay \"https://api.example.com/weather?location=London\"\n\n# 5. Confirm and show transaction ID\nllm-wallet history"
      },
      {
        "title": "Registering a Paid API",
        "body": "# 1. Register the API\nllm-wallet register-api \"https://api.example.com/translate\" --name translate_api\n\n# 2. List available APIs\nllm-wallet list-apis\n\n# 3. Call the API (with approval)\nllm-wallet call-api translate_api --params '{\"text\": \"hello\", \"to\": \"es\"}'\n\n# 4. View payment in history\nllm-wallet history"
      },
      {
        "title": "Error Handling",
        "body": "Insufficient Balance: Show error and guide user to faucet (testnet) or funding instructions (mainnet)\nPayment Rejected: Transaction reverted, check error message for details\nLimit Exceeded: Show current limits and daily usage, suggest increasing limits\nNetwork Timeout: Retry with exponential backoff (max 3 attempts)"
      },
      {
        "title": "References",
        "body": "See references/ folder for:\n\nx402-protocol.md - x402 payment protocol overview\nwallet-setup.md - Detailed wallet setup guide\nexamples.md - More usage examples"
      },
      {
        "title": "Notes",
        "body": "All amounts are in USDC (6 decimals)\nDefault network is testnet for safety\nTestnet USDC has no real value\nAlways verify network before mainnet usage\nKeep encryption key secure (never share or commit)"
      }
    ],
    "body": "LLM Wallet - Crypto Wallet & x402 Micropayments\n\nUse llm-wallet commands to manage crypto wallets and make micropayments to paid APIs using USDC stablecoins on Polygon blockchain.\n\nDefault Network: Polygon Testnet (polygon-amoy) - safe for testing Facilitator: https://x402-amoy.polygon.technology\n\nQuick Start\n# Create wallet\nllm-wallet create\n\n# Check balance\nllm-wallet balance\n\n# Set spending limits (recommended)\nllm-wallet set-limit --per-tx 0.10 --daily 5.00\n\n# View transaction history\nllm-wallet history\n\nWallet Management\nCreate Wallet\nllm-wallet create [--label <name>]\n\n\nCreates a new HD wallet with encryption. Returns wallet address.\n\nExample:\n\nllm-wallet create --label \"agent-wallet\"\n\nImport Wallet\nllm-wallet import --private-key <key> [--label <name>]\n\n\nImport existing wallet from private key.\n\nCheck Balance\nllm-wallet balance\n\n\nShows USDC balance and native token balance on current network.\n\nTransaction History\nllm-wallet history\n\n\nView all transactions and payments made from this wallet.\n\nSpending Limits\nSet Limits\nllm-wallet set-limit --per-tx <amount> --daily <amount>\n\n\nSet per-transaction and daily spending caps in USDC.\n\nExample:\n\nllm-wallet set-limit --per-tx 0.10 --daily 5.00\n\nCheck Limits\nllm-wallet get-limits\n\n\nView current spending limits and daily usage.\n\nx402 Payments\nMake Payment\nllm-wallet pay <url> [--method GET|POST] [--body <json>]\n\n\nMake x402 micropayment to a paid API endpoint.\n\n⚠️ IMPORTANT: Always ask user for approval before making payments!\n\nExample:\n\n# Ask user: \"I need to make a payment to https://api.example.com/weather. Cost: $0.001 USDC. Approve?\"\nllm-wallet pay \"https://api.example.com/weather?location=London\"\n\n\nWorkflow:\n\nCheck if payment is needed: llm-wallet check-payment <url>\nShow user: URL, estimated cost, current limits\nWait for user approval\nExecute: llm-wallet pay <url>\nConfirm completion and show transaction ID\nCheck Payment (Pre-flight)\nllm-wallet check-payment <url>\n\n\nChecks if wallet can afford payment without executing it.\n\nDynamic API Registration\nRegister API\nllm-wallet register-api <url> --name <tool_name>\n\n\nRegister a paid API endpoint as a reusable tool.\n\nExample:\n\nllm-wallet register-api \"https://api.example.com/weather\" --name weather_api\n\nList Registered APIs\nllm-wallet list-apis\n\n\nShow all registered API tools.\n\nCall Registered API\nllm-wallet call-api <tool_name> [--params <json>]\n\n\nExecute a registered API tool. Requires approval if payment needed.\n\nExample:\n\n# Ask user for approval first if cost > 0\nllm-wallet call-api weather_api --params '{\"location\": \"London\"}'\n\nUnregister API\nllm-wallet unregister-api <tool_name>\n\n\nRemove a registered API tool.\n\nSeller Tools (Advanced)\nVerify Payment\nllm-wallet verify-payment --header <x-payment-header> --requirements <json>\n\n\nVerify incoming payment from a buyer (seller-side).\n\nCreate Payment Requirements\nllm-wallet create-requirements --price <amount> --pay-to <address> --url <resource-url>\n\n\nGenerate payment requirements for a protected resource.\n\nSafety Rules\nNetwork Default: Always uses polygon-amoy (testnet) unless configured otherwise\nApproval Required: Always ask user before making payments\nSpending Limits: Check limits before payment attempts\nTransaction Logging: All payments are logged with timestamps\nEncryption: Wallets are encrypted with AES-256-GCM\nConfiguration\nEnvironment Variables\nWALLET_ENCRYPTION_KEY - Wallet encryption key (32+ chars, auto-generated if missing)\nWALLET_NETWORK - Network selection (default: polygon-amoy | polygon)\nFACILITATOR_URL - Custom facilitator URL (auto-configured)\nWALLET_MAX_TX_AMOUNT - Per-transaction limit override\nWALLET_DAILY_LIMIT - Daily limit override\nNetwork Info\nPolygon Testnet (Amoy): Chain ID 80002, Facilitator: https://x402-amoy.polygon.technology\nPolygon Mainnet: Chain ID 137, Facilitator: https://x402.polygon.technology\nCommon Workflows\nFirst Time Setup\n# 1. Create wallet\nllm-wallet create --label \"my-agent\"\n\n# 2. Set spending limits\nllm-wallet set-limit --per-tx 0.10 --daily 5.00\n\n# 3. Check balance (will be 0 initially)\nllm-wallet balance\n\n# 4. Fund wallet with testnet USDC\n# User needs to: visit https://faucet.polygon.technology/\n\nMaking a Payment\n# 1. Pre-check payment\nllm-wallet check-payment \"https://api.example.com/weather?location=London\"\n\n# 2. Show user: URL, cost estimate, current limits\n# 3. Ask user: \"Approve payment of $0.001 USDC to https://api.example.com/weather?\"\n\n# 4. If approved, execute payment\nllm-wallet pay \"https://api.example.com/weather?location=London\"\n\n# 5. Confirm and show transaction ID\nllm-wallet history\n\nRegistering a Paid API\n# 1. Register the API\nllm-wallet register-api \"https://api.example.com/translate\" --name translate_api\n\n# 2. List available APIs\nllm-wallet list-apis\n\n# 3. Call the API (with approval)\nllm-wallet call-api translate_api --params '{\"text\": \"hello\", \"to\": \"es\"}'\n\n# 4. View payment in history\nllm-wallet history\n\nError Handling\nInsufficient Balance: Show error and guide user to faucet (testnet) or funding instructions (mainnet)\nPayment Rejected: Transaction reverted, check error message for details\nLimit Exceeded: Show current limits and daily usage, suggest increasing limits\nNetwork Timeout: Retry with exponential backoff (max 3 attempts)\nReferences\n\nSee references/ folder for:\n\nx402-protocol.md - x402 payment protocol overview\nwallet-setup.md - Detailed wallet setup guide\nexamples.md - More usage examples\nNotes\nAll amounts are in USDC (6 decimals)\nDefault network is testnet for safety\nTestnet USDC has no real value\nAlways verify network before mainnet usage\nKeep encryption key secure (never share or commit)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/AkshatGada/llm-wallet",
    "publisherUrl": "https://clawhub.ai/AkshatGada/llm-wallet",
    "owner": "AkshatGada",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/llm-wallet",
    "downloadUrl": "https://openagent3.xyz/downloads/llm-wallet",
    "agentUrl": "https://openagent3.xyz/skills/llm-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/llm-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/llm-wallet/agent.md"
  }
}