> ## Documentation Index
> Fetch the complete documentation index at: https://kraken-sandbox.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Withdrawal Methods

> Retrieve a list of withdrawal methods available for the user.

**API Key Permissions Required:** `Funds permissions - Query` and `Funds permissions - Withdraw`




## OpenAPI

````yaml /openapi/spot-rest.yaml post /private/WithdrawMethods
openapi: 3.0.0
info:
  title: REST API
  version: 1.1.0
  description: ''
servers:
  - url: https://api.kraken.com/0
    description: Production Server
security:
  - API-Key: []
    API-Sign: []
tags:
  - name: Market Data
  - name: Account Data
  - name: Trading
  - name: Funding
  - name: Subaccounts
    description: >-
      Subaccounts are currently only available to institutional clients. Please
      contact your Account Manager for more details.
  - name: Earn
    description: >
      The earn API allows interacting with all of Kraken's yield generating
      products. It replaces the old `/staking` part of the API.


      The different available earn products are represented by earn strategies.
      This corresponds to the legacy `Staking/Assets`. `Stake`/`Unstake` are
      replaced by `Allocate`/`Deallocate`.


      ### Overview of the available endpoints under `/Earn`:


      - `Strategies` - list all earn strategies for which you are eligible or
      have a balance.

      - `Allocations` - lists the balance in your earn account for each
      strategy. Requires the `Query Funds` API key permission.

      - `Allocate`/`Deallocate` - allocate/deallocate to an earn strategy
      through an async operation. Requires the `Earn Funds` API key permission.

      - `AllocateStatus`/`DeallocateStatus` - verifies the state of the last
      allocation/deallocation. Requires the `Earn Funds` or `Query Funds` API
      key permission.


      ### Example usage:


      ### Determine which funds are earning rewards:


      1. Call `Strategies` to obtain information about the relevant strategy.
      The `lock_type` field shows whether bonding/unbonding funds are earning
      yield. The relevant fields are `bonding_rewards`/`unbonding_rewards`.

      2. Call `Allocations` for the relevant strategy. From the previous step,
      for strategies where bonding/unbonding does not earn yield, substract
      these balances from `amount_allocated.total` to determine which balances
      are currently earning.


      ### Get allocatable balance:


      Call `/0/private/BalanceEx`, subtract `hold_trading` amount. Remaining
      balance is available for allocation to a strategy.


      ### Geo restrictions:


      Some earn strategies are not available in all geographic regions.
      `Strategies` will return only strategies available to the caller.
  - name: Transparency
paths:
  /private/WithdrawMethods:
    post:
      tags:
        - Funding
      summary: Get Withdrawal Methods
      description: >
        Retrieve a list of withdrawal methods available for the user.


        **API Key Permissions Required:** `Funds permissions - Query` and `Funds
        permissions - Withdraw`
      operationId: getWithdrawalMethods
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/methods-3'
      responses:
        '200':
          description: Withdrawal methods retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/methods-4'
components:
  schemas:
    methods-3:
      required:
        - nonce
      type: object
      properties:
        nonce:
          $ref: '#/components/schemas/nonce'
        asset:
          description: Filter methods for specific asset
          type: string
        aclass:
          description: Filter methods for specific asset class
          type: string
          enum:
            - currency
            - tokenized_asset
          default: currency
        network:
          description: Filter methods for specific network
          type: string
        rebase_multiplier:
          type: string
          enum:
            - rebased
            - base
          default: rebased
          nullable: true
          description: |
            Optional parameter for viewing xstocks data. 
            - `rebased`: Display in terms of underlying equity.
            - `base`: Display in terms of SPV tokens.
    methods-4:
      type: object
      properties:
        result:
          title: withdrawalMethods
          description: Withdrawal Methods
          type: array
          items:
            type: object
            properties:
              asset:
                description: Name of asset being withdrawn
                type: string
              method:
                description: Name of the withdrawal method
                type: string
              method_id:
                description: Unique identifier for the withdrawal method
                type: string
              network:
                description: Name of the blockchain or network being withdrawn on
                type: string
              network_id:
                description: Unique identifier for the network
                type: string
              minimum:
                description: Minimum net amount that can be withdrawn right now
                type: string
              fee:
                description: Fee details for this withdrawal method
                type: object
                properties:
                  aclass:
                    description: Asset class of the fee
                    type: string
                  asset:
                    description: Asset used for the fee
                    type: string
                  fee:
                    description: Flat fee amount
                    type: string
                  fee_percentage:
                    description: >-
                      Percentage fee (present instead of flat fee for some
                      methods)
                    type: string
              limits:
                description: Rate limit details for this withdrawal method
                type: array
                items:
                  type: object
                  properties:
                    description:
                      type: string
                    limit_type:
                      type: string
                    limits:
                      type: object
                      description: Limits keyed by time window in seconds
                      additionalProperties:
                        type: object
                        properties:
                          maximum:
                            type: string
                          remaining:
                            type: string
                          used:
                            type: string
        error:
          $ref: '#/components/schemas/error'
      example:
        error: []
        result:
          - asset: XXBT
            method: Bitcoin
            method_id: 12fca2ad-edae-4d8c-acbb-4a424c1fbdeb
            network: Bitcoin
            network_id: ee9d686d-aeb6-4e61-9d83-448e3a7511f3
            minimum: '0.0004'
            fee:
              aclass: currency
              asset: XXBT
              fee: '0.00001500'
          - asset: XXBT
            method: Bitcoin Lightning
            method_id: 1ac8da36-8eec-4ed0-977a-82e4b50f2e49
            network: Lightning
            network_id: 03ed9b12-29f1-4dc3-8d05-bd58e3798518
            minimum: '0.00001'
            fee:
              aclass: currency
              asset: XXBT
              fee: '0'
              fee_percentage: '0.1'
    nonce:
      description: Nonce used in construction of `API-Sign` header
      type: integer
      format: int64
    error:
      type: array
      items:
        description: Kraken API error
        type: string
        example: EGeneral:Invalid arguments
  securitySchemes:
    API-Key:
      type: apiKey
      description: The "API-Key" header should contain your API key.
      name: API-Key
      in: header
    API-Sign:
      type: apiKey
      description: >-
        Authenticated requests should be signed with the "API-Sign" header,
        using a signature generated with your private key, nonce, encoded
        payload, and URI path.
      name: API-Sign
      in: header

````