← Back to Skills Marketplace
bwhdx

KashDAO CLI

by Benedict · GitHub ↗ · v0.1.0 · MIT-0
macoslinuxwindows ✓ Security Clean
83
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install kashdao-cli
Description
Trade prediction markets non-custodially via the official KashDAO CLI (@kashdao/cli) — markets list/get, quotes, trade buy/sell with idempotency + high-value...
README (SKILL.md)

Kash — Prediction Markets CLI

Official command-line interface for the Kash prediction-market protocol. This skill teaches you how to drive the kash binary against real markets — placing trades, reading positions, and managing webhook deliveries — all from a single CLI.

🧪 Staging release. Today only kash_test_* keys work; the CLI auto-routes them to https://api-staging.kash.bot/v1. Production endpoints and self-service key issuance land with v1.0. Request a staging key by emailing [email protected] with your use case.

Trust model — non-custodial by construction

Every Kash path is non-custodial: Kash never holds funds, never moves funds, never holds keys, and never signs anything. User funds always live in Privy-managed MPC smart accounts the user controls. The CLI holds zero balances; the API key is a scoped, revocable delegation the user issues against their own account. See SECURITY.md § Non-custodial design for the full statement.

Install

npm install -g @kashdao/cli@latest

Requires Node.js 22+. Verify:

kash --version

Authenticate

Store the API key once:

kash auth set-key kash_test_…

Persisted to ~/.kash/config.json at mode 0600. The CLI never writes the raw key to disk in any other location. To override per-shell without persisting, set KASH_API_KEY in the environment.

Core commands

Every command supports --json for stable machine-readable output (single object on stdout; errors on stderr with the documented Kash error envelope). Pin to --json --quiet for AI-agent flows.

Browse markets

# List active markets
kash markets list --status ACTIVE --limit 20 --json

# Get one market's full state
kash markets get \x3Cmarket-id> --json

Quote before trading

Quotes simulate price impact without moving funds:

# How much YES will $10 USDC buy?
kash quote buy \x3Cmarket-id> --outcome 0 --amount 10 --json

# How much USDC do I get for 5 outcome tokens?
kash quote sell \x3Cmarket-id> --outcome 0 --tokens 5 --json

Trade lifecycle

# Buy and wait for terminal status (executed | failed | rejected)
kash trade buy \x3Cmarket-id> --outcome 0 --amount 10 --wait \
  --auto-idempotency-key --json

# Inspect a trade
kash trade status \x3Ctrade-id> --json

# List recent trades
kash trade list --limit 50 --filter status=executed --json

# Close a position
kash trade sell \x3Cmarket-id> --outcome 0 --amount 5 --wait \
  --auto-idempotency-key --json

--auto-idempotency-key is mandatory in agent flows — it makes the request safe to retry; replays return the cached response, so network blips never double-execute a trade.

High-value confirmation

Trades above the key's high_value_threshold_usdc return a two-phase response:

# 1. Submit (returns pending_confirmation + a one-time token)
RESP=$(kash trade buy \x3Cmarket-id> --outcome 0 --amount 5000 --json)
TOKEN=$(echo "$RESP" | jq -r '.confirmation.token')
TRADE_ID=$(echo "$RESP" | jq -r '.id')

# 2. Confirm with the token (60s window)
kash trade confirm "$TRADE_ID" --token "$TOKEN" --json

Portfolio

# Smart-account state, USDC balance, position summary
kash portfolio show --json

# Open positions across markets
kash portfolio positions --json

Webhooks

# List recent deliveries
kash webhooks list --limit 10 --json

# Redeliver a specific event
kash webhooks redeliver \x3Cevent-id> --json

# Rotate the webhook signing secret (60s cooldown)
kash webhooks rotate-secret --json

Request tracing

Every API response carries a requestId. Use it to walk the end-to-end event chain across services:

kash trace \x3Ccorrelation-id> --json

Self-orchestrated direct-to-chain mode

The CLI also wraps @kashdao/protocol-sdk for fully self-orchestrated trading — bring your own RPC, signer, and (optionally) bundler; the Kash backend isn't in the path at all.

# Read the on-chain market state via your RPC
kash protocol market \x3Cmarket-address> --json

# Quote on-chain
kash protocol quote \x3Cmarket-address> --side buy --outcome 0 \
  --amount 10 --json

