Kash - Agentic Payment Provider
ReviewAudited by ClawScan on May 10, 2026.
Overview
This is a transparent Kash payment integration, but installing it gives your agent the ability to spend wallet funds automatically, so it needs careful review.
Only install this if you intentionally want your agent to make payments from a Kash wallet. Use a dedicated low-balance wallet or strict Kash dashboard budget, set KASH_SPEND_CONFIRMATION_THRESHOLD=0 for per-spend approval, keep KASH_KEY out of chat/logs, and avoid setting KASH_API_URL in production.
Findings (2)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
A mistaken, compromised, or prompt-injected agent could spend wallet funds, especially through repeated transactions below the confirmation threshold or by misusing the confirmation flag.
The spend tool performs a real payment API call. Amounts at or below the threshold proceed without confirmation, and larger spends are blocked only unless the caller supplies confirmed=true.
if (params.amount > SPEND_CONFIRMATION_THRESHOLD && !params.confirmed) { ... } ... fetch(`${KASH_API_URL}/api/agents/${KASH_AGENT_ID}/spend`, { method: 'POST', ... })Set KASH_SPEND_CONFIRMATION_THRESHOLD=0 if you want approval for every spend, set a low Kash dashboard budget and KASH_BUDGET, and monitor or pause the agent from the Kash dashboard.
If the API URL override is misconfigured, the wallet key could be sent less safely than expected, and anyone with that key may be able to spend from the Kash agent wallet.
The Kash key is sent to the configured API URL. The override validation checks hostnames, but does not check the URL protocol, so an allowed non-HTTPS override could receive the wallet credential despite the security documentation emphasizing HTTPS.
const KASH_API_URL = process.env.KASH_API_URL || 'https://api.kash.dev' ... const isTrusted = TRUSTED_DOMAINS.some(d => url.hostname === d || url.hostname.endsWith(`.${d}`)) ... 'x-kash-key': KASH_KEY!Leave KASH_API_URL unset unless developing locally, use only https://api.kash.dev in production, and rotate KASH_KEY if it may have been exposed.
