home / trading-crypto / kraken-cli

Kraken CLI

Official · Kraken
60

Official Kraken CLI for market data, account operations, spot and futures trading, funding, and paper trading.

$curl --proto '=https' --tlsv1.2 -LsSf https://github.com/krakenfx/kraken-cli/releases/latest/download/kraken-cli-installer.sh | sh
Language
Rust
Stars
60
Category
Trading & Crypto
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

Kraken CLI is Kraken's command-line client for public market data, private account operations, spot and futures trading, funding flows, WebSocket streams, and a local paper-trading sandbox. The repo is unusually agent-oriented, with machine-readable command contracts and workflow skills checked in alongside the core CLI.

What It Enables
  • Read public ticker, order book, OHLC, trade, and spread data, or subscribe to spot and futures WebSocket feeds from the shell.
  • Inspect balances, orders, ledgers, positions, funding, earn allocations, and subaccounts, then place, amend, or cancel spot and futures orders without building directly on the Kraken APIs.
  • Test trading workflows against live prices with kraken paper before promoting the same patterns to a live account.
Agent Fit
  • -o json, JSON error envelopes on stdout, stderr-only diagnostics, and non-zero exit codes make one-shot commands easy to parse and chain in automation.
  • Public reads, private account queries, and paper trading all work as non-interactive subcommands once credentials and flags are set, so agents can inspect, decide, act, and verify in the shell.
  • The main limit is risk, not ergonomics: dangerous commands can move real money, some human entry points are interactive, and live use needs tighter approval boundaries even though the repo also includes a built-in MCP server and many workflow skills.
Caveats
  • Live orders, withdrawals, and transfers are real account mutations; use paper trading, --validate, limited-permission API keys, and cancel-after before unattended use.
  • Default output is table and some modes are interactive or streaming (setup, shell, ws, mcp), so automation should request JSON and stick to one-shot commands unless it is prepared for those runtimes.