openapi: 3.0.3
info:
title: Kraken Spot REST API
version: '1.0.0'
description: >-
OpenAPI description of Kraken's public Spot REST API. Covers public market
data (server time, system status, asset info, ticker, OHLC, order book,
recent trades, recent spreads) and the private surface (account data,
trading, funding, subaccounts, Earn, WebSocket token). Generated by the
API Evangelist pipeline from docs.kraken.com/api/docs/rest-api/.
contact:
name: Kraken API Support
url: https://support.kraken.com/
license:
name: Kraken Terms of Service
url: https://www.kraken.com/legal
x-generated-from: documentation
x-last-validated: '2026-05-30'
servers:
- url: https://api.kraken.com
description: Kraken Spot REST production endpoint
- url: https://colo-london.vip-api.kraken.com
description: Kraken Spot REST colocation endpoint (London VIP)
tags:
- name: Market Data
description: Public market data endpoints (no authentication required)
- name: Account Data
description: Private endpoints returning account-scoped data
- name: Trading
description: Private endpoints that place, amend, and cancel orders
- name: Funding
description: Private endpoints for deposits, withdrawals, and transfers
- name: Subaccounts
description: Subaccount creation and inter-account transfers
- name: Earn
description: Staking and yield allocation endpoints
- name: WebSocket
description: Endpoints that mint tokens for private WebSocket subscriptions
paths:
/0/public/Time:
get:
operationId: getServerTime
summary: Kraken Get Server Time
description: Returns the server's current Unix and human-readable time. Use to synchronize client clocks.
tags: [Market Data]
responses:
'200':
description: Server time
content:
application/json:
schema:
$ref: '#/components/schemas/ServerTimeResponse'
examples:
getServerTime200Example:
summary: Default getServerTime 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/public/SystemStatus:
get:
operationId: getSystemStatus
summary: Kraken Get System Status
description: Returns the current system status (online, maintenance, cancel_only, post_only) and the last status change timestamp.
tags: [Market Data]
responses:
'200':
description: System status
content:
application/json:
schema:
$ref: '#/components/schemas/SystemStatusResponse'
examples:
getSystemStatus200Example:
summary: Default getSystemStatus 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/public/Assets:
get:
operationId: getAssetInfo
summary: Kraken Get Asset Info
description: Returns information about supported assets including precision, display decimals, collateral value, and status.
tags: [Market Data]
parameters:
- name: asset
in: query
description: Comma-delimited list of assets to filter (e.g. XBT,ETH)
required: false
schema: {type: string}
example: XBT
- name: aclass
in: query
description: Asset class (currency, crypto)
required: false
schema: {type: string}
example: string
responses:
'200':
description: Asset info
content:
application/json:
schema:
$ref: '#/components/schemas/AssetInfoResponse'
examples:
getAssetInfo200Example:
summary: Default getAssetInfo 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/public/AssetPairs:
get:
operationId: getTradableAssetPairs
summary: Kraken Get Tradable Asset Pairs
description: Returns metadata for every tradable currency pair (base, quote, fee schedule, lot decimals, ordermin).
tags: [Market Data]
parameters:
- name: pair
in: query
description: Comma-delimited list of asset pairs (e.g. XBTUSD,ETHUSD)
required: false
schema: {type: string}
example: XBTUSD
- name: info
in: query
description: Info detail level (info, leverage, fees, margin)
required: false
schema: {type: string, enum: [info, leverage, fees, margin]}
example: info
responses:
'200':
description: Asset pairs
content:
application/json:
schema:
$ref: '#/components/schemas/AssetPairsResponse'
examples:
getTradableAssetPairs200Example:
summary: Default getTradableAssetPairs 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/public/Ticker:
get:
operationId: getTickerInformation
summary: Kraken Get Ticker Information
description: Returns ticker data (ask, bid, last trade, 24h volume, vwap, high, low, opening price) for one or more pairs.
tags: [Market Data]
parameters:
- name: pair
in: query
description: Comma-delimited list of asset pairs
required: false
schema: {type: string, example: XBTUSD}
example: XBTUSD
responses:
'200':
description: Ticker data
content:
application/json:
schema:
$ref: '#/components/schemas/TickerResponse'
examples:
getTickerInformation200Example:
summary: Default getTickerInformation 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/public/OHLC:
get:
operationId: getOHLCData
summary: Kraken Get OHLC Data
description: Returns OHLC (open/high/low/close/volume/count) candles for a pair at a chosen interval, optionally bounded by a since cursor.
tags: [Market Data]
parameters:
- name: pair
in: query
required: true
schema: {type: string, example: XBTUSD}
example: XBTUSD
- name: interval
in: query
required: false
description: Candle interval in minutes (1, 5, 15, 30, 60, 240, 1440, 10080, 21600)
schema: {type: integer, default: 1}
example: 1
- name: since
in: query
required: false
description: Return OHLC entries since this timestamp
schema: {type: integer}
example: 1
responses:
'200':
description: OHLC candles
content:
application/json:
schema:
$ref: '#/components/schemas/OHLCResponse'
examples:
getOHLCData200Example:
summary: Default getOHLCData 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/public/Depth:
get:
operationId: getOrderBook
summary: Kraken Get Order Book
description: Returns the order book (bids and asks) for a pair to a requested depth.
tags: [Market Data]
parameters:
- name: pair
in: query
required: true
schema: {type: string}
example: XBTUSD
- name: count
in: query
required: false
description: Maximum number of bids/asks (1-500)
schema: {type: integer, default: 100, minimum: 1, maximum: 500}
example: 1
responses:
'200':
description: Order book
content:
application/json:
schema:
$ref: '#/components/schemas/OrderBookResponse'
examples:
getOrderBook200Example:
summary: Default getOrderBook 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/public/Trades:
get:
operationId: getRecentTrades
summary: Kraken Get Recent Trades
description: Returns recent trades for a pair, optionally since a cursor.
tags: [Market Data]
parameters:
- name: pair
in: query
required: true
schema: {type: string}
example: XBTUSD
- name: since
in: query
required: false
schema: {type: integer}
example: 1
- name: count
in: query
required: false
description: Maximum number of trades (1-1000)
schema: {type: integer, default: 1000}
example: 1
responses:
'200':
description: Recent trades
content:
application/json:
schema:
$ref: '#/components/schemas/RecentTradesResponse'
examples:
getRecentTrades200Example:
summary: Default getRecentTrades 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/public/Spread:
get:
operationId: getRecentSpreads
summary: Kraken Get Recent Spreads
description: Returns recent bid/ask spread snapshots for a pair, optionally since a cursor.
tags: [Market Data]
parameters:
- name: pair
in: query
required: true
schema: {type: string}
example: XBTUSD
- name: since
in: query
required: false
schema: {type: integer}
example: 1
responses:
'200':
description: Recent spreads
content:
application/json:
schema:
$ref: '#/components/schemas/RecentSpreadsResponse'
examples:
getRecentSpreads200Example:
summary: Default getRecentSpreads 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/Balance:
post:
operationId: getAccountBalance
summary: Kraken Get Account Balance
description: Returns the asset balances held in the account.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/NoncedRequest'
examples:
getAccountBalanceRequestExample:
summary: Default getAccountBalance request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
responses:
'200':
description: Asset balances
content:
application/json:
schema:
$ref: '#/components/schemas/BalanceResponse'
examples:
getAccountBalance200Example:
summary: Default getAccountBalance 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/BalanceEx:
post:
operationId: getExtendedBalance
summary: Kraken Get Extended Balance
description: Returns asset balances with hold-trade and credit details.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/NoncedRequest'
examples:
getExtendedBalanceRequestExample:
summary: Default getExtendedBalance request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
responses:
'200':
description: Extended balances
content:
application/json:
schema:
$ref: '#/components/schemas/BalanceExResponse'
examples:
getExtendedBalance200Example:
summary: Default getExtendedBalance 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/TradeBalance:
post:
operationId: getTradeBalance
summary: Kraken Get Trade Balance
description: Returns the trade balance for the requested asset class (margin equity, used margin, free margin, margin level).
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TradeBalanceRequest'
examples:
getTradeBalanceRequestExample:
summary: Default getTradeBalance request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
asset: XBT
responses:
'200':
description: Trade balance
content:
application/json:
schema:
$ref: '#/components/schemas/TradeBalanceResponse'
examples:
getTradeBalance200Example:
summary: Default getTradeBalance 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/OpenOrders:
post:
operationId: getOpenOrders
summary: Kraken Get Open Orders
description: Returns all open orders for the account, optionally including trades.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OpenOrdersRequest'
examples:
getOpenOrdersRequestExample:
summary: Default getOpenOrders request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
trades: true
userref: 1
cl_ord_id: OQCLML-BW3P3-BUCMWZ
responses:
'200':
description: Open orders
content:
application/json:
schema:
$ref: '#/components/schemas/OpenOrdersResponse'
examples:
getOpenOrders200Example:
summary: Default getOpenOrders 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/ClosedOrders:
post:
operationId: getClosedOrders
summary: Kraken Get Closed Orders
description: Returns the most recent 50 closed orders for the account, with pagination via offset.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ClosedOrdersRequest'
examples:
getClosedOrdersRequestExample:
summary: Default getClosedOrders request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
trades: true
userref: 1
cl_ord_id: OQCLML-BW3P3-BUCMWZ
start: 1
end: 1
ofs: 1
closetime: open
responses:
'200':
description: Closed orders
content:
application/json:
schema:
$ref: '#/components/schemas/ClosedOrdersResponse'
examples:
getClosedOrders200Example:
summary: Default getClosedOrders 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/QueryOrders:
post:
operationId: queryOrdersInfo
summary: Kraken Query Orders Info
description: Returns information about the requested order IDs.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/QueryOrdersRequest'
examples:
queryOrdersInfoRequestExample:
summary: Default queryOrdersInfo request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
trades: true
userref: 1
cl_ord_id: OQCLML-BW3P3-BUCMWZ
txid: OQCLML-BW3P3-BUCMWZ
responses:
'200':
description: Order info
content:
application/json:
schema:
$ref: '#/components/schemas/QueryOrdersResponse'
examples:
queryOrdersInfo200Example:
summary: Default queryOrdersInfo 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/TradesHistory:
post:
operationId: getTradesHistory
summary: Kraken Get Trades History
description: Returns trade history for the account, ordered most recent first.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TradesHistoryRequest'
examples:
getTradesHistoryRequestExample:
summary: Default getTradesHistory request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
type: all
trades: true
start: 1
end: 1
ofs: 1
responses:
'200':
description: Trades history
content:
application/json:
schema:
$ref: '#/components/schemas/TradesHistoryResponse'
examples:
getTradesHistory200Example:
summary: Default getTradesHistory 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/QueryTrades:
post:
operationId: queryTradesInfo
summary: Kraken Query Trades Info
description: Returns information about the requested trade IDs.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/QueryTradesRequest'
examples:
queryTradesInfoRequestExample:
summary: Default queryTradesInfo request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
txid: OQCLML-BW3P3-BUCMWZ
trades: true
responses:
'200':
description: Trade info
content:
application/json:
schema:
$ref: '#/components/schemas/QueryTradesResponse'
examples:
queryTradesInfo200Example:
summary: Default queryTradesInfo 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/OpenPositions:
post:
operationId: getOpenPositions
summary: Kraken Get Open Positions
description: Returns open margin positions for the account.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OpenPositionsRequest'
examples:
getOpenPositionsRequestExample:
summary: Default getOpenPositions request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
txid: OQCLML-BW3P3-BUCMWZ
docalcs: true
consolidation: market
responses:
'200':
description: Open positions
content:
application/json:
schema:
$ref: '#/components/schemas/OpenPositionsResponse'
examples:
getOpenPositions200Example:
summary: Default getOpenPositions 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/Ledgers:
post:
operationId: getLedgersInfo
summary: Kraken Get Ledgers Info
description: Returns ledger entries (deposits, withdrawals, trades, fees, transfers).
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LedgersRequest'
examples:
getLedgersInfoRequestExample:
summary: Default getLedgersInfo request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
asset: XBT
aclass: string
type: all
start: 1
end: 1
ofs: 1
responses:
'200':
description: Ledger entries
content:
application/json:
schema:
$ref: '#/components/schemas/LedgersResponse'
examples:
getLedgersInfo200Example:
summary: Default getLedgersInfo 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/QueryLedgers:
post:
operationId: queryLedgers
summary: Kraken Query Ledgers
description: Returns ledger information for the requested ledger IDs.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/QueryLedgersRequest'
examples:
queryLedgersRequestExample:
summary: Default queryLedgers request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
id: OQCLML-BW3P3-BUCMWZ
trades: true
responses:
'200':
description: Ledger info
content:
application/json:
schema:
$ref: '#/components/schemas/QueryLedgersResponse'
examples:
queryLedgers200Example:
summary: Default queryLedgers 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/TradeVolume:
post:
operationId: getTradeVolume
summary: Kraken Get Trade Volume
description: Returns the account's 30-day trade volume and the fee tier currently applied.
tags: [Account Data]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TradeVolumeRequest'
examples:
getTradeVolumeRequestExample:
summary: Default getTradeVolume request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
pair: XBTUSD
fee-info: true
responses:
'200':
description: Trade volume
content:
application/json:
schema:
$ref: '#/components/schemas/TradeVolumeResponse'
examples:
getTradeVolume200Example:
summary: Default getTradeVolume 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/AddOrder:
post:
operationId: addOrder
summary: Kraken Add Order
description: 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.
tags: [Trading]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AddOrderRequest'
examples:
addOrderRequestExample:
summary: Default addOrder request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
userref: 1
cl_ord_id: OQCLML-BW3P3-BUCMWZ
ordertype: market
type: buy
volume: "0.01"
displayvol: '0.01'
pair: XBTUSD
price: '0.01'
price2: '0.01'
trigger: last
leverage: "none"
reduce_only: true
stptype: cancel-newest
oflags: string
timeinforce: GTC
starttm: string
expiretm: string
close[ordertype]: string
close[price]: '0.01'
close[price2]: '0.01'
deadline: string
validate: true
responses:
'200':
description: Order accepted
content:
application/json:
schema:
$ref: '#/components/schemas/AddOrderResponse'
examples:
addOrder200Example:
summary: Default addOrder 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/AddOrderBatch:
post:
operationId: addOrderBatch
summary: Kraken Add Order Batch
description: Places a batch of up to 15 orders for a single pair in one signed request.
tags: [Trading]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddOrderBatchRequest'
examples:
addOrderBatchRequestExample:
summary: Default addOrderBatch request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
pair: XBTUSD
deadline: string
validate: true
orders: []
responses:
'200':
description: Batch order acceptance
content:
application/json:
schema:
$ref: '#/components/schemas/AddOrderBatchResponse'
examples:
addOrderBatch200Example:
summary: Default addOrderBatch 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/EditOrder:
post:
operationId: editOrder
summary: Kraken Edit Order
description: Cancels and replaces an existing order with new parameters (volume, price, or price2).
tags: [Trading]
security: [kraken_signature: []]
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/EditOrderRequest'
examples:
editOrderRequestExample:
summary: Default editOrder request
x-microcks-default: true
value:
nonce: 1717000000000
otp: '123456'
txid: OQCLML-BW3P3-BUCMWZ
pair: XBTUSD
volume: '0.01'
displayvol: '0.01'
price: '0.01'
price2: '0.01'
oflags: string
deadline: string
cancel_response: true
validate: true
userref: 1
responses:
'200':
description: Edit result
content:
application/json:
schema:
$ref: '#/components/schemas/EditOrderResponse'
examples:
editOrder200Example:
summary: Default editOrder 200 response
x-microcks-default: true
value:
error: []
result: {}
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/0/private/AmendOrder:
post:
operationId: amendOrder
summary: Kraken Amend Order
description: Modifies a resting order in place (volume, limit/trigger prices, post-only) without changing its order ID.
tags: [Trading]
security: [kraken_signature: []]
requestBody:
required: t
# --- truncated at 32 KB (103 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kraken/refs/heads/main/openapi/kraken-spot-rest-openapi.yml