canonical: https://jentic.com/apis/kraken.com/kraken

# Kraken Spot REST API

Jentic publishes the only available OpenAPI specification for Kraken Spot REST API, keeping it validated and agent-ready. The Kraken Spot REST API exposes 41 endpoints for the Kraken cryptocurrency exchange covering public market data, authenticated account balances, spot order placement and cancellation, deposits, withdrawals, internal wallet transfers, and Earn allocation strategies. Public endpoints return ticker, OHLC, order book depth, and asset pair metadata, while private endpoints require an API key plus an HMAC request signature in dedicated headers and use POST with form-encoded bodies. The spec is split into /public and /private path prefixes that match Kraken's documented signing model.

## For AI agents

Trade spot crypto on Kraken - fetch market data, place and cancel orders, manage balances, deposits, and withdrawals - with API key plus signed-request authentication.

## Scope

Does not handle futures derivatives, fiat banking, or tax reporting - use for spot crypto market data, trading, and funding only.

## Capabilities

- Place, amend, cancel, and batch-manage spot orders on Kraken trading pairs
- Fetch ticker, OHLC, order book depth, and recent trades for any tradable asset pair
- Retrieve authenticated account, trade, and extended balance snapshots
- List open and closed orders, trade history, ledger entries, and open margin positions
- Initiate withdrawals to whitelisted addresses, check withdrawal status, and cancel pending withdrawals
- Allocate and deallocate funds across Kraken Earn strategies and inspect existing allocations

## Use cases

### Algorithmic spot trading

A trading bot reads OHLC and order book data from Kraken's public endpoints, then places limit and market orders against the private /AddOrder endpoint with HMAC signing. Risk controls use /OpenOrders and /TradeBalance to size positions, and /CancelAll provides a kill switch. Building this directly takes 1-2 weeks for signing, retry, and rate-limit handling; through a structured client it drops to a few days.

Example prompt: Place a limit buy order via POST /private/AddOrder for pair 'XBTUSD', volume 0.05, price 60000, ordertype 'limit' and confirm the txid in the response.

### Portfolio reporting and reconciliation

An accounting workflow pulls balance, ledger, and trade history from /Balance, /Ledgers, and /TradesHistory to reconcile crypto holdings, realised P&L, and fees against an internal ledger. Kraken returns paginated, timestamped entries that map cleanly onto cost-basis tools. This pattern is widely used by funds and high-volume retail traders for tax reporting.

Example prompt: Call POST /private/TradesHistory with start and end timestamps for the last quarter, then aggregate trade volumes by pair and report total fees paid.

### Treasury withdrawals and transfers

A treasury system uses /WithdrawMethods, /WithdrawAddresses, /WithdrawInfo, and /Withdraw to move funds to whitelisted external wallets, or /WalletTransfer to move balances between Spot and Futures wallets. /WithdrawStatus and /WithdrawCancel provide visibility and a backstop for in-flight transactions. Kraken enforces address whitelisting, so the API surface assumes prior account configuration.

Example prompt: Initiate a withdrawal via POST /private/Withdraw with asset 'USDC', key '<whitelist-key>', amount '500' and poll POST /private/WithdrawStatus until the status is 'Success'.

### Agent-driven trading workflows via Jentic

An agent searches Jentic for 'place a kraken order' and is matched to POST /private/AddOrder along with its required parameters. Jentic injects the API key and HMAC signature so the agent never handles the secret directly, and the agent can compose multi-step workflows like fetch ticker, evaluate spread, place order, and confirm execution.

Example prompt: Use Jentic to load kraken_place_order, then execute it for pair 'ETHUSD', volume 0.5, ordertype 'limit', price 3000 and return the txid.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /public/Ticker | Get ticker information for a pair |
| GET | /public/OHLC | Get OHLC candle data |
| GET | /public/Depth | Get order book depth |
| POST | /private/Balance | Get account balance |
| POST | /private/AddOrder | Place a spot order |
| POST | /private/CancelOrder | Cancel a single order |
| POST | /private/Withdraw | Withdraw funds to a whitelisted address |
| POST | /private/Earn/Allocate | Allocate funds to an Earn strategy |

