/install kashdao-cli
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 tohttps://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]
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install kashdao-cli - 安装完成后,直接呼叫该 Skill 的名称或使用
/kashdao-cli触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
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... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 83 次。
如何安装 KashDAO CLI?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install kashdao-cli」即可一键安装,无需额外配置。
KashDAO CLI 是免费的吗?
是的,KashDAO CLI 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
KashDAO CLI 支持哪些平台?
KashDAO CLI 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(macos, linux, windows)。
谁开发了 KashDAO CLI?
由 Benedict(@bwhdx)开发并维护,当前版本 v0.1.0。