Kraken Funding API

Private endpoints for deposits, withdrawals, and transfers

Operations 8

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /0/private/DepositMethods List deposit methods for an asset · Kraken Get Deposit Methods #
Ask an LLM
“What ways can I deposit a particular asset into my account?”
“Which networks can I use to fund my account with a given coin?”
Tell an agent
List the deposit methods for {asset}.
Show how I can deposit {asset}.
POST /0/private/DepositAddresses Get or generate a deposit address · Kraken Get Deposit Addresses #
Ask an LLM
“Where do I send crypto to deposit it into my account?”
“Can I generate a fresh deposit address instead of reusing an old one?”
Tell an agent
Get my {asset} deposit address for method {method}.
Generate a new {asset} deposit address via {method}.
POST /0/private/DepositStatus Check the status of recent deposits · Kraken Get Status of Recent Deposits #
Ask an LLM
“Has my recent deposit arrived yet?”
“Can I filter recent deposit statuses by asset?”
Tell an agent
Show the status of my recent deposits.
Check recent {asset} deposits made via {method}.
POST /0/private/WithdrawInfo Preview withdrawal fee and limits · Kraken Get Withdrawal Information #
Ask an LLM
“What fee will I pay to withdraw an amount to a saved address?”
“Is there a limit on how much I can withdraw to a given address?”
Tell an agent
Show the fee and limit for withdrawing {amount} {asset} to {key}.
Check withdrawal limits for {asset} to saved address {key} for {amount}.
POST /0/private/Withdraw Withdraw crypto or cash to a saved address · Kraken Withdraw Funds #
Ask an LLM
“How do I withdraw funds to an address I already set up?”
“Can I cap the fee I'm willing to pay on a withdrawal?”
Tell an agent
Withdraw {amount} {asset} to saved address {key}.
Withdraw {amount} {asset} to {key} only if the fee is at most {max_fee}.
POST /0/private/WithdrawStatus Check the status of recent withdrawals · Kraken Get Status of Recent Withdrawals #
Ask an LLM
“Has my withdrawal been processed yet?”
“Can I see recent withdrawals for just one asset?”
Tell an agent
Show the status of my recent withdrawals.
Check recent {asset} withdrawals made via {method}.
POST /0/private/WithdrawCancel Cancel a pending withdrawal · Kraken Request Withdrawal Cancellation #
Ask an LLM
“Can I stop a withdrawal that hasn't gone out yet?”
“How do I cancel a pending withdrawal using its reference ID?”
Tell an agent destructive · confirm first
Cancel pending {asset} withdrawal {refid}.
Request cancellation of withdrawal reference {refid} for {asset}.
POST /0/private/WalletTransfer Move funds from Spot to Futures wallet · Kraken Wallet Transfer #
Ask an LLM
“How do I fund my futures wallet from my spot balance?”
“Can I move an asset between my spot and futures wallets?”
Tell an agent
Transfer {amount} {asset} from {from} to {to}.
Move {amount} {asset} from my Spot wallet ({from}) to Futures ({to}).

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kraken-funding-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kraken-funding-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kraken Spot REST Funding API
  version: 1.0.0
  description: OpenAPI description of Kraken's public Spot REST API. Covers public market data (server time, system status, asset info, ticker, OHLC, order book, recent trades, recent spreads) and the private surface (account data, trading, funding, subaccounts, Earn, WebSocket token). Generated by the API Evangelist pipeline from docs.kraken.com/api/docs/rest-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://api.kraken.com
  description: Kraken Spot REST production endpoint
- url: https://colo-london.vip-api.kraken.com
  description: Kraken Spot REST 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:
    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'
    WithdrawResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope'
      - type: object
        properties:
          result:
            type: object
            properties:
              refid:
                type: string
                example: OQCLML-BW3P3-BUCMWZ
            example: {}
    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
    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: []
    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
    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
    WithdrawStatusResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope'
      - type: object
        properties:
          result:
            type: array
            items:
              $ref: '#/components/schemas/FundingTxn'
            example: []
    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'
    DepositStatusResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope'
      - type: object
        properties:
          result:
            type: array
            items:
              $ref: '#/components/schemas/FundingTxn'
            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'
    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'
    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: []
    WithdrawCancelRequest:
      allOf:
      - $ref: '#/components/schemas/NoncedRequest'
      - type: object
        required:
        - asset
        - refid
        properties:
          asset:
            type: string
            example: XBT
          refid:
            type: string
            example: OQCLML-BW3P3-BUCMWZ
    AssetScopedRequest:
      allOf:
      - $ref: '#/components/schemas/NoncedRequest'
      - type: object
        required:
        - asset
        properties:
          asset:
            type: string
            example: XBT
    WithdrawCancelResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope'
      - type: object
        properties:
          result:
            type: boolean
            example: true
    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: {}
    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
    WalletTransferResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope'
      - type: object
        properties:
          result:
            type: object
            properties:
              refid:
                type: string
                example: OQCLML-BW3P3-BUCMWZ
            example: {}
  securitySchemes:
    kraken_signature:
      type: apiKey
      in: header
      name: API-Key
      description: 'Kraken signs private REST requests with two headers: `API-Key` (your public API key) and `API-Sign` (HMAC-SHA512 of the URI path plus SHA256(nonce + POST body), keyed by the base64-decoded secret). All private endpoints must include an incrementing `nonce` in the POST body.'