openapi: 3.0.3 info: title: Kraken Futures REST Account Funding 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: Funding description: Private endpoints for deposits, withdrawals, and transfers paths: /0/private/DepositMethods: post: operationId: getDepositMethods summary: Kraken Get Deposit Methods description: Lists deposit methods available for the requested asset. tags: - Funding security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AssetScopedRequest' examples: getDepositMethodsRequestExample: summary: Default getDepositMethods request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT responses: '200': description: Deposit methods content: application/json: schema: $ref: '#/components/schemas/DepositMethodsResponse' examples: getDepositMethods200Example: summary: Default getDepositMethods 200 response x-microcks-default: true value: error: [] result: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/DepositAddresses: post: operationId: getDepositAddresses summary: Kraken Get Deposit Addresses description: Returns existing or generates new deposit addresses for the requested asset and method. tags: - Funding security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DepositAddressesRequest' examples: getDepositAddressesRequestExample: summary: Default getDepositAddresses request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT method: string new: true amount: '0.01' responses: '200': description: Deposit addresses content: application/json: schema: $ref: '#/components/schemas/DepositAddressesResponse' examples: getDepositAddresses200Example: summary: Default getDepositAddresses 200 response x-microcks-default: true value: error: [] result: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/DepositStatus: post: operationId: getDepositStatus summary: Kraken Get Status of Recent Deposits description: Returns recent deposit statuses, filterable by asset and method. tags: - Funding security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/DepositStatusRequest' examples: getDepositStatusRequestExample: summary: Default getDepositStatus request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT method: string start: string end: string cursor: string limit: 1 responses: '200': description: Deposit statuses content: application/json: schema: $ref: '#/components/schemas/DepositStatusResponse' examples: getDepositStatus200Example: summary: Default getDepositStatus 200 response x-microcks-default: true value: error: [] result: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/WithdrawInfo: post: operationId: getWithdrawalInfo summary: Kraken Get Withdrawal Information description: Returns fee and limit information for a configured withdrawal address (key). tags: - Funding security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/WithdrawInfoRequest' examples: getWithdrawalInfoRequestExample: summary: Default getWithdrawalInfo request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT key: Cold storage 1 amount: '0.01' responses: '200': description: Withdrawal info content: application/json: schema: $ref: '#/components/schemas/WithdrawInfoResponse' examples: getWithdrawalInfo200Example: summary: Default getWithdrawalInfo 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/Withdraw: post: operationId: withdrawFunds summary: Kraken Withdraw Funds description: Initiates a withdrawal to a previously configured withdrawal address. tags: - Funding security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/WithdrawRequest' examples: withdrawFundsRequestExample: summary: Default withdrawFunds request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT key: Cold storage 1 address: bc1qexampledeadbeefaddress0000000000000000 amount: '0.01' max_fee: string responses: '200': description: Withdrawal acknowledgement content: application/json: schema: $ref: '#/components/schemas/WithdrawResponse' examples: withdrawFunds200Example: summary: Default withdrawFunds 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/WithdrawStatus: post: operationId: getWithdrawalStatus summary: Kraken Get Status of Recent Withdrawals description: Returns recent withdrawal statuses, filterable by asset and method. tags: - Funding security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/WithdrawStatusRequest' examples: getWithdrawalStatusRequestExample: summary: Default getWithdrawalStatus request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT method: string start: string end: string cursor: string limit: 1 responses: '200': description: Withdrawal statuses content: application/json: schema: $ref: '#/components/schemas/WithdrawStatusResponse' examples: getWithdrawalStatus200Example: summary: Default getWithdrawalStatus 200 response x-microcks-default: true value: error: [] result: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/WithdrawCancel: post: operationId: cancelWithdrawal summary: Kraken Request Withdrawal Cancellation description: Requests cancellation of a pending withdrawal by reference ID. tags: - Funding security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/WithdrawCancelRequest' examples: cancelWithdrawalRequestExample: summary: Default cancelWithdrawal request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT refid: OQCLML-BW3P3-BUCMWZ responses: '200': description: Cancellation result content: application/json: schema: $ref: '#/components/schemas/WithdrawCancelResponse' examples: cancelWithdrawal200Example: summary: Default cancelWithdrawal 200 response x-microcks-default: true value: error: [] result: true x-microcks-operation: delay: 0 dispatcher: FALLBACK /0/private/WalletTransfer: post: operationId: walletTransfer summary: Kraken Wallet Transfer description: Transfers funds between Kraken Spot and Kraken Futures wallets. tags: - Funding security: - kraken_signature: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/WalletTransferRequest' examples: walletTransferRequestExample: summary: Default walletTransfer request x-microcks-default: true value: nonce: 1717000000000 otp: '123456' asset: XBT from: Spot Wallet to: Futures Wallet amount: '0.01' responses: '200': description: Transfer acknowledgement content: application/json: schema: $ref: '#/components/schemas/WalletTransferResponse' examples: walletTransfer200Example: summary: Default walletTransfer 200 response x-microcks-default: true value: error: [] result: {} x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: AssetScopedRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - asset properties: asset: type: string example: XBT 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' DepositMethodsResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: array items: type: object properties: method: type: string example: string limit: oneOf: - type: string - type: boolean example: string fee: type: string example: '0.01' address-setup-fee: type: string example: string gen-address: type: boolean example: true minimum: type: string example: string example: [] DepositAddressesResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: array items: type: object properties: address: type: string example: bc1qexampledeadbeefaddress0000000000000000 expiretm: type: string example: string new: type: boolean example: true memo: type: string example: string tag: type: string example: string example: [] WithdrawStatusRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object properties: asset: type: string example: XBT method: type: string example: string start: type: string example: string end: type: string example: string cursor: type: string example: string limit: type: integer example: 1 DepositStatusRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object properties: asset: type: string example: XBT method: type: string example: string start: type: string example: string end: type: string example: string cursor: type: string example: string limit: type: integer example: 1 WithdrawCancelResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: boolean example: true WithdrawInfoRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - asset - key - amount properties: asset: type: string example: XBT key: type: string description: Withdrawal key name configured in account. example: Cold storage 1 amount: type: string example: '0.01' WithdrawCancelRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - asset - refid properties: asset: type: string example: XBT refid: type: string example: OQCLML-BW3P3-BUCMWZ DepositAddressesRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - asset - method properties: asset: type: string example: XBT method: type: string example: string new: type: boolean example: true amount: type: string example: '0.01' FundingTxn: type: object properties: method: type: string example: string aclass: type: string example: string asset: type: string example: XBT refid: type: string example: OQCLML-BW3P3-BUCMWZ txid: type: string example: OQCLML-BW3P3-BUCMWZ info: type: string example: string amount: type: string example: '0.01' fee: type: string example: '0.01' time: type: number example: '2026-05-30T00:00:00Z' status: type: string example: string status-prop: type: string example: string WithdrawRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - asset - key - amount properties: asset: type: string example: XBT key: type: string example: Cold storage 1 address: type: string example: bc1qexampledeadbeefaddress0000000000000000 amount: type: string example: '0.01' max_fee: type: string example: string DepositStatusResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: array items: $ref: '#/components/schemas/FundingTxn' example: [] WalletTransferResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: object properties: refid: type: string example: OQCLML-BW3P3-BUCMWZ example: {} WithdrawStatusResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: array items: $ref: '#/components/schemas/FundingTxn' example: [] 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 WithdrawResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: object properties: refid: type: string example: OQCLML-BW3P3-BUCMWZ example: {} WalletTransferRequest: allOf: - $ref: '#/components/schemas/NoncedRequest' - type: object required: - asset - from - to - amount properties: asset: type: string example: XBT from: type: string enum: - Spot Wallet default: Spot Wallet example: Spot Wallet to: type: string enum: - Futures Wallet example: Futures Wallet amount: type: string example: '0.01' WithdrawInfoResponse: allOf: - $ref: '#/components/schemas/BaseEnvelope' - type: object properties: result: type: object properties: method: type: string example: string limit: type: string example: string amount: type: string example: '0.01' fee: type: string example: '0.01' 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.'