name: kraken-fee-optimization version: 1.0.0 description: "Minimize trading fees through maker orders, volume tiers, and fee-aware execution." metadata: openclaw: category: "finance" requires: bins: ["kraken"]
kraken-fee-optimization
Use this skill for:
- understanding maker vs taker fee structures
- using post-only orders to guarantee maker rates
- tracking 30-day volume for tier progression
- choosing fee currency to minimize cost
Fee Tiers
Check current 30-day volume and fee rates:
kraken volume --pair BTCUSD -o json 2>/dev/null
The response includes volume (30-day USD equivalent) and fees / fees_maker arrays showing the tier schedule.
Maker vs Taker
- Taker: you remove liquidity (market orders, limit orders that fill immediately). Higher fee.
- Maker: you add liquidity (limit orders that rest on the book). Lower fee, sometimes zero.
At starter tier: 0.26% taker, 0.16% maker. The difference compounds over many trades.
Post-Only Orders
Force maker execution by rejecting orders that would immediately fill:
kraken order buy BTCUSD 0.001 --type limit --price 50000 --oflags post -o json 2>/dev/null
If the order would cross the spread and fill as taker, it is rejected instead. This guarantees maker fees on every fill.
Fee Currency Selection
By default, fees are deducted from the received currency. Override with:
kraken order buy BTCUSD 0.001 --type limit --price 50000 --oflags fciq -o json 2>/dev/null
| Flag | Fee taken from |
|---|---|
fciq |
Quote currency (e.g., USD) |
fcib |
Base currency (e.g., BTC) |
Paying fees in quote currency preserves your base asset balance, useful when accumulating.
Volume-Based Optimization
Higher 30-day volume unlocks lower fees. Track progress:
kraken volume -o json 2>/dev/null
If close to the next tier threshold, consolidating trading activity (rather than splitting across exchanges) can push you into a cheaper bracket.
Futures Fee Schedules
kraken futures feeschedules -o json 2>/dev/null
Futures fee volumes:
kraken futures fee-schedule-volumes -o json 2>/dev/null
Fee-Aware Order Sizing
When buying a fixed dollar amount, account for fees in the volume calculation:
# $100 buy at starter taker rate (0.26%)
# Effective spend: $100 / 1.0026 = $99.74 worth of BTC
# Fee: ~$0.26
For precise accounting, check the fee field in the trade response after execution.
Batch Orders for Fee Efficiency
Batch orders share a single API call, reducing overhead. Use when placing related orders:
kraken order batch orders.json --pair BTCUSD -o json 2>/dev/null
Hard Rules
- Order placement commands are dangerous. Never execute without explicit human approval.
- Always
--validatebefore submitting live orders. - Post-only orders can be rejected; handle rejection gracefully and retry.