openapi: 3.0.3
info:
title: Kraken Futures REST Account Market Data API
version: 3.0.0
description: OpenAPI description of the Kraken Futures (formerly Crypto Facilities) REST API v3. Covers trading (send/edit/cancel orders, batch), market data (instruments, tickers, orderbook, history), account data (accounts, open positions, open orders, fills), transfers, account history, and charts. Generated by the API Evangelist pipeline from docs.kraken.com/api/docs/futures-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://futures.kraken.com/derivatives/api/v3
description: Kraken Futures production REST endpoint
- url: https://demo-futures.kraken.com/derivatives/api/v3
description: Kraken Futures demo / sandbox endpoint
- url: https://colo-london.vip.futures.kraken.com/derivatives/api/v3
description: Kraken Futures colocation endpoint (London VIP)
tags:
- name: Market Data
description: Public market data (no authentication required)
paths:
/instruments:
get:
operationId: getInstruments
summary: Kraken Get Instruments
description: Returns the list of supported instruments and their metadata.
tags:
- Market Data
responses:
'200':
description: Instruments
content:
application/json:
schema:
$ref: '#/components/schemas/InstrumentsResponse'
examples:
getInstruments200Example:
summary: Default getInstruments 200 response
x-microcks-default: true
value:
result: success
serverTime: '2026-05-30T00:00:00Z'
error: string
instruments: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/instruments/status:
get:
operationId: getInstrumentsStatus
summary: Kraken Get Instruments Status
description: Returns instrument trading status (open, paused, etc.).
tags:
- Market Data
responses:
'200':
description: Status array
content:
application/json:
schema:
$ref: '#/components/schemas/BaseEnvelope'
examples:
getInstrumentsStatus200Example:
summary: Default getInstrumentsStatus 200 response
x-microcks-default: true
value:
result: success
serverTime: '2026-05-30T00:00:00Z'
error: string
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/tickers:
get:
operationId: getTickers
summary: Kraken Get Tickers
description: Returns the latest ticker for every instrument.
tags:
- Market Data
responses:
'200':
description: Tickers
content:
application/json:
schema:
$ref: '#/components/schemas/TickersResponse'
examples:
getTickers200Example:
summary: Default getTickers 200 response
x-microcks-default: true
value:
result: success
serverTime: '2026-05-30T00:00:00Z'
error: string
tickers: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/tickers/{symbol}:
get:
operationId: getTickerForSymbol
summary: Kraken Get Ticker for Symbol
description: Returns the latest ticker for a single instrument.
tags:
- Market Data
parameters:
- name: symbol
in: path
required: true
schema:
type: string
example: PI_XBTUSD
responses:
'200':
description: Ticker
content:
application/json:
schema:
$ref: '#/components/schemas/BaseEnvelope'
examples:
getTickerForSymbol200Example:
summary: Default getTickerForSymbol 200 response
x-microcks-default: true
value:
result: success
serverTime: '2026-05-30T00:00:00Z'
error: string
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/orderbook:
get:
operationId: getOrderBookFutures
summary: Kraken Get Order Book (Futures)
description: Returns the order book for a single instrument.
tags:
- Market Data
parameters:
- name: symbol
in: query
required: true
schema:
type: string
example: PI_XBTUSD
responses:
'200':
description: Order book
content:
application/json:
schema:
$ref: '#/components/schemas/BaseEnvelope'
examples:
getOrderBookFutures200Example:
summary: Default getOrderBookFutures 200 response
x-microcks-default: true
value:
result: success
serverTime: '2026-05-30T00:00:00Z'
error: string
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/history:
get:
operationId: getMarketHistory
summary: Kraken Get Market History
description: Returns recent public trade history for an instrument.
tags:
- Market Data
parameters:
- name: symbol
in: query
required: true
schema:
type: string
example: PI_XBTUSD
- name: lastTime
in: query
required: false
schema:
type: string
format: date-time
example: '2026-05-30T00:00:00Z'
responses:
'200':
description: Market history
content:
application/json:
schema:
$ref: '#/components/schemas/BaseEnvelope'
examples:
getMarketHistory200Example:
summary: Default getMarketHistory 200 response
x-microcks-default: true
value:
result: success
serverTime: '2026-05-30T00:00:00Z'
error: string
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/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
components:
schemas:
OrderBookResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
additionalProperties:
$ref: '#/components/schemas/OrderBook'
example: {}
AssetPair:
type: object
properties:
altname:
type: string
example: string
wsname:
type: string
example: string
aclass_base:
type: string
example: string
base:
type: string
example: string
aclass_quote:
type: string
example: string
quote:
type: string
example: string
pair_decimals:
type: integer
example: XBTUSD
lot_decimals:
type: integer
example: 1
lot_multiplier:
type: integer
example: 1
leverage_buy:
type: array
items:
type: integer
example: []
leverage_sell:
type: array
items:
type: integer
example: []
fees:
type: array
items:
type: array
items:
type: number
example: []
fees_maker:
type: array
items:
type: array
items:
type: number
example: []
fee_volume_currency:
type: string
example: '0.01'
margin_call:
type: integer
example: '0.01'
margin_stop:
type: integer
example: '0.01'
ordermin:
type: string
example: string
costmin:
type: string
example: string
tick_size:
type: string
example: string
status:
type: string
example: string
SystemStatusResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
properties:
status:
type: string
enum:
- online
- maintenance
- cancel_only
- post_only
example: online
timestamp:
type: string
format: date-time
example: '2026-05-30T00:00:00Z'
example: {}
TickersResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope'
- type: object
properties:
tickers:
type: array
items:
$ref: '#/components/schemas/Ticker'
example: []
RecentSpreadsResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
additionalProperties:
oneOf:
- type: array
items:
type: array
items: {}
- type: integer
example: {}
InstrumentsResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope'
- type: object
properties:
instruments:
type: array
items:
$ref: '#/components/schemas/Instrument'
example: []
Instrument:
type: object
properties:
symbol:
type: string
example: PI_XBTUSD
type:
type: string
enum:
- futures_inverse
- futures_vanilla
- flexible_futures
- perpetual_inverse
- perpetual_vanilla
example: futures_inverse
tradeable:
type: boolean
example: true
underlying:
type: string
example: string
lastTradingTime:
type: string
format: date-time
example: '2026-05-30T00:00:00Z'
tickSize:
type: number
example: 0.01
contractSize:
type: number
example: 0.01
marginLevels:
type: array
items:
type: object
example: '0.01'
fundingRateCoefficient:
type: number
example: 0.01
maxRelativeFundingRate:
type: number
example: 0.01
OrderBook:
type: object
properties:
asks:
type: array
items:
type: array
items: {}
description: '[price, volume, timestamp]'
example: []
bids:
type: array
items:
type: array
items: {}
example: []
RecentTradesResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
additionalProperties:
oneOf:
- type: array
items:
type: array
items: {}
- type: string
example: {}
ServerTimeResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
properties:
unixtime:
type: integer
example: 1717000000
rfc1123:
type: string
example: Mon, 27 May 26 00:00:00 +0000
example: {}
TickerResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
additionalProperties:
$ref: '#/components/schemas/Ticker_2'
example: {}
BaseEnvelope_2:
type: object
properties:
error:
type: array
items:
type: string
description: Array of error strings; empty on success.
example: []
result:
description: Endpoint-specific result object.
example: string
required:
- error
Ticker_2:
type: object
properties:
a:
type: array
items:
type: string
description: '[price, whole-lot volume, lot volume] ask'
example: []
b:
type: array
items:
type: string
description: '[price, whole-lot volume, lot volume] bid'
example: []
c:
type: array
items:
type: string
description: '[price, lot volume] last trade closed'
example: []
v:
type: array
items:
type: string
description: '[today, last 24h] volume'
example: []
p:
type: array
items:
type: string
description: '[today, last 24h] vwap'
example: []
t:
type: array
items:
type: integer
description: '[today, last 24h] number of trades'
example: []
l:
type: array
items:
type: string
description: '[today, last 24h] low'
example: []
h:
type: array
items:
type: string
description: '[today, last 24h] high'
example: []
o:
type: string
description: Today's opening price
example: string
AssetInfo:
type: object
properties:
aclass:
type: string
example: string
altname:
type: string
example: string
decimals:
type: integer
example: 1
display_decimals:
type: integer
example: 1
collateral_value:
type: number
example: 0.01
status:
type: string
example: string
Ticker:
type: object
properties:
symbol:
type: string
example: PI_XBTUSD
last:
type: number
example: 0.01
lastTime:
type: string
format: date-time
example: '2026-05-30T00:00:00Z'
lastSize:
type: number
example: 0.01
markPrice:
type: number
example: '0.01'
bid:
type: number
example: OQCLML-BW3P3-BUCMWZ
bidSize:
type: number
example: 0.01
ask:
type: number
example: 0.01
askSize:
type: number
example: 0.01
vol24h:
type: number
example: '0.01'
openInterest:
type: number
example: 0.01
open24h:
type: number
example: 0.01
indexPrice:
type: number
example: '0.01'
fundingRate:
type: number
example: 0.01
fundingRatePrediction:
type: number
example: 0.01
suspended:
type: boolean
example: true
tag:
type: string
example: string
pair:
type: string
example: XBTUSD
BaseEnvelope:
type: object
properties:
result:
type: string
enum:
- success
- error
example: success
serverTime:
type: string
format: date-time
example: '2026-05-30T00:00:00Z'
error:
type: string
example: string
AssetPairsResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
additionalProperties:
$ref: '#/components/schemas/AssetPair'
example: {}
AssetInfoResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
additionalProperties:
$ref: '#/components/schemas/AssetInfo'
example: {}
OHLCResponse:
allOf:
- $ref: '#/components/schemas/BaseEnvelope_2'
- type: object
properties:
result:
type: object
additionalProperties:
oneOf:
- type: array
items:
type: array
items: {}
- type: integer
description: Map of pair → candle array, plus `last` cursor.
example: {}
securitySchemes:
futures_signature:
type: apiKey
in: header
name: APIKey
description: 'Kraken Futures signs requests with two headers: `APIKey` (public key) and `Authent` (base64 HMAC-SHA512 over `postData + nonce + endpointPath` using the SHA-256 hash of those values, then HMAC-SHA512 keyed by the base64-decoded secret). A `Nonce` header carries the incrementing nonce.'