kraken-rate-limits
Understand Kraken API rate limits and adapt agent behavior when limits are hit.
Best use case
kraken-rate-limits is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Understand Kraken API rate limits and adapt agent behavior when limits are hit.
Teams using kraken-rate-limits should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/kraken-official-rate-limits/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How kraken-rate-limits Compares
| Feature / Agent | kraken-rate-limits | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Understand Kraken API rate limits and adapt agent behavior when limits are hit.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# kraken-rate-limits
Use this skill for:
- understanding Kraken's rate limit systems (Spot REST, trading engine, Futures)
- adapting agent behavior when rate limit errors occur
- choosing optimal request patterns (WebSocket vs REST, batch vs individual)
## How Rate Limiting Works
The CLI does not pre-throttle or retry rate-limited requests. The Kraken API server enforces rate limits. When a limit is hit, the CLI returns the error immediately with structured fields:
```json
{
"error": "rate_limit",
"message": "Spot REST API rate limit exceeded ...",
"suggestion": "Wait 5-15 seconds before retrying. ...",
"retryable": true,
"docs_url": "https://docs.kraken.com/api/docs/guides/spot-rest-ratelimits/"
}
```
Read the `suggestion` field to understand what limit was hit and how to adapt.
## Kraken's Rate Limit Systems
### 1. Spot REST Counter
Counter-decay model. Each call adds to a counter; the counter decays over time.
| Tier | Max Counter | Decay Rate |
|------|-------------|------------|
| Starter | 15 | 0.33/s |
| Intermediate | 20 | 0.5/s |
| Pro | 20 | 1.0/s |
Most calls cost 1 point. Ledgers, trade history, and query-ledgers cost 2. AddOrder and CancelOrder are excluded from this counter (they use the trading engine limiter instead).
Docs: https://docs.kraken.com/api/docs/guides/spot-rest-ratelimits/
### 2. Spot Trading Engine (per-pair)
Separate per-pair counter with penalties for short-lived orders:
| Tier | Threshold | Decay Rate |
|------|-----------|------------|
| Starter | 60 | 1/s |
| Intermediate | 125 | 2.34/s |
| Pro | 180 | 3.75/s |
Cancel within 5 seconds costs +8, amend within 5 seconds costs +3. Let orders rest longer to reduce cost.
Docs: https://docs.kraken.com/api/docs/guides/spot-ratelimits
### 3. Futures Cost Budget
Cost-based system with two separate pools:
- `/derivatives` endpoints: budget of 500 per 10 seconds. `sendorder` costs 10, `editorder` costs 10, `cancelorder` costs 10, `batchorder` costs 9 + batch size, `cancelallorders` costs 25, `accounts` costs 2.
- `/history` endpoints: pool of 100 tokens, refills at 100 per 10 minutes.
Docs: https://docs.kraken.com/api/docs/guides/futures-rate-limits/
## Agent Strategies
### Prefer WebSocket over REST polling
Streaming does not consume REST rate limit points. For real-time data, always prefer:
```bash
kraken ws ticker BTC/USD -o json 2>/dev/null
```
### Use batch orders
Batch orders cost less per-order on both Spot and Futures. Up to 15 orders per batch on Spot.
### Read the suggestion field
When a rate limit error is returned, the `suggestion` field contains the specific limit that was hit and concrete advice. Parse it and adapt:
```bash
RESULT=$(kraken balance -o json 2>/dev/null)
if [ $? -ne 0 ]; then
CATEGORY=$(echo "$RESULT" | jq -r '.error // "unknown"')
if [ "$CATEGORY" = "rate_limit" ]; then
SUGGESTION=$(echo "$RESULT" | jq -r '.suggestion // "Wait and retry"')
DOCS=$(echo "$RESULT" | jq -r '.docs_url // ""')
echo "Rate limited. $SUGGESTION"
echo "Read more: $DOCS"
fi
fi
```
### Multi-command budget planning
Before executing a sequence, estimate total cost:
```bash
# This sequence costs ~5 points on the Spot REST counter:
kraken ticker BTCUSD -o json 2>/dev/null # 1 point
kraken balance -o json 2>/dev/null # 1 point
kraken open-orders -o json 2>/dev/null # 1 point
kraken trades-history -o json 2>/dev/null # 2 points (heavy call)
```
Leave headroom for retries and unexpected calls.Related Skills
Kraken Crypto Skill
Use the kraken_cli.py wrapper to query your Kraken account.
openclaw_kraken
Use a Bash CLI to query Kraken Spot and Futures APIs, inspect account state, run guarded trading and funding actions, and work with Kraken websocket payloads using OpenClaw-managed secrets.
kraken-ws-streaming
Real-time data streaming via WebSocket for spot and futures.
kraken-twap-execution
Execute large orders as time-weighted slices to reduce market impact.
kraken-tax-export
Export trade history, ledgers, and cost basis data for tax reporting.
kraken-subaccount-ops
Create and manage subaccounts with inter-account transfers.
kraken-stop-take-profit
Manage stop-loss and take-profit orders for risk-bounded positions.
kraken-spot-execution
Execute spot orders with validation, confirmation gates, and post-trade checks.
kraken-shared
Shared runtime contract for kraken-cli: auth, invocation, parsing, and safety.
kraken-risk-operations
Operational risk controls for live agent trading sessions.
recipe-paper-strategy-backtest
Backtest a trading strategy using paper trading against live prices.
recipe-funding-rate-scan
Scan perpetual contracts for attractive funding rate carry opportunities.