用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/krakenfx/kraken-cli --skill kraken-error-recovery命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Capture the spot-futures price spread with delta-neutral basis trades.
基于 SOC 职业分类
正在显示 SKILL.md
| name | kraken-error-recovery |
| version | 1.0.0 |
| description | Handle order failures, network errors, and duplicate submissions safely. |
| metadata | {"openclaw":{"category":"finance"},"requires":{"bins":["kraken"],"skills":["kraken-shared"]}} |
Use this skill for:
Parse the .error field from the JSON response:
| Category | Meaning | Recovery |
|---|---|---|
auth | Credentials invalid or expired | Re-authenticate, do not retry |
rate_limit | Too many requests | Read suggestion and docs_url fields, adapt strategy |
network | Connection failed | Retry with exponential backoff |
validation | Invalid request parameters | Fix inputs, do not retry unchanged |
api | Exchange-side rejection | Inspect error message, adjust request |
After a network error during order submission, the order may or may not have reached the exchange. Check before resubmitting:
kraken open-orders -o json 2>/dev/null
If the order appears in open-orders, do not resubmit. If absent:
kraken trades-history -o json 2>/dev/null
If the order filled immediately, it appears in trades. Only resubmit if the order is absent from both.
Use --cl-ord-id to tag orders with a unique identifier:
kraken order buy BTCUSD 0.001 --type limit --price 50000 --cl-ord-id "dca-2024-01-15-001" -o json 2>/dev/null
If the submission fails, query by client order ID to check if it reached the exchange:
kraken open-orders --cl-ord-id "dca-2024-01-15-001" -o json 2>/dev/null
Cancel by client order ID if needed:
kraken order cancel --cl-ord-id "dca-2024-01-15-001" -o json 2>/dev/null
1. Submit order (capture exit code and response)
2. If exit code != 0 and error == "network":
a. Wait 2 seconds
b. Check open-orders for the order (by cl-ord-id or recent orders)
c. If found → order succeeded, proceed
d. If not found → check trades-history
e. If in trades → order filled, proceed
f. If absent from both → safe to retry
3. Retry with same cl-ord-id
The CLI returns rate limit errors immediately with no internal retry. The error includes actionable fields for the agent to decide next steps.
On rate_limit error:
suggestion field for specific guidance on what limit was hit and how to adapt.docs_url field for the relevant Kraken documentation.# { "error": "rate_limit", "suggestion": "...", "docs_url": "...", "retryable": true }
kraken status -o json 2>/dev/null
If status succeeds, the rate limit has cleared.
Limit orders may partially fill. Check order status:
kraken query-orders <TXID> -o json 2>/dev/null
Fields: vol (requested volume), vol_exec (filled volume), status (open, closed, canceled) — query-orders returns Kraken's raw wire fields, unlike open-orders/closed-orders which use the CLI schema (volume, volume_executed).
If partially filled and the remaining volume is needed, amend or place a new order for the remaining amount.
An order stuck in open state that should have filled or been canceled:
kraken query-orders <TXID> -o json 2>/dev/null
kraken order cancel <TXID> -o json 2>/dev/null
kraken open-orders -o json 2>/dev/null
--cl-ord-id for all orders in automated loops.kraken feedback.