Kraken Skill
Manage your Kraken exchange account via CLI.
Setup
CODEBLOCK0
Set credentials via environment variables or OpenClaw config (skills.entries.kraken-pro.env).
Get API key: https://www.kraken.com/u/security/api
Commands
Run: INLINECODE1
All commands accept --json for raw JSON output.
Portfolio (auth required)
| Command | Description |
|---|
| summary | Portfolio overview (handles flex vs bonded earn correctly) |
| net-worth |
Single net worth number |
| holdings | Asset breakdown with USD values |
| balance | Raw asset quantities |
Market Data (no auth)
| Command | Description |
|---|
| ticker --pair XBTUSD | Price and 24h stats |
| pairs |
Trading pairs |
| assets | Asset list |
Order History (auth required)
| Command | Description |
|---|
| open-orders | Active orders |
| closed-orders [--limit N] |
Completed orders |
| trades [--limit N] [--csv] | Trade execution history (CSV for export) |
Ledger (auth required)
CODEBLOCK1
Auto-paginates (Kraken returns max 50/request). --csv dumps raw Kraken data.
Trading (auth required)
All trading commands require --confirm. Use --validate for dry-run.
| Command | Description |
|---|
| buy --pair XBTUSD --type market\ | limit --amount N [--price P] --confirm | Place buy order |
| sell --pair XBTUSD --type market\ |
limit --amount N [--price P] --confirm | Place sell order |
| cancel-order --id OXXXXX --confirm | Cancel specific order |
| cancel-all --confirm | Cancel all open orders |
Always confirm with the user before placing real orders. Use --validate first.
Earn/Staking (auth required)
| Command | Description |
|---|
| earn-positions | Current staking allocations |
| earn-strategies |
Available yield programs |
| earn-status | Pending requests |
| earn-allocate --strategy-id ID --amount N --confirm | Stake funds |
| earn-deallocate --strategy-id ID --amount N --confirm | Unstake funds |
Funding (auth required)
| Command | Description |
|---|
| deposit-methods --asset BTC | Deposit methods for an asset |
| deposit-address --asset BTC |
Get deposit address |
| withdraw --asset BTC --key NAME --amount N --confirm | Withdraw to saved address |
| withdraw-status | Recent withdrawal status |
Withdrawal notes:
- - Addresses must be pre-configured in Kraken's web UI (can't add via API)
- Can't list saved address names via API — ask the user for the key name
- Addresses are per-asset: a SOL address won't work for USDC withdrawals even if it's the same wallet. Each asset needs its own entry.
- INLINECODE7 is the saved address name in Kraken, not the actual address
Example Usage
| User Request | Command |
|---|
| What's my portfolio? | summary |
| BTC price? |
ticker --pair XBTUSD |
| Export 2025 ledger for taxes | ledger --start 2025-01-01 --end 2025-12-31 --csv |
| Export trade history | trades --csv |
| Buy 0.1 BTC at market | buy --pair XBTUSD --type market --amount 0.1 --confirm |
| Show staking positions | earn-positions |
Kraken Pair Naming
Kraken uses non-standard names: XBT (not BTC), XETH (not ETH), Z-prefix for fiat (ZUSD, ZCAD). When unsure of a pair name, run pairs --json and grep for the asset.
Portfolio Logic
Kraken has two earn types:
- - Auto Earn (flex): in main wallet, included in trade balance equity
- Bonded staking: separate earn wallet, NOT in trade balance
INLINECODE9 calculates: Total = Trade Balance Equity + Bonded Staking Only
API Permissions
| Feature | Permission |
|---|
| Balances, portfolio, ledger | Query Funds |
| Orders, trades (view) |
Query Open/Closed Orders & Trades |
| Place/cancel orders | Create & Modify Orders |
| Earn allocate/deallocate | Withdraw Funds |
| Withdrawals | Withdraw Funds |
| Market data | None |
Kraken 技能
通过命令行管理您的 Kraken 交易所账户。
设置
bash
pip3 install -r requirements.txt
通过环境变量或 OpenClaw 配置(skills.entries.kraken-pro.env)设置凭证。
获取 API 密钥:https://www.kraken.com/u/security/api
命令
运行:python3 kraken_cli.py [options]
所有命令均支持 --json 参数以输出原始 JSON 格式。
投资组合(需认证)
| 命令 | 描述 |
|---|
| summary | 投资组合概览(正确处理灵活质押与锁定质押) |
| net-worth |
单一净资产数值 |
| holdings | 资产明细及美元估值 |
| balance | 原始资产数量 |
市场数据(无需认证)
| 命令 | 描述 |
|---|
| ticker --pair XBTUSD | 价格及24小时统计数据 |
| pairs |
交易对列表 |
| assets | 资产列表 |
订单历史(需认证)
| 命令 | 描述 |
|---|
| open-orders | 当前活跃订单 |
| closed-orders [--limit N] |
已完成订单 |
| trades [--limit N] [--csv] | 交易执行历史(CSV 格式可导出) |
账本(需认证)
ledger [--start YYYY-MM-DD] [--end YYYY-MM-DD] [--asset BTC] [--type trade|deposit|withdrawal|staking] [--csv] [--limit N]
自动分页(Kraken 每次最多返回50条)。--csv 参数可导出原始 Kraken 数据。
交易(需认证)
所有交易命令均需 --confirm 参数。使用 --validate 进行模拟运行。
| 命令 | 描述 |
|---|
| buy --pair XBTUSD --type market\ | limit --amount N [--price P] --confirm | 下达买入订单 |
| sell --pair XBTUSD --type market\ |
limit --amount N [--price P] --confirm | 下达卖出订单 |
| cancel-order --id OXXXXX --confirm | 取消指定订单 |
| cancel-all --confirm | 取消所有未成交订单 |
在下达真实订单前务必与用户确认。请先使用 --validate 参数。
理财/质押(需认证)
| 命令 | 描述 |
|---|
| earn-positions | 当前质押配置 |
| earn-strategies |
可用收益方案 |
| earn-status | 待处理请求 |
| earn-allocate --strategy-id ID --amount N --confirm | 质押资金 |
| earn-deallocate --strategy-id ID --amount N --confirm | 赎回质押资金 |
资金(需认证)
| 命令 | 描述 |
|---|
| deposit-methods --asset BTC | 资产的充值方式 |
| deposit-address --asset BTC |
获取充值地址 |
| withdraw --asset BTC --key NAME --amount N --confirm | 提现至已保存地址 |
| withdraw-status | 近期提现状态 |
提现注意事项:
- - 地址需在 Kraken 网页端预先配置(无法通过 API 添加)
- 无法通过 API 列出已保存地址名称——请向用户询问密钥名称
- 地址按资产区分:即使同一钱包,SOL 地址也无法用于 USDC 提现。每种资产需单独设置。
- --key 是 Kraken 中保存的地址名称,而非实际地址
使用示例
| 用户请求 | 命令 |
|---|
| 我的投资组合如何? | summary |
| BTC 价格? |
ticker --pair XBTUSD |
| 导出2025年账本用于报税 | ledger --start 2025-01-01 --end 2025-12-31 --csv |
| 导出交易历史 | trades --csv |
| 市价买入0.1 BTC | buy --pair XBTUSD --type market --amount 0.1 --confirm |
| 查看质押仓位 | earn-positions |
Kraken 交易对命名规则
Kraken 使用非标准名称:XBT(而非 BTC)、XETH(而非 ETH)、法币以 Z 为前缀(ZUSD、ZCAD)。不确定交易对名称时,运行 pairs --json 并搜索资产名称。
投资组合逻辑
Kraken 有两种理财类型:
- - 自动理财(灵活): 在主钱包中,包含在交易余额权益内
- 锁定质押: 独立理财钱包,不包含在交易余额内
summary 计算方式:总计 = 交易余额权益 + 锁定质押部分
API 权限
| 功能 | 权限 |
|---|
| 余额、投资组合、账本 | 查询资金 |
| 订单、交易(查看) |
查询未成交/已成交订单及交易 |
| 下达/取消订单 | 创建及修改订单 |
| 理财分配/赎回 | 提现资金 |
| 提现 | 提现资金 |
| 市场数据 | 无 |