Initial public release.
Added
kash setup— interactive first-run wizard (masked API key
prompt, profile selection, shell-completion install, health probe,
scope canary). Non-interactive via--yes --api-key <key>. Re-runnable
on existing configs (updates, not duplicates).- Multi-profile support —
~/.kash/config.jsonholds named profiles
(default,live,test, etc.). Switch via--profile <name>,
KASH_PROFILE=<name>, orkash config use <name>. Per-profile
apiKey,baseUrl,defaultChainId, plus protocol-mode fields
(rpcUrl,smartAccount,bundlerUrl,bundlerProvider,
signerKeyRef,customChain). - Auto-routing — a
kash_test_*API key auto-routes to staging
(api-staging.kash.bot); akash_live_*key routes to production
(api.kash.bot). Mirrors@kashdao/sdk'sinferBaseUrlFromApiKey().
Explicit--base-urlorKASH_BASE_URLalways wins. - Two orchestration modes — both fully non-custodial. On every
path: Kash never holds funds, never moves funds, never holds keys,
and never signs anything. User funds always live in accounts the
user controls. See SECURITY.md § Non-custodial design for the full
statement.- Kash-orchestrated (default) — uses the Kash public REST API
(kash markets,kash quote,kash trade,kash portfolio,
kash webhooks,kash auth,kash trace,kash account). The
API key is a scoped, revocable delegation the user issues against
their own Privy-managed smart account. - Self-orchestrated (
kash protocol ...) — wraps
@kashdao/protocol-sdk(signer + RPC + bundler all consumer-side).
Zero Kash backend dependency. Lazy-loaded — adds no cold-start
cost for users who stay on the Kash-orchestrated path.
- Kash-orchestrated (default) — uses the Kash public REST API
- JSON-everywhere — every command accepts
--jsonfor a stable
machine-readable envelope (single object on stdout, errors on stderr).
kash docs --jsonreturns the full command tree for tooling. - Idempotency —
--auto-idempotency-keyon trade commands, or pass
--idempotency-key <uuid>manually. Replays return the cached
response. - Webhook ops —
kash webhooks list,redeliver <eventId>,
rotate-secret,replay <file>(offline signature preview). - Trade lifecycle —
kash trade buy/sell,--dry-runpreview,
--waitpolling until terminal,kash trade status <id>,
kash trade confirm <id> --token <token>for high-value flows,
kash trade list --filter. - High-value confirmation flow — gracefully handles
pending_confirmationresponses with a--tokenprompt or
--auto-confirmfor trusted contexts. kash trace <correlationId>— end-to-end request-id trace from a
trade or webhook delivery, walks the event chain across services.- Typed errors + recovery hints — every error includes a code, a
recovery suggestion (e.g., DNS errors againstapi.kash.botsuggest
using a test key), and akash explain <CODE>reference. - Shell completion — bash, zsh, fish via the
omeletteintegration.
Installed duringkash setup(skippable with--yes). - Cross-platform install — npm (
npm i -g @kashdao/cli), pnpm,
or yarn. A Homebrew tap (kashdao/tap) is planned for the
production launch.