Back to skills
SkillHub ClubShip Full StackFull Stack

kash

Pay for APIs, tools, and services from your agent's Kash wallet. Spends below $5 are autonomous; above $5 requires explicit user YES. Requires KASH_KEY and KASH_AGENT_ID from kash.dev.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,086
Hot score
99
Updated
March 20, 2026
Overall rating
C4.0
Composite score
4.0
Best-practice grade
B77.6

Install command

npx @skill-hub/cli install openclaw-skills-kash

Repository

openclaw/skills

Skill path: skills/devfaraaz/kash

Pay for APIs, tools, and services from your agent's Kash wallet. Spends below $5 are autonomous; above $5 requires explicit user YES. Requires KASH_KEY and KASH_AGENT_ID from kash.dev.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install kash into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding kash to shared team environments
  • Use kash for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: kash
description: Pay for APIs, tools, and services from your agent's Kash wallet. Spends below $5 are autonomous; above $5 requires explicit user YES. Requires KASH_KEY and KASH_AGENT_ID from kash.dev.
homepage: https://kash.dev
user-invocable: true
metadata: {"openclaw": {"emoji": "πŸ’³", "primaryEnv": "KASH_KEY", "requires": {"env": ["KASH_KEY", "KASH_AGENT_ID"]}, "homepage": "https://kash.dev"}}
---

# Kash Payment Skill

This skill gives your OpenClaw agent access to a Kash wallet so it can pay for external services autonomously, within your configured budget.

## Security model

- `KASH_KEY` and `KASH_AGENT_ID` are required. The skill will fail at load time if either is missing β€” it will not silently proceed.
- `KASH_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.
- `KASH_BUDGET` is enforced locally in code as a session cap. It is not just a guideline β€” the spend function checks it before every call.
- Spends 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.
- Budget 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.

## Tools provided

### kash_spend

Spend from the Kash agent wallet before making a paid API call.

Parameters:
- `amount` (number, required) β€” amount in USD
- `description` (string, required) β€” what you are paying for
- `merchant` (string, optional) β€” name of the service
- `confirmed` (boolean, optional) β€” set true only after explicit user YES for spends above threshold

Return values:
- `OK. Spent $X for "..."` β€” spend succeeded
- `CONFIRMATION_REQUIRED: ...` β€” ask user for YES, then retry with confirmed=true
- `LOCAL_BUDGET_EXCEEDED: ...` β€” session cap hit, stop and notify user
- `BUDGET_EXCEEDED: ...` β€” server-side budget hit, stop and notify user
- `AGENT_PAUSED: ...` β€” agent paused by user in Kash dashboard
- `UNAUTHORIZED: ...` β€” KASH_KEY invalid or expired
- `ERROR: ...` β€” unexpected failure

### kash_balance

Check remaining budget without spending. Returns both server-side balance and local session cap.

## When to use this skill

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.

Use `kash_balance` before starting a multi-step task that will require several paid operations.

## Rules the agent must follow

1. Always call `kash_spend` BEFORE the paid call, never after
2. If `CONFIRMATION_REQUIRED` is returned, ask the user for explicit YES β€” never bypass it
3. If `BUDGET_EXCEEDED` or `LOCAL_BUDGET_EXCEEDED` is returned, stop the task immediately and tell the user
4. Never set `confirmed=true` without a real user confirmation in the current conversation
5. Never attempt to work around a budget limit
6. If `kash_spend` returns any error, do NOT proceed with the paid call

# Kash Payment Skill

Use this skill to pay for external APIs, tools, and services from your Kash agent wallet.

## Setup

Configure in `~/.openclaw/openclaw.json`:

```json
{
  "skills": {
    "entries": {
      "kash": {
        "enabled": true,
        "apiKey": "ksh_live_...",
        "env": {
          "KASH_KEY": "ksh_live_...",
          "KASH_AGENT_ID": "your-agent-id",
          "KASH_BUDGET": "50",
          "KASH_SPEND_CONFIRMATION_THRESHOLD": "5.00"
        }
      }
    }
  }
}
```

Get `KASH_KEY` and `KASH_AGENT_ID` from kash.dev/dashboard/agents after registering your agent.

## Tools

### kash_spend

Call this BEFORE any paid API call or service. Never after.

Parameters:
- `amount` (number, required) β€” cost in USD e.g. 0.003
- `description` (string, required) β€” what you are paying for e.g. "serper web search"
- `merchant` (string, optional) β€” service name e.g. "Serper"
- `confirmed` (boolean, optional) β€” set true ONLY after explicit user YES for spends above threshold

Returns:
- `OK. Spent $X for "..."` β€” proceed with the paid call
- `CONFIRMATION_REQUIRED: ...` β€” ask user for YES, then retry with confirmed=true
- `LOCAL_BUDGET_EXCEEDED: ...` β€” stop, tell user to top up at kash.dev
- `BUDGET_EXCEEDED: ...` β€” stop, tell user to top up at kash.dev
- `AGENT_PAUSED: ...` β€” tell user to resume agent at kash.dev/dashboard/agents
- `UNAUTHORIZED: ...` β€” tell user their KASH_KEY may be invalid
- `ERROR: ...` β€” do not proceed with the paid call

### kash_balance

Check remaining budget. Use before starting multi-step paid tasks.

No parameters required.

## Rules

1. Always call `kash_spend` BEFORE the paid call, never after
2. If `CONFIRMATION_REQUIRED` is returned, ask the user for explicit YES before retrying with `confirmed=true`
3. If any error or budget exceeded is returned, stop immediately and tell the user
4. Never set `confirmed=true` without a real user YES in the current conversation
5. Never attempt to work around a budget limit
6. Never reveal `KASH_KEY` value in any message or log


---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "devfaraaz",
  "slug": "kash",
  "displayName": "Kash - Agentic Payment Provider",
  "latest": {
    "version": "1.0.7",
    "publishedAt": 1772062025210,
    "commit": "https://github.com/openclaw/skills/commit/01f9399c6f5bc9f2099d0ec00e66c6abe965cb22"
  },
  "history": []
}

```