For Kraken Traders

The Kraken trading bot built for Python developers.

Kraken is one of the oldest, most regulated crypto exchanges — and a great venue for low-latency automated trading. WatchDog Bot handles the connection via CCXT, runs your bot in an isolated environment, and gives you real-time logs + AI debugging. Free trial.

Start Free Trial → View Bot Examples

Why Kraken?

Kraken has been running since 2011, has never had a major hack, and operates under regulatory oversight in the US (FinCEN MSB, FINMA), EU (multiple member states), and UK (FCA registration). For traders who want a regulated venue with serious uptime history, it's near the top of the list.

For bot operators specifically: Kraken's API is well-documented, websocket feeds are fast, fees are competitive at the maker/taker tiers, and the rate limits are generous for retail volumes.

What you get

→ Connection

Kraken API key handled

Add your Kraken API key + private key in Settings. Bot accesses via wd.connection("Kraken"). Never in code.

→ CCXT

Spot, futures & margin

ccxt.kraken (spot + margin) and ccxt.krakenfutures (perps + dated futures). Standard CCXT methods on both.

→ Self-heal

Auto-installs dependencies

Forgot to install ccxt? The runtime installs it on first ModuleNotFoundError and retries. You almost never see the error.

→ Logs

Real-time cloud logs

Every log line streams to a dashboard. Filter by level, search by text, see what your bot is doing live.

→ AI Fix

One-click debugging

Kraken-specific errors (EAPI:Invalid signature, EOrder:Insufficient funds, EService:Unavailable) get fixed by Claude in seconds.

→ Multi-asset

Beyond BTC/ETH

Kraken supports 300+ pairs including staking yields, derivatives, and forex. Build bots for any of them.

Strategies that work on Kraken

Cross-exchange arbitrage with Binance/Coinbase

Kraken's price often diverges briefly from Binance/Coinbase on the same pair. Watch the spread, execute when it widens past your fee-adjusted threshold. See the arbitrage scanner.

Futures funding-rate arbitrage

When perp funding diverges from spot, long the cheap side and short the expensive side. Kraken's futures have meaningful basis windows worth exploiting.

EU-friendly DCA / accumulation

Kraken serves EU residents directly with EUR pairs. Schedule weekly buys, persist cumulative state, get tax-reportable records. Copy the DCA example.

Staking-aware portfolio rebalancing

If you stake ETH or DOT on Kraken, a bot can pull staking yields, rebalance unstaked balances, and avoid over-allocating to any single asset.

A simple Kraken bot in 20 lines

Limit-order grid bot — places a ladder of buy orders below market and sell orders above market on BTC/USD. Profits from sideways volatility.

import time
import wd
import ccxt

conn = wd.connection("Kraken")
ex = ccxt.kraken({"apiKey": conn.api_key, "secret": conn.api_secret, "enableRateLimit": True})

SYMBOL = "BTC/USD"
GRID_LEVELS = 5
GRID_SPACING_PCT = 0.5   # 0.5% between levels
ORDER_USD = 50

price = float(ex.fetch_ticker(SYMBOL)["last"])
wd.log.info("Center price: $%.2f — placing %d-level grid", price, GRID_LEVELS)

orders = []
for i in range(1, GRID_LEVELS + 1):
    buy_price  = price * (1 - GRID_SPACING_PCT/100 * i)
    sell_price = price * (1 + GRID_SPACING_PCT/100 * i)
    qty = ORDER_USD / buy_price
    wd.log.info("Level %d: BUY @ %.2f, SELL @ %.2f, qty %.6f", i, buy_price, sell_price, qty)

    if not wd.is_demo():
        buy  = ex.create_limit_buy_order(SYMBOL,  qty, buy_price)
        sell = ex.create_limit_sell_order(SYMBOL, qty, sell_price)
        orders.extend([buy, sell])

wd.log.info("Placed %d orders — sleeping forever (Ctrl-C to exit)", len(orders))
while True:
    time.sleep(60)

Kraken bot FAQ

What's the difference between Kraken and Kraken Pro?

"Kraken Pro" is just the advanced trading UI — same exchange, same accounts, same API. You don't need a separate signup. Your existing Kraken API key works with both.

Does this work with Kraken Futures?

Yes. Kraken's futures live on a separate venue (formerly Cryptofacilities) with a separate API. CCXT exposes it as ccxt.krakenfutures. Add it as a second connection in WatchDog Bot if you need both spot and futures.

What about Kraken's rate limits?

Kraken uses a "call counter" rate limit per account, with limits varying by API tier (Starter/Intermediate/Pro). CCXT's enableRateLimit: true handles most cases. If you run high-frequency strategies, you may need to upgrade your account tier.

Can I use the Kraken NFT marketplace?

Kraken's NFT marketplace doesn't have a public bot-friendly API at the time of writing. We don't support it. If that changes, we'll add it via a custom HTTP connection.

Is Kraken better than Binance for bots?

Depends. Kraken: better regulatory standing, more reliable uptime, simpler API. Binance: higher liquidity, more pairs, lower fees at scale. Many traders run on both via separate WatchDog Bot connections.

How do I get a Kraken API key?

Log into kraken.com → Settings → API → Add Key. Set permissions to Query Funds, Query Open Orders, Create & Modify Orders at minimum. Save the key + secret. Paste both into WatchDog Bot's connection settings.

Run your Kraken bot today

Free trial, no credit card. Strategy live in 10 minutes.

Start Free Trial →