openapi: 3.0.3 info: title: Kraken Futures REST Account Trading 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: Trading description: Order placement, edit, and cancellation paths: /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 /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: true content: application/json: schema: $ref: '#/components/schemas/AmendOrderRequest' examples: amendOrderRequestExample: summary: Default amendOrder request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' txid: OQCLML-BW3P3-BUCMWZ cl_ord_id: OQCLML-BW3P3-BUCMWZ order_qty: string display_qty: string limit_price: '0.01' trigger_price: '0.01' post_only: true deadline: string responses: '200': description: Amend acknowledgement content: application/json: schema: $ref: '#/components/schemas/AmendOrderResponse' examples: amendOrder200Example: summary: Default amendOrder 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/CancelOrder: post: operationId: cancelOrder summary: Kraken Cancel Order description: Cancels a specific open order by transaction ID or user-reference. tags: - Trading security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CancelOrderRequest' examples: cancelOrderRequestExample: summary: Default cancelOrder request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' txid: OQCLML-BW3P3-BUCMWZ cl_ord_id: OQCLML-BW3P3-BUCMWZ responses: '200': description: Cancel result content: application/json: schema: $ref: '#/components/schemas/CancelOrderResponse' examples: cancelOrder200Example: summary: Default cancelOrder 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/CancelAll: post: operationId: cancelAllOrders summary: Kraken Cancel All Orders description: Cancels every open order for the API key. tags: - Trading security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/NoncedRequest' examples: cancelAllOrdersRequestExample: summary: Default cancelAllOrders request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' responses: '200': description: Cancel-all result content: application/json: schema: $ref: '#/components/schemas/CancelAllResponse' examples: cancelAllOrders200Example: summary: Default cancelAllOrders 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/CancelAllOrdersAfter: post: operationId: cancelAllOrdersAfter summary: Kraken Cancel All Orders After (Dead Man's Switch) description: Arms a dead-man's-switch — all open orders will be cancelled after the specified timeout (seconds) unless the call is re-issued. tags: - Trading security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CancelAllAfterRequest' examples: cancelAllOrdersAfterRequestExample: summary: Default cancelAllOrdersAfter request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' timeout: 60 responses: '200': description: Dead-man's-switch status content: application/json: schema: $ref: '#/components/schemas/CancelAllAfterResponse' examples: cancelAllOrdersAfter200Example: summary: Default cancelAllOrdersAfter 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/CancelOrderBatch: post: operationId: cancelOrderBatch summary: Kraken Cancel Order Batch description: Cancels up to 50 orders in a single signed call. tags: - Trading security: - kraken_signature: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CancelOrderBatchRequest' examples: cancelOrderBatchRequestExample: summary: Default cancelOrderBatch request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' orders: [] responses: '200': description: Batch cancel result content: application/json: schema: $ref: '#/components/schemas/CancelOrderBatchResponse' examples: cancelOrderBatch200Example: summary: Default cancelOrderBatch 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: EditOrderResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope_2' - type: object properties: result: type: object properties: status: type: string example: string txid: type: string example: OQCLML-BW3P3-BUCMWZ originaltxid: type: string example: OQCLML-BW3P3-BUCMWZ volume: type: string example: '0.01' price: type: string example: '0.01' orders_cancelled: type: integer example: 1 descr: type: object example: {} example: {} NoncedRequest: type: object description: All private requests include an incrementing nonce. Optionally an OTP for two-factor-protected keys. required: - nonce properties: nonce: type: integer format: int64 example: 1717000000000 otp: type: string description: Two-factor password / OTP if the key is OTP-protected. example: '123456' 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 CancelOrderBatchRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - orders properties: orders: type: array maxItems: 50 items: type: string example: [] AddOrderResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope_2' - type: object properties: result: type: object properties: descr: type: object properties: order: type: string example: string close: type: string example: string example: {} txid: type: array items: type: string example: OQCLML-BW3P3-BUCMWZ example: {} EditOrderRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - txid - pair properties: txid: type: string example: OQCLML-BW3P3-BUCMWZ pair: type: string example: XBTUSD volume: type: string example: '0.01' displayvol: type: string example: '0.01' price: type: string example: '0.01' price2: type: string example: '0.01' oflags: type: string example: string deadline: type: string example: string cancel_response: type: boolean example: true validate: type: boolean example: true userref: type: integer example: 1 AddOrderBatchResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope_2' - type: object properties: result: type: object properties: orders: type: array items: type: object properties: descr: type: object example: {} txid: type: string example: OQCLML-BW3P3-BUCMWZ error: type: string example: string example: [] example: {} CancelAllAfterResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope_2' - type: object properties: result: type: object properties: currentTime: type: string format: date-time example: '2026-05-30T00:00:00Z' triggerTime: type: string format: date-time example: '2026-05-30T00:00:00Z' example: {} AddOrderRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - ordertype - type - volume - pair properties: userref: type: integer example: 1 cl_ord_id: type: string example: OQCLML-BW3P3-BUCMWZ ordertype: type: string enum: - market - limit - iceberg - stop-loss - take-profit - stop-loss-limit - take-profit-limit - trailing-stop - trailing-stop-limit - settle-position example: market type: type: string enum: - buy - sell example: buy volume: type: string example: '0.01' displayvol: type: string description: For iceberg orders the visible part of the order. example: '0.01' pair: type: string example: XBTUSD price: type: string example: '0.01' price2: type: string example: '0.01' trigger: type: string enum: - last - index example: last leverage: type: string example: none reduce_only: type: boolean example: true stptype: type: string enum: - cancel-newest - cancel-oldest - cancel-both example: cancel-newest oflags: type: string description: Comma-delimited flags (post fcib: null fciq: null nompp: null viqc).: null example: string timeinforce: type: string enum: - GTC - IOC - GTD example: GTC starttm: type: string example: string expiretm: type: string example: string close[ordertype]: type: string example: string close[price]: type: string example: '0.01' close[price2]: type: string example: '0.01' deadline: type: string example: string validate: type: boolean example: true CancelOrderBatchResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope_2' - type: object properties: result: type: object properties: count: type: integer example: 1 example: {} CancelOrderRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - txid properties: txid: type: string description: txid cl_ord_id: null or userref.: null example: OQCLML-BW3P3-BUCMWZ cl_ord_id: type: string example: OQCLML-BW3P3-BUCMWZ 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 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 CancelAllAfterRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - timeout properties: timeout: type: integer description: Seconds (0 to disable max 86400).: null example: 60 AmendOrderResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope_2' - type: object properties: result: type: object properties: amend_id: type: string example: OQCLML-BW3P3-BUCMWZ example: {} CancelAllResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope_2' - type: object properties: result: type: object properties: count: type: integer example: 1 example: {} AddOrderBatchRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - pair - orders properties: pair: type: string example: XBTUSD deadline: type: string example: string validate: type: boolean example: true orders: type: array maxItems: 15 items: type: object properties: ordertype: type: string example: limit type: type: string example: buy volume: type: string example: '0.01' price: type: string example: '0.01' price2: type: string example: '0.01' userref: type: integer example: 1 oflags: type: string example: string starttm: type: string example: string expiretm: type: string example: string example: [] AmendOrderRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object properties: txid: type: string example: OQCLML-BW3P3-BUCMWZ cl_ord_id: type: string example: OQCLML-BW3P3-BUCMWZ order_qty: type: string example: string display_qty: type: string example: string limit_price: type: string example: '0.01' trigger_price: type: string example: '0.01' post_only: type: boolean example: true deadline: type: string example: string CancelOrderResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope_2' - type: object properties: result: type: object properties: count: type: integer example: 1 pending: type: boolean example: true 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.'