openapi: 3.0.3 info: title: Kraken Futures REST Account Subaccounts 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: Subaccounts description: Subaccount creation and inter-account transfers paths: /0/private/CreateSubaccount: post: operationId: createSubaccount summary: Kraken Create Subaccount description: Creates a new subaccount under the master account (institutional / pro feature). tags: - Subaccounts security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateSubaccountRequest' examples: createSubaccountRequestExample: summary: Default createSubaccount request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' username: subaccount-01 email: trader@example.com responses: '200': description: Subaccount creation result content: application/json: schema: $ref: '#/components/schemas/CreateSubaccountResponse' examples: createSubaccount200Example: summary: Default createSubaccount 200 response x-microcks-default: true value: error: [] result: true x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/AccountTransfer: post: operationId: accountTransfer summary: Kraken Account Transfer description: Transfers an asset between the master account and a subaccount. tags: - Subaccounts security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AccountTransferRequest' examples: accountTransferRequestExample: summary: Default accountTransfer request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT amount: '0.01' from: string to: string responses: '200': description: Transfer acknowledgement content: application/json: schema: $ref: '#/components/schemas/AccountTransferResponse' examples: accountTransfer200Example: summary: Default accountTransfer 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: CreateSubaccountResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: boolean example: true AccountTransferRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - asset - amount - from - to properties: asset: type: string example: XBT amount: type: string example: '0.01' from: type: string description: Master account email or subaccount username. example: string to: type: string example: string BaseEnvelope: 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 AccountTransferResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: object properties: transfer_id: type: string example: OQCLML-BW3P3-BUCMWZ status: type: string example: string example: {} CreateSubaccountRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - username - email properties: username: type: string example: subaccount-01 email: type: string format: email example: trader@example.com 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' 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.'