openapi: 3.0.3 info: title: Kraken Futures REST 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) - name: Trading description: Order placement, edit, and cancellation - name: Account description: Accounts, positions, orders, fills - name: Transfers description: Wallet, margin, and subaccount transfers - name: History description: Account, execution, order, trigger, and market history - name: Charts description: OHLC candle data and analytics - name: Auth description: API key checks 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} /accounts: get: operationId: getAccounts summary: Kraken Get Accounts description: Returns balances and margin information for every Futures account / sub-account. tags: [Account] security: [futures_signature: []] responses: '200': description: Accounts content: {application/json: {schema: {$ref: '#/components/schemas/AccountsResponse'}, examples: {getAccounts200Example: {summary: Default getAccounts 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string, accounts: {}}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /openpositions: get: operationId: getOpenPositionsFutures summary: Kraken Get Open Positions (Futures) description: Returns currently open futures positions. tags: [Account] security: [futures_signature: []] responses: '200': description: Open positions content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getOpenPositionsFutures200Example: {summary: Default getOpenPositionsFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /openorders: get: operationId: getOpenOrdersFutures summary: Kraken Get Open Orders (Futures) description: Returns currently open orders. tags: [Account] security: [futures_signature: []] responses: '200': description: Open orders content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getOpenOrdersFutures200Example: {summary: Default getOpenOrdersFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /fills: get: operationId: getFills summary: Kraken Get Fills description: Returns recent execution fills. tags: [Account] security: [futures_signature: []] parameters: - {name: lastFillTime, in: query, required: false, schema: {type: string, format: date-time}, example: '2026-05-30T00:00:00Z'} responses: '200': description: Fills content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getFills200Example: {summary: Default getFills 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /sendorder: post: operationId: sendOrder summary: Kraken Send Order description: Places a new futures order (lmt, mkt, stp, take_profit, ioc). tags: [Trading] security: [futures_signature: []] requestBody: required: true content: application/x-www-form-urlencoded: schema: {$ref: '#/components/schemas/SendOrderRequest'} examples: sendOrderRequestExample: summary: Default sendOrder request x-microcks-default: true value: orderType: lmt symbol: PI_XBTUSD side: buy size: 0.01 limitPrice: '0.01' stopPrice: '0.01' triggerSignal: mark reduceOnly: true cliOrdId: OQCLML-BW3P3-BUCMWZ trailingStopMaxDeviation: 0.01 trailingStopDeviationUnit: string responses: '200': description: Order acknowledgement content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {sendOrder200Example: {summary: Default sendOrder 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /editorder: post: operationId: editOrderFutures summary: Kraken Edit Order (Futures) description: Modifies a resting futures order (size, limitPrice, stopPrice). tags: [Trading] security: [futures_signature: []] requestBody: required: true content: application/x-www-form-urlencoded: schema: {$ref: '#/components/schemas/EditOrderFuturesRequest'} examples: editOrderFuturesRequestExample: summary: Default editOrderFutures request x-microcks-default: true value: orderId: OQCLML-BW3P3-BUCMWZ cliOrdId: OQCLML-BW3P3-BUCMWZ size: 0.01 limitPrice: '0.01' stopPrice: '0.01' trailingStopMaxDeviation: 0.01 trailingStopDeviationUnit: string responses: '200': description: Edit acknowledgement content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {editOrderFutures200Example: {summary: Default editOrderFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /cancelorder: post: operationId: cancelOrderFutures summary: Kraken Cancel Order (Futures) description: Cancels a specific open futures order. tags: [Trading] security: [futures_signature: []] requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: [order_id] properties: order_id: {type: string} cliOrdId: {type: string} examples: cancelOrderFuturesRequestExample: summary: Default cancelOrderFutures request x-microcks-default: true value: order_id: string cliOrdId: string responses: '200': description: Cancel acknowledgement content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {cancelOrderFutures200Example: {summary: Default cancelOrderFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /cancelallorders: post: operationId: cancelAllOrdersFutures summary: Kraken Cancel All Orders (Futures) description: Cancels every open futures order, optionally scoped to a single instrument. tags: [Trading] security: [futures_signature: []] requestBody: required: false content: application/x-www-form-urlencoded: schema: type: object properties: symbol: {type: string} examples: cancelAllOrdersFuturesRequestExample: summary: Default cancelAllOrdersFutures request x-microcks-default: true value: symbol: string responses: '200': description: Cancel-all acknowledgement content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {cancelAllOrdersFutures200Example: {summary: Default cancelAllOrdersFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /cancelallordersafter: post: operationId: cancelAllOrdersAfterFutures summary: Kraken Cancel All Orders After (Futures) description: Dead-man's-switch for futures — cancels all orders after the timeout unless re-armed. tags: [Trading] security: [futures_signature: []] requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: [timeout] properties: timeout: {type: integer} examples: cancelAllOrdersAfterFuturesRequestExample: summary: Default cancelAllOrdersAfterFutures request x-microcks-default: true value: timeout: 1 responses: '200': description: Dead-man's-switch status content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {cancelAllOrdersAfterFutures200Example: {summary: Default cancelAllOrdersAfterFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /batchorder: post: operationId: batchOrderFutures summary: Kraken Batch Order (Futures) description: Submits a batch of order operations (place/edit/cancel) in a single signed call. tags: [Trading] security: [futures_signature: []] requestBody: required: true content: application/json: schema: {type: object, properties: {batchOrder: {type: array, items: {type: object}}}} examples: batchOrderFuturesRequestExample: summary: Default batchOrderFutures request x-microcks-default: true value: batchOrder: - {} responses: '200': description: Batch acknowledgement content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {batchOrderFutures200Example: {summary: Default batchOrderFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /transfer: post: operationId: transferFutures summary: Kraken Transfer Funds (Futures) description: Transfers funds between a Spot wallet and a Futures account, or between Futures accounts. tags: [Transfers] security: [futures_signature: []] requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: [amount, fromAccount, toAccount, unit] properties: amount: {type: number} fromAccount: {type: string} toAccount: {type: string} unit: {type: string} examples: transferFuturesRequestExample: summary: Default transferFutures request x-microcks-default: true value: amount: 0.01 fromAccount: string toAccount: string unit: string responses: '200': description: Transfer acknowledgement content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {transferFutures200Example: {summary: Default transferFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /withdrawal: post: operationId: withdrawalFutures summary: Kraken Withdrawal (Futures) description: Initiates a withdrawal from a Futures wallet to a Spot wallet. tags: [Transfers] security: [futures_signature: []] requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: [amount, currency, targetAddress] properties: amount: {type: number} currency: {type: string} targetAddress: {type: string} examples: withdrawalFuturesRequestExample: summary: Default withdrawalFutures request x-microcks-default: true value: amount: 0.01 currency: string targetAddress: string responses: '200': description: Withdrawal acknowledgement content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {withdrawalFutures200Example: {summary: Default withdrawalFutures 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /notifications: get: operationId: getNotifications summary: Kraken Get Notifications description: Returns any maintenance or risk notifications affecting the account. tags: [Account] security: [futures_signature: []] responses: '200': description: Notifications content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getNotifications200Example: {summary: Default getNotifications 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /historicalorders: get: operationId: getHistoricalOrders summary: Kraken Get Historical Orders description: Returns recent historical orders. tags: [History] security: [futures_signature: []] responses: '200': description: Historical orders content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getHistoricalOrders200Example: {summary: Default getHistoricalOrders 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /historicalexecutions: get: operationId: getHistoricalExecutions summary: Kraken Get Historical Executions description: Returns recent execution events. tags: [History] security: [futures_signature: []] responses: '200': description: Historical executions content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getHistoricalExecutions200Example: {summary: Default getHistoricalExecutions 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /historicaltriggers: get: operationId: getHistoricalTriggers summary: Kraken Get Historical Triggers description: Returns recent trigger events. tags: [History] security: [futures_signature: []] responses: '200': description: Historical triggers content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getHistoricalTriggers200Example: {summary: Default getHistoricalTriggers 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /accountlog: get: operationId: getAccountLog summary: Kraken Get Account Log description: Returns the account log (settlements, funding, transfers). tags: [History] security: [futures_signature: []] responses: '200': description: Account log content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getAccountLog200Example: {summary: Default getAccountLog 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /charts/{tickSize}/{symbol}/{interval}: get: operationId: getChartCandles summary: Kraken Get Chart Candles description: Returns OHLC candles for a futures instrument at a given interval. tags: [Charts] parameters: - {name: tickSize, in: path, required: true, schema: {type: string, enum: [trade, mark, spot]}, example: trade} - {name: symbol, in: path, required: true, schema: {type: string}, example: PI_XBTUSD} - {name: interval, in: path, required: true, schema: {type: string, enum: [1m, 5m, 15m, 30m, 1h, 4h, 12h, 1d, 1w]}, example: 1m} - {name: from, in: query, required: false, schema: {type: integer}, example: 1} - {name: to, in: query, required: false, schema: {type: integer}, example: 1} responses: '200': description: Candles content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {getChartCandles200Example: {summary: Default getChartCandles 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} /apikey/v3: get: operationId: checkApiKeyV3 summary: Kraken Check API Key (V3) description: Validates an API key's identity, permissions, and expiry. tags: [Auth] security: [futures_signature: []] responses: '200': description: Key info content: {application/json: {schema: {$ref: '#/components/schemas/BaseEnvelope'}, examples: {checkApiKeyV3200Example: {summary: Default checkApiKeyV3 200 response, x-microcks-default: true, value: {result: success, serverTime: '2026-05-30T00:00:00Z', error: string}}}}} x-microcks-operation: {delay: 0, dispatcher: FALLBACK} components: 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. schemas: 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} 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} InstrumentsResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: instruments: type: array items: {$ref: '#/components/schemas/Instrument'} example: [] 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} TickersResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: tickers: type: array items: {$ref: '#/components/schemas/Ticker'} example: [] Account: type: object properties: type: {type: string, enum: [cashAccount, marginAccount, multiCollateralMarginAccount], example: cashAccount} currency: {type: string, example: string} balances: type: object additionalProperties: {type: number} example: {} auxiliary: type: object properties: af: {type: number, example: 0.01} pnl: {type: number, example: 0.01} pv: {type: number, example: 0.01} example: {} marginRequirements: type: object properties: im: {type: number, example: 0.01} mm: {type: number, example: 0.01} lt: {type: number, example: 0.01} tt: {type: number, example: 0.01} example: '0.01' triggerEstimates: type: object properties: im: {type: number, example: 0.01} mm: {type: number, example: 0.01} lt: {type: number, example: 0.01} tt: {type: number, example: 0.01} example: {} AccountsResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: accounts: type: object additionalProperties: {$ref: '#/components/schemas/Account'} example: {} SendOrderRequest: type: object required: [orderType, symbol, side, size] properties: orderType: {type: string, enum: [lmt, post, mkt, stp, take_profit, ioc], example: lmt} symbol: {type: string, example: PI_XBTUSD} side: {type: string, enum: [buy, sell], example: buy} size: {type: number, example: 0.01} limitPrice: {type: number, example: '0.01'} stopPrice: {type: number, example: '0.01'} triggerSignal: {type: string, enum: [mark, index, last], example: mark} reduceOnly: {type: boolean, example: true} cliOrdId: {type: string, example: OQCLML-BW3P3-BUCMWZ} trailingStopMaxDeviation: {type: number, example: 0.01} trailingStopDeviationUnit: {type: string, example: string} EditOrderFuturesRequest: type: object properties: orderId: {type: string, example: OQCLML-BW3P3-BUCMWZ} cliOrdId: {type: string, example: OQCLML-BW3P3-BUCMWZ} size: {type: number, example: 0.01} limitPrice: {type: number, example: '0.01'} stopPrice: {type: number, example: '0.01'} trailingStopMaxDeviation: {type: number, example: 0.01} trailingStopDeviationUnit: {type: string, example: string}