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.'