{
  "schemaVersion": "1.0",
  "item": {
    "slug": "kash",
    "name": "Kash - Agentic Payment Provider",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/DevFaraaz/kash",
    "canonicalUrl": "https://clawhub.ai/DevFaraaz/kash",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/kash",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kash",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SECURITY.md",
      "SKILL.md",
      "tools.ts"
    ],
    "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/kash"
    },
    "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/kash",
    "agentPageUrl": "https://openagent3.xyz/skills/kash/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kash/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kash/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": "Kash Payment Skill",
        "body": "This skill gives your OpenClaw agent access to a Kash wallet so it can pay for external services autonomously, within your configured budget."
      },
      {
        "title": "Security model",
        "body": "KASH_KEY and KASH_AGENT_ID are required. The skill will fail at load time if either is missing — it will not silently proceed.\nKASH_API_URL is validated against an allowlist (api.kash.dev and localhost only) at startup. Setting it to any other domain is rejected immediately to prevent KASH_KEY from being sent to an untrusted server.\nKASH_BUDGET is enforced locally in code as a session cap. It is not just a guideline — the spend function checks it before every call.\nSpends above KASH_SPEND_CONFIRMATION_THRESHOLD ($5.00 default) require confirmed=true, which the agent must only set after receiving an explicit YES from the user in the current conversation.\nBudget enforcement happens at two layers: locally (KASH_BUDGET) and server-side (Kash dashboard budget). Both must pass. The server is the authoritative source of truth."
      },
      {
        "title": "kash_spend",
        "body": "Spend from the Kash agent wallet before making a paid API call.\n\nParameters:\n\namount (number, required) — amount in USD\ndescription (string, required) — what you are paying for\nmerchant (string, optional) — name of the service\nconfirmed (boolean, optional) — set true only after explicit user YES for spends above threshold\n\nReturn values:\n\nOK. Spent $X for \"...\" — spend succeeded\nCONFIRMATION_REQUIRED: ... — ask user for YES, then retry with confirmed=true\nLOCAL_BUDGET_EXCEEDED: ... — session cap hit, stop and notify user\nBUDGET_EXCEEDED: ... — server-side budget hit, stop and notify user\nAGENT_PAUSED: ... — agent paused by user in Kash dashboard\nUNAUTHORIZED: ... — KASH_KEY invalid or expired\nERROR: ... — unexpected failure"
      },
      {
        "title": "kash_balance",
        "body": "Check remaining budget without spending. Returns both server-side balance and local session cap."
      },
      {
        "title": "When to use this skill",
        "body": "Use kash_spend BEFORE making any paid external call — API calls, web searches, data purchases, or any service that charges per request. Always call it before the paid operation, not after.\n\nUse kash_balance before starting a multi-step task that will require several paid operations."
      },
      {
        "title": "Rules the agent must follow",
        "body": "Always call kash_spend BEFORE the paid call, never after\nIf CONFIRMATION_REQUIRED is returned, ask the user for explicit YES — never bypass it\nIf BUDGET_EXCEEDED or LOCAL_BUDGET_EXCEEDED is returned, stop the task immediately and tell the user\nNever set confirmed=true without a real user confirmation in the current conversation\nNever attempt to work around a budget limit\nIf kash_spend returns any error, do NOT proceed with the paid call"
      },
      {
        "title": "Kash Payment Skill",
        "body": "Use this skill to pay for external APIs, tools, and services from your Kash agent wallet."
      },
      {
        "title": "Setup",
        "body": "Configure in ~/.openclaw/openclaw.json:\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"kash\": {\n        \"enabled\": true,\n        \"apiKey\": \"ksh_live_...\",\n        \"env\": {\n          \"KASH_KEY\": \"ksh_live_...\",\n          \"KASH_AGENT_ID\": \"your-agent-id\",\n          \"KASH_BUDGET\": \"50\",\n          \"KASH_SPEND_CONFIRMATION_THRESHOLD\": \"5.00\"\n        }\n      }\n    }\n  }\n}\n\nGet KASH_KEY and KASH_AGENT_ID from kash.dev/dashboard/agents after registering your agent."
      },
      {
        "title": "kash_spend",
        "body": "Call this BEFORE any paid API call or service. Never after.\n\nParameters:\n\namount (number, required) — cost in USD e.g. 0.003\ndescription (string, required) — what you are paying for e.g. \"serper web search\"\nmerchant (string, optional) — service name e.g. \"Serper\"\nconfirmed (boolean, optional) — set true ONLY after explicit user YES for spends above threshold\n\nReturns:\n\nOK. Spent $X for \"...\" — proceed with the paid call\nCONFIRMATION_REQUIRED: ... — ask user for YES, then retry with confirmed=true\nLOCAL_BUDGET_EXCEEDED: ... — stop, tell user to top up at kash.dev\nBUDGET_EXCEEDED: ... — stop, tell user to top up at kash.dev\nAGENT_PAUSED: ... — tell user to resume agent at kash.dev/dashboard/agents\nUNAUTHORIZED: ... — tell user their KASH_KEY may be invalid\nERROR: ... — do not proceed with the paid call"
      },
      {
        "title": "kash_balance",
        "body": "Check remaining budget. Use before starting multi-step paid tasks.\n\nNo parameters required."
      },
      {
        "title": "Rules",
        "body": "Always call kash_spend BEFORE the paid call, never after\nIf CONFIRMATION_REQUIRED is returned, ask the user for explicit YES before retrying with confirmed=true\nIf any error or budget exceeded is returned, stop immediately and tell the user\nNever set confirmed=true without a real user YES in the current conversation\nNever attempt to work around a budget limit\nNever reveal KASH_KEY value in any message or log"
      }
    ],
    "body": "Kash Payment Skill\n\nThis skill gives your OpenClaw agent access to a Kash wallet so it can pay for external services autonomously, within your configured budget.\n\nSecurity model\nKASH_KEY and KASH_AGENT_ID are required. The skill will fail at load time if either is missing — it will not silently proceed.\nKASH_API_URL is validated against an allowlist (api.kash.dev and localhost only) at startup. Setting it to any other domain is rejected immediately to prevent KASH_KEY from being sent to an untrusted server.\nKASH_BUDGET is enforced locally in code as a session cap. It is not just a guideline — the spend function checks it before every call.\nSpends above KASH_SPEND_CONFIRMATION_THRESHOLD ($5.00 default) require confirmed=true, which the agent must only set after receiving an explicit YES from the user in the current conversation.\nBudget enforcement happens at two layers: locally (KASH_BUDGET) and server-side (Kash dashboard budget). Both must pass. The server is the authoritative source of truth.\nTools provided\nkash_spend\n\nSpend from the Kash agent wallet before making a paid API call.\n\nParameters:\n\namount (number, required) — amount in USD\ndescription (string, required) — what you are paying for\nmerchant (string, optional) — name of the service\nconfirmed (boolean, optional) — set true only after explicit user YES for spends above threshold\n\nReturn values:\n\nOK. Spent $X for \"...\" — spend succeeded\nCONFIRMATION_REQUIRED: ... — ask user for YES, then retry with confirmed=true\nLOCAL_BUDGET_EXCEEDED: ... — session cap hit, stop and notify user\nBUDGET_EXCEEDED: ... — server-side budget hit, stop and notify user\nAGENT_PAUSED: ... — agent paused by user in Kash dashboard\nUNAUTHORIZED: ... — KASH_KEY invalid or expired\nERROR: ... — unexpected failure\nkash_balance\n\nCheck remaining budget without spending. Returns both server-side balance and local session cap.\n\nWhen to use this skill\n\nUse kash_spend BEFORE making any paid external call — API calls, web searches, data purchases, or any service that charges per request. Always call it before the paid operation, not after.\n\nUse kash_balance before starting a multi-step task that will require several paid operations.\n\nRules the agent must follow\nAlways call kash_spend BEFORE the paid call, never after\nIf CONFIRMATION_REQUIRED is returned, ask the user for explicit YES — never bypass it\nIf BUDGET_EXCEEDED or LOCAL_BUDGET_EXCEEDED is returned, stop the task immediately and tell the user\nNever set confirmed=true without a real user confirmation in the current conversation\nNever attempt to work around a budget limit\nIf kash_spend returns any error, do NOT proceed with the paid call\nKash Payment Skill\n\nUse this skill to pay for external APIs, tools, and services from your Kash agent wallet.\n\nSetup\n\nConfigure in ~/.openclaw/openclaw.json:\n\n{\n  \"skills\": {\n    \"entries\": {\n      \"kash\": {\n        \"enabled\": true,\n        \"apiKey\": \"ksh_live_...\",\n        \"env\": {\n          \"KASH_KEY\": \"ksh_live_...\",\n          \"KASH_AGENT_ID\": \"your-agent-id\",\n          \"KASH_BUDGET\": \"50\",\n          \"KASH_SPEND_CONFIRMATION_THRESHOLD\": \"5.00\"\n        }\n      }\n    }\n  }\n}\n\n\nGet KASH_KEY and KASH_AGENT_ID from kash.dev/dashboard/agents after registering your agent.\n\nTools\nkash_spend\n\nCall this BEFORE any paid API call or service. Never after.\n\nParameters:\n\namount (number, required) — cost in USD e.g. 0.003\ndescription (string, required) — what you are paying for e.g. \"serper web search\"\nmerchant (string, optional) — service name e.g. \"Serper\"\nconfirmed (boolean, optional) — set true ONLY after explicit user YES for spends above threshold\n\nReturns:\n\nOK. Spent $X for \"...\" — proceed with the paid call\nCONFIRMATION_REQUIRED: ... — ask user for YES, then retry with confirmed=true\nLOCAL_BUDGET_EXCEEDED: ... — stop, tell user to top up at kash.dev\nBUDGET_EXCEEDED: ... — stop, tell user to top up at kash.dev\nAGENT_PAUSED: ... — tell user to resume agent at kash.dev/dashboard/agents\nUNAUTHORIZED: ... — tell user their KASH_KEY may be invalid\nERROR: ... — do not proceed with the paid call\nkash_balance\n\nCheck remaining budget. Use before starting multi-step paid tasks.\n\nNo parameters required.\n\nRules\nAlways call kash_spend BEFORE the paid call, never after\nIf CONFIRMATION_REQUIRED is returned, ask the user for explicit YES before retrying with confirmed=true\nIf any error or budget exceeded is returned, stop immediately and tell the user\nNever set confirmed=true without a real user YES in the current conversation\nNever attempt to work around a budget limit\nNever reveal KASH_KEY value in any message or log"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/DevFaraaz/kash",
    "publisherUrl": "https://clawhub.ai/DevFaraaz/kash",
    "owner": "DevFaraaz",
    "version": "1.0.7",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/kash",
    "downloadUrl": "https://openagent3.xyz/downloads/kash",
    "agentUrl": "https://openagent3.xyz/skills/kash/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kash/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kash/agent.md"
  }
}