## Key resources

- **Public market data** — Server time, system status, asset and pair info, ticker, OHLC, depth, trades, and spreads
- **Account** — Balances, trade balance, ledgers, trade volume, and trade history
- **Orders** — Add, amend, cancel, query, and batch operations on spot orders
- **Funding** — Deposit methods and addresses, withdrawal methods, addresses, info, status, and cancellation
- **Earn** — Allocate, deallocate, and list Kraken Earn strategies and allocations

## Why Jentic

- **Setup:** Wiring the Kraken Spot REST API by hand means holding an API key plus a private secret and computing an HMAC-SHA512 signature in the API-Sign header for every private call to api.kraken.com. Through Jentic you install once, import the Kraken Spot REST API from the API Directory, store the key and secret once, and your agent calls it.
- **Permission scoping:** Kraken's private trading and funding operations take their parameters in the request body rather than the URL path, so scope the agent to the operations it needs, such as reading tickers and balances or placing an order. You choose that set, so money-moving operations like Withdraw or Earn allocation are not included unless you add them.
- **Credential handling:** Your Kraken API key and private signing secret are stored once, encrypted, by your own Jentic One instance, which computes the request signature at execution time. The secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'place a Kraken order' or 'fetch Kraken balance', and Jentic returns the matching public or private operation with its parameter schema so the signing requirements stay abstracted and the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Binance** — Higher-volume spot exchange with broader pair coverage and similar order endpoints
- **KuCoin** — Spot and margin exchange with similar private-key-plus-passphrase signing model
- **Gemini** — US-regulated spot exchange with REST trading and custody endpoints
- **CoinGecko** — Cross-exchange market data for price comparison alongside Kraken trading

## FAQ

### Why is there no official OpenAPI spec for Kraken Spot REST API?

Kraken does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Kraken Spot REST API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Kraken Spot REST API use?

Private endpoints require two headers - an API key and an HMAC-SHA512 request signature derived from the nonce, request body, and URI path. The spec exposes both as apiKey schemes (ApiKeyAuth and ApiSignAuth). Jentic handles the signing flow inside your Jentic One instance so the agent never sees the secret key.

### Can I place limit and market orders with the Kraken Spot REST API?

Yes. POST /private/AddOrder accepts ordertype 'limit', 'market', 'stop-loss', 'take-profit', and other variants documented in the spec. POST /private/AddOrderBatch sends multiple orders in a single signed request, and POST /private/AmendOrder modifies a working order without cancellation.

### What are the rate limits for the Kraken Spot REST API?

Kraken applies a tiered counter system per account where each call adds to a decay counter and order operations carry higher cost than market data. The exact ceilings depend on verification tier - refer to support.kraken.com for your account's limits and design retries with exponential backoff.

### How do I place a spot order through Jentic?

Search Jentic for 'place a kraken order', load POST /private/AddOrder, and execute it with pair, volume, ordertype, and price. Install with pip install jentic and Jentic injects the signed Authorization headers automatically.

### Does the Kraken Spot REST API cover futures and margin trading?

This spec covers the Spot REST API only. Kraken Futures uses a separate API surface, and margin-specific operations such as /OpenPositions return data for spot-margin positions only - futures derivatives are out of scope here.

### Can I limit what my agent is allowed to do with the Kraken Spot REST API?

Yes. Because you run Jentic One yourself, your own rules decide which Kraken operations the agent can call, so you can grant read-only access to endpoints like /public/Ticker and /private/Balance while withholding order placement. Kraken's private trading and funding operations pass their parameters in the request body rather than the URL path, so you scope the agent to the exact operation set it needs. Money-moving operations such as /private/Withdraw and /private/Earn/Allocate are excluded unless you explicitly add them, and the API key and signing secret stay under your control at execution time.