Profile fields needed for protocol mode: rpcUrl, smartAccount, optionally bundlerUrl/bundlerProvider, and signerKeyRef (file:\x3Cpath> or env:\x3CNAME> — the raw key never persists).

Error handling

Every error envelope follows the same shape:

{
  "ok": false,
  "error": {
    "code": "STABLE_ERROR_CODE",
    "message": "Human-readable summary",
    "recoverable": true,
    "suggestion": "Concrete next step",
    "retryAfterMs": 5000,
    "actions": [{ "type": "wait_and_retry", "delayMs": 5000, "description": "…" }],
    "requestId": "uuid",
    "docsUrl": "https://docs.kash.bot/developer-docs/api-errors/…"
  }
}

Branch on actions[0].type for machine-readable recovery: wait_and_retry, run_command, set_env, open_url, check_input. Or look up kash explain \x3CCODE> for a structured catalog entry.

Useful flags for agent flows

Flag Purpose
--json Stable machine-readable output. Always use in agent flows.
--quiet Suppress progress logs; only the final JSON object on stdout.
--auto-idempotency-key Auto-generate Idempotency-Key. Mandatory for trade write paths.
--wait Block until terminal status. Pairs with --wait-timeout-ms.
--profile \x3Cname> Select a named profile (multi-account / multi-env workflows).
--base-url \x3Curl> Override the auto-routed base URL.
--timeout-ms \x3Cn> Override the per-request timeout (default 30s).

Reference

  • Full command reference: kash docs --json (returns the full command tree as machine-readable JSON) or the Mintlify-rendered pages at \x3Chttps://docs.kash.bot/developer-docs/cli>.
  • REST API reference: \x3Chttps://docs.kash.bot/developer-docs/rest-api/overview>
  • Error catalog: \x3Chttps://docs.kash.bot/developer-docs/api-errors>
  • GitHub: \x3Chttps://github.com/KashDAO/cli>
  • npm: \x3Chttps://www.npmjs.com/package/@kashdao/cli>
  • Support / staging-key requests: [email protected]
Usage Guidance
Do not rely on this low-confidence review as an installation approval; rerun the scan in an environment where metadata.json and artifact/ can be read.
Capability Tags
cryptorequires-walletrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
Unable to assess SKILL.md or artifact contents because local command execution failed before files could be read.
Instruction Scope
Unable to assess runtime instructions; no artifact-backed prompt injection or unsafe instruction scope was available in the provided prompt.
Install Mechanism
Unable to assess install metadata or artifact manifest; no evidence-backed install risk was available.
Credentials
Unable to assess requested environment access; VirusTotal telemetry alone was clean and is not sufficient to create a concern.
Persistence & Privilege
Unable to assess persistence or privilege behavior from artifacts because workspace files could not be inspected.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install kashdao-cli
  3. After installation, invoke the skill by name or use /kashdao-cli
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release of kashdao-cli — official CLI for Kash prediction markets. - Trade on prediction markets non-custodially with the `kash` CLI: list markets, get quotes, buy/sell, and manage portfolio. - Supports both Kash-orchestrated (REST API) and self-orchestrated (direct-to-chain via SDK) modes from a single binary. - Enforces non-custodial operation; user funds remain in user-controlled smart accounts. - Full support for idempotent trade execution, high-value trade confirmation, webhooks management, and end-to-end request tracing. - Provides robust machine-readable JSON output and detailed error envelopes for agent/AIOps integration. - Staging release — only `kash_test_*` keys are currently provisioned; `kash_live_*` keys land at v1.0 when the production API goes live.
Metadata
Slug kashdao-cli
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is KashDAO CLI?

Trade prediction markets non-custodially via the official KashDAO CLI (@kashdao/cli) — markets list/get, quotes, trade buy/sell with idempotency + high-value... It is an AI Agent Skill for Claude Code / OpenClaw, with 83 downloads so far.

How do I install KashDAO CLI?

Run "/install kashdao-cli" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is KashDAO CLI free?

Yes, KashDAO CLI is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does KashDAO CLI support?

KashDAO CLI is cross-platform and runs anywhere OpenClaw / Claude Code is available (macos, linux, windows).

Who created KashDAO CLI?

It is built and maintained by Benedict (@bwhdx); the current version is v0.1.0.

💬 Comments