Kraken Funding API

Private endpoints for deposits, withdrawals, and transfers

OpenAPI Specification

kraken-funding-api-openapi.yml Raw ↑
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.'