Kraken
Kraken is one of the world's largest and longest-running cryptocurrency exchanges, founded in 2011 and headquartered in San Francisco. Kraken offers Spot and Futures trading, staking and yield through Kraken Earn, NFT marketplace access, OTC services, custody, prime brokerage, and a B2B Embed surface for partners. Kraken exposes a comprehensive set of APIs spanning REST, WebSocket, and FIX across the Spot exchange, Futures exchange (Kraken Futures, formerly Crypto Facilities), institutional services (Custody, OTC, Prime), and partner integration surfaces (Embed, Ramp, OAuth).
14 APIs
12 Features
CryptocurrencyExchangeTradingMarket DataSpot TradingFuturesDerivativesStakingEarnNFTWebSocketFIXCustodyOTCPrime BrokerageEmbedOAuthPublic APIs
Public and private REST endpoints for the Kraken Spot exchange. Covers public market data (server time, system status, asset info, ticker, OHLC, order book depth, recent trades,...
Real-time market data and private user data over WebSocket v2 using subscribe/unsubscribe semantics. Public channels include ticker (L1), book (L2), trade, ohlc, instrument, and...
Legacy Kraken Spot WebSocket API. Continues to operate alongside v2 but v2 is the recommended path for new integrations. Public channels include ticker, book, trade, ohlc, sprea...
REST API for the Kraken Futures derivatives exchange (formerly Crypto Facilities). Provides trading (send order, edit order, cancel order, cancel all, batch order), market data ...
Real-time market data and private user feeds for Kraken Futures over WebSocket. Public feeds include trade, book, ticker, ticker_lite, heartbeat; private feeds include fills, op...
FIX 4.4 / 5.0 SP2 protocol access for Kraken Spot and Futures, used by institutional and high-frequency clients. Provides order management (NewOrderSingle, OrderCancelRequest, O...
REST API for Kraken's NFT marketplace surfaces: collections, asset lookups, listings, offers, watchlist, and user portfolio views. The NFT API is consumed alongside the Spot RES...
REST endpoints for Kraken Earn (staking, yield, rewards). Lists strategies, allocates funds to a strategy, deallocates funds, and surfaces allocation status and reward history.
B2B integration API enabling partners to embed Kraken trading, custody, and Earn capabilities into their own products. Provides user management, assets, deposits, withdrawals, q...
OAuth 2.0 authorization surface allowing third-party applications to request scoped delegated access to a Kraken account holder's data and trading capabilities.
Fiat on/off-ramp API surface that lets partner applications offer crypto purchase and conversion experiences powered by Kraken liquidity.
Institutional custody API providing programmatic access to vaulting, sub-vaulting, wallet generation, transfers, and policy/governance configuration for assets held in Kraken Cu...
Over-the-counter execution API for institutional clients to request quotes (RFQ), execute block trades, and retrieve OTC trade history.
Prime brokerage API surface (REST, WebSocket, FIX) for institutional clients consolidating execution, custody, financing, and reporting under a single relationship.
List open orders, amend one in place, then confirm the new terms.
ARAZZO
Read the account balance and live ticker, then branch on funding before buying.
ARAZZO
Inspect an order, cancel it, then place a replacement order.
ARAZZO
Pick an Earn strategy, allocate funds, then poll until the allocation settles.
ARAZZO
Check spot balance, transfer to the futures wallet, then confirm it landed.
ARAZZO
Pull account balances, open positions, and recent fills for a futures risk view.
ARAZZO
Check instrument status and ticker, place a futures order, then confirm it is open.
ARAZZO
Check system status and live ticker, place a spot order, then confirm it.
ARAZZO
Pull trade history, drill into specific trades, then tie them to ledger entries.
ARAZZO
Check balance and withdrawal fees, withdraw to a saved address, then track status.
ARAZZO
Spot Trading
Spot trading on 200+ cryptocurrency pairs with limit, market, stop loss, take profit, stop-loss-limit, take-profit-limit, settle position, trailing stop, and iceberg order types.
Margin Trading
Margin trading on supported pairs with leverage up to 5x for eligible users in eligible jurisdictions.
Futures Trading
Perpetual and fixed-maturity futures on Bitcoin, Ethereum, and other major assets via Kraken Futures.
Kraken Earn (Staking and Yield)
On-chain and off-chain staking plus opt-in bonded yield strategies across supported proof-of-stake and DeFi assets.
NFT Marketplace
Browse, list, bid, and buy NFTs across Ethereum and Solana with gas-free transactions and fiat settlement.
Subaccounts
Logical subaccount creation and inter-account transfers for institutional and family-office structuring.
Embed (B2B Integration)
White-label trading, custody, and Earn primitives that partners can embed into their own consumer or business products.
OAuth Delegated Access
OAuth 2.0 surface enabling third-party apps to act on a user's behalf with scoped permissions.
Co-located Connectivity
Colocation endpoints in London (colo-london.*) for ultra-low-latency access to Spot, Futures, FIX, and WebSocket surfaces.
FIX Connectivity
FIX 4.4 / 5.0 SP2 connectivity for institutional execution and market data flows.
WebSocket v2 with Authenticated Trading
Modern WebSocket v2 surface supporting subscribe/unsubscribe for market data and authenticated request/response trading methods.
Cancel on Disconnect
Automatic cancellation of resting orders when the trading session terminates, protecting algorithmic strategies from runaway risk.
Algorithmic Spot Trading
Build and operate automated trading strategies against Kraken Spot using REST for order management and WebSocket v2 for low-latency market data and execution streams.
Cross-Exchange Arbitrage
Use real-time order book and ticker feeds with low-latency colocation endpoints to power arbitrage strategies across Kraken and other venues.
Derivatives Market Making
Run market-making strategies on Kraken Futures using batched order entry, WebSocket fills, and FIX for high-volume connectivity.
Treasury and Custody Operations
Manage corporate or fund treasury balances using Kraken Custody and programmatic transfers, deposits, and withdrawals.
Staking-as-a-Service
Offer staking and yield products to end users via Kraken Earn allocation/deallocation endpoints, exposed through your own product.
Embedded Crypto Brokerage
Partners (fintechs, neobanks, wallets) use Kraken Embed to add trading, conversion, and custody capabilities to their own apps without building exchange infrastructure.
NFT Portfolio Management
Use the NFT API to power portfolio dashboards, valuation feeds, and collection-level analytics.
AI Agent Trading
Use the Kraken CLI's built-in MCP server (or the community oilst/kraken-mcp) to let LLM agents place orders, manage positions, and stream market data with tool-calling.
Tax and Reporting Pipelines
Pull trades history, ledgers, deposits, and withdrawals to drive tax-lot accounting, regulatory reporting, and audit pipelines.
Crypto Facilities (Kraken Futures)
Kraken Futures uses the Crypto Facilities REST v3 and WebSocket v1 protocols, with public GitHub example clients in multiple languages.
Kraken Wallet
Self-custody wallet that signs transactions locally; integrates with dApps and uses Kraken-published OAuth helpers.
Model Context Protocol
The Kraken CLI ships an embedded MCP server so any MCP-compatible agent runtime (Claude, Gemini, Cursor) can drive Kraken accounts.
TradingView
Kraken markets are available as a charting source on TradingView, and Kraken Pro embeds TradingView charts in its web client.
CCXT
Kraken Spot is supported as a first-class exchange adapter in the CCXT cryptocurrency exchange library.
Kraken
The simplified Kraken consumer app for buying, selling, sending, and staking crypto with a fixed 1.0% / 1.5% spread on instant and custom orders.
Kraken Pro
The advanced trading platform with full Spot, Margin, and Futures surfaces, volume-tiered maker/taker fees from 0.25%/0.40% down to 0.00%/0.10% at $10M+ 30-day USD volume.
Kraken Institutional
Institutional offering bundling Custody, OTC, Prime brokerage, colocation, FIX, and dedicated relationship management.
Kraken Embed
B2B integration platform letting partners offer Kraken trading, custody, and Earn primitives inside their own products.
opencollection: 1.0.0
info:
name: Kraken Spot REST API
version: 1.0.0
items:
- info:
name: Market Data
type: folder
items:
- info:
name: Kraken Get Server Time
type: http
http:
method: GET
url: https://api.kraken.com/0/public/Time
docs: Returns the server's current Unix and human-readable time. Use to synchronize client clocks.
- info:
name: Kraken Get System Status
type: http
http:
method: GET
url: https://api.kraken.com/0/public/SystemStatus
docs: Returns the current system status (online, maintenance, cancel_only, post_only) and the last status change timestamp.
- info:
name: Kraken Get Asset Info
type: http
http:
method: GET
url: https://api.kraken.com/0/public/Assets
params:
- name: asset
value: XBT
type: query
description: Comma-delimited list of assets to filter (e.g. XBT,ETH)
- name: aclass
value: string
type: query
description: Asset class (currency, crypto)
docs: Returns information about supported assets including precision, display decimals, collateral value, and status.
- info:
name: Kraken Get Tradable Asset Pairs
type: http
http:
method: GET
url: https://api.kraken.com/0/public/AssetPairs
params:
- name: pair
value: XBTUSD
type: query
description: Comma-delimited list of asset pairs (e.g. XBTUSD,ETHUSD)
- name: info
value: info
type: query
description: Info detail level (info, leverage, fees, margin)
docs: Returns metadata for every tradable currency pair (base, quote, fee schedule, lot decimals, ordermin).
- info:
name: Kraken Get Ticker Information
type: http
http:
method: GET
url: https://api.kraken.com/0/public/Ticker
params:
- name: pair
value: XBTUSD
type: query
description: Comma-delimited list of asset pairs
docs: Returns ticker data (ask, bid, last trade, 24h volume, vwap, high, low, opening price) for one or more pairs.
- info:
name: Kraken Get OHLC Data
type: http
http:
method: GET
url: https://api.kraken.com/0/public/OHLC
params:
- name: pair
value: XBTUSD
type: query
- name: interval
value: '1'
type: query
description: Candle interval in minutes (1, 5, 15, 30, 60, 240, 1440, 10080, 21600)
- name: since
value: '1'
type: query
description: Return OHLC entries since this timestamp
docs: Returns OHLC (open/high/low/close/volume/count) candles for a pair at a chosen interval, optionally bounded by a
since cursor.
- info:
name: Kraken Get Order Book
type: http
http:
method: GET
url: https://api.kraken.com/0/public/Depth
params:
- name: pair
value: XBTUSD
type: query
- name: count
value: '1'
type: query
description: Maximum number of bids/asks (1-500)
docs: Returns the order book (bids and asks) for a pair to a requested depth.
- info:
name: Kraken Get Recent Trades
type: http
http:
method: GET
url: https://api.kraken.com/0/public/Trades
params:
- name: pair
value: XBTUSD
type: query
- name: since
value: '1'
type: query
- name: count
value: '1'
type: query
description: Maximum number of trades (1-1000)
docs: Returns recent trades for a pair, optionally since a cursor.
- info:
name: Kraken Get Recent Spreads
type: http
http:
method: GET
url: https://api.kraken.com/0/public/Spread
params:
- name: pair
value: XBTUSD
type: query
- name: since
value: '1'
type: query
docs: Returns recent bid/ask spread snapshots for a pair, optionally since a cursor.
- info:
name: Account Data
type: folder
items:
- info:
name: Kraken Get Account Balance
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Balance
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns the asset balances held in the account.
- info:
name: Kraken Get Extended Balance
type: http
http:
method: POST
url: https://api.kraken.com/0/private/BalanceEx
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns asset balances with hold-trade and credit details.
- info:
name: Kraken Get Trade Balance
type: http
http:
method: POST
url: https://api.kraken.com/0/private/TradeBalance
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns the trade balance for the requested asset class (margin equity, used margin, free margin, margin level).
- info:
name: Kraken Get Open Orders
type: http
http:
method: POST
url: https://api.kraken.com/0/private/OpenOrders
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns all open orders for the account, optionally including trades.
- info:
name: Kraken Get Closed Orders
type: http
http:
method: POST
url: https://api.kraken.com/0/private/ClosedOrders
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns the most recent 50 closed orders for the account, with pagination via offset.
- info:
name: Kraken Query Orders Info
type: http
http:
method: POST
url: https://api.kraken.com/0/private/QueryOrders
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns information about the requested order IDs.
- info:
name: Kraken Get Trades History
type: http
http:
method: POST
url: https://api.kraken.com/0/private/TradesHistory
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns trade history for the account, ordered most recent first.
- info:
name: Kraken Query Trades Info
type: http
http:
method: POST
url: https://api.kraken.com/0/private/QueryTrades
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns information about the requested trade IDs.
- info:
name: Kraken Get Open Positions
type: http
http:
method: POST
url: https://api.kraken.com/0/private/OpenPositions
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns open margin positions for the account.
- info:
name: Kraken Get Ledgers Info
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Ledgers
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns ledger entries (deposits, withdrawals, trades, fees, transfers).
- info:
name: Kraken Query Ledgers
type: http
http:
method: POST
url: https://api.kraken.com/0/private/QueryLedgers
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns ledger information for the requested ledger IDs.
- info:
name: Kraken Get Trade Volume
type: http
http:
method: POST
url: https://api.kraken.com/0/private/TradeVolume
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns the account's 30-day trade volume and the fee tier currently applied.
- info:
name: Trading
type: folder
items:
- info:
name: Kraken Add Order
type: http
http:
method: POST
url: https://api.kraken.com/0/private/AddOrder
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Places a new order. Supports market, limit, stop-loss, take-profit, stop-loss-limit, take-profit-limit, settle-position,
trailing-stop, and iceberg order types.
- info:
name: Kraken Add Order Batch
type: http
http:
method: POST
url: https://api.kraken.com/0/private/AddOrderBatch
body:
type: json
data: '{}'
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Places a batch of up to 15 orders for a single pair in one signed request.
- info:
name: Kraken Edit Order
type: http
http:
method: POST
url: https://api.kraken.com/0/private/EditOrder
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Cancels and replaces an existing order with new parameters (volume, price, or price2).
- info:
name: Kraken Amend Order
type: http
http:
method: POST
url: https://api.kraken.com/0/private/AmendOrder
body:
type: json
data: '{}'
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Modifies a resting order in place (volume, limit/trigger prices, post-only) without changing its order ID.
- info:
name: Kraken Cancel Order
type: http
http:
method: POST
url: https://api.kraken.com/0/private/CancelOrder
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Cancels a specific open order by transaction ID or user-reference.
- info:
name: Kraken Cancel All Orders
type: http
http:
method: POST
url: https://api.kraken.com/0/private/CancelAll
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Cancels every open order for the API key.
- info:
name: Kraken Cancel All Orders After (Dead Man's Switch)
type: http
http:
method: POST
url: https://api.kraken.com/0/private/CancelAllOrdersAfter
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Arms a dead-man's-switch — all open orders will be cancelled after the specified timeout (seconds) unless the call
is re-issued.
- info:
name: Kraken Cancel Order Batch
type: http
http:
method: POST
url: https://api.kraken.com/0/private/CancelOrderBatch
body:
type: json
data: '{}'
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Cancels up to 50 orders in a single signed call.
- info:
name: Funding
type: folder
items:
- info:
name: Kraken Get Deposit Methods
type: http
http:
method: POST
url: https://api.kraken.com/0/private/DepositMethods
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Lists deposit methods available for the requested asset.
- info:
name: Kraken Get Deposit Addresses
type: http
http:
method: POST
url: https://api.kraken.com/0/private/DepositAddresses
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns existing or generates new deposit addresses for the requested asset and method.
- info:
name: Kraken Get Status of Recent Deposits
type: http
http:
method: POST
url: https://api.kraken.com/0/private/DepositStatus
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns recent deposit statuses, filterable by asset and method.
- info:
name: Kraken Get Withdrawal Information
type: http
http:
method: POST
url: https://api.kraken.com/0/private/WithdrawInfo
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns fee and limit information for a configured withdrawal address (key).
- info:
name: Kraken Withdraw Funds
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Withdraw
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Initiates a withdrawal to a previously configured withdrawal address.
- info:
name: Kraken Get Status of Recent Withdrawals
type: http
http:
method: POST
url: https://api.kraken.com/0/private/WithdrawStatus
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns recent withdrawal statuses, filterable by asset and method.
- info:
name: Kraken Request Withdrawal Cancellation
type: http
http:
method: POST
url: https://api.kraken.com/0/private/WithdrawCancel
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Requests cancellation of a pending withdrawal by reference ID.
- info:
name: Kraken Wallet Transfer
type: http
http:
method: POST
url: https://api.kraken.com/0/private/WalletTransfer
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Transfers funds between Kraken Spot and Kraken Futures wallets.
- info:
name: Subaccounts
type: folder
items:
- info:
name: Kraken Create Subaccount
type: http
http:
method: POST
url: https://api.kraken.com/0/private/CreateSubaccount
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Creates a new subaccount under the master account (institutional / pro feature).
- info:
name: Kraken Account Transfer
type: http
http:
method: POST
url: https://api.kraken.com/0/private/AccountTransfer
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Transfers an asset between the master account and a subaccount.
- info:
name: Earn
type: folder
items:
- info:
name: Kraken Allocate Earn Funds
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Earn/Allocate
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Allocates the requested amount of an asset to a Kraken Earn strategy.
- info:
name: Kraken Deallocate Earn Funds
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Earn/Deallocate
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Removes the requested amount from an Earn strategy and returns funds to the trading balance once bonding/unbonding
completes.
- info:
name: Kraken Get Earn Allocate Status
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Earn/AllocateStatus
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns the in-flight status of the last Allocate call for a strategy.
- info:
name: Kraken Get Earn Deallocate Status
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Earn/DeallocateStatus
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns the in-flight status of the last Deallocate call for a strategy.
- info:
name: Kraken List Earn Strategies
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Earn/Strategies
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns the catalog of Earn strategies available to the account (lockup periods, APR ranges, asset).
- info:
name: Kraken List Earn Allocations
type: http
http:
method: POST
url: https://api.kraken.com/0/private/Earn/Allocations
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Returns the current Earn allocations for the account, including bonded, allocated, and rewards balances.
- info:
name: WebSocket
type: folder
items:
- info:
name: Kraken Get WebSockets Token
type: http
http:
method: POST
url: https://api.kraken.com/0/private/GetWebSocketsToken
body:
type: form-urlencoded
data: []
auth:
type: apikey
key: API-Key
value: '{{API-Key}}'
placement: header
docs: Mints a short-lived (15 minute) token used to authenticate subscriptions on the private WebSocket endpoint.
bundled: true