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

# Get withdrawal fee quote

> Generates a fee quote for a hypothetical withdrawal from the specified vault. Callers supply the asset and amount they intend to withdraw and receive back a `quote_id` along with a set of fee tiers, each describing the fee charged at a given priority level. The returned `quote_id` can then be passed to `POST /v0/insto/custody/vaults/{vault_id}/withdrawals` together with the chosen fee tier to submit the actual withdrawal. Quotes are advisory and expire after a short window.

**Rate limit:** 200 requests per 30 seconds per IP.



## OpenAPI

````yaml /openapi/insto-custody-rest.yaml post /v0/insto/custody/vaults/{vault_id}/withdrawals/fee-quotes
openapi: 3.0.0
info:
  title: Insto Custody External REST API
  version: 1.0.0
  description: ''
servers:
  - url: https://api.kraken.com
    description: Production Server
security:
  - API-Key: []
    API-Sign: []
tags:
  - name: Custody External API
  - name: apiFormat:kraken2025
paths:
  /v0/insto/custody/vaults/{vault_id}/withdrawals/fee-quotes:
    post:
      tags:
        - Custody External API
        - apiFormat:kraken2025
      summary: Get withdrawal fee quote
      description: >-
        Generates a fee quote for a hypothetical withdrawal from the specified
        vault. Callers supply the asset and amount they intend to withdraw and
        receive back a `quote_id` along with a set of fee tiers, each describing
        the fee charged at a given priority level. The returned `quote_id` can
        then be passed to `POST /v0/insto/custody/vaults/{vault_id}/withdrawals`
        together with the chosen fee tier to submit the actual withdrawal.
        Quotes are advisory and expire after a short window.


        **Rate limit:** 200 requests per 30 seconds per IP.
      operationId: postV0InstoCustodyVaultsVaultIdWithdrawalsFeeQuotes
      parameters:
        - in: path
          name: vault_id
          required: true
          description: >-
            Vault identifier the withdrawal would be debited from. A
            `V`-prefixed 14-char base32 string with a final check character.
          schema:
            type: string
            example: VABCDEF234567A
          style: simple
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                asset:
                  type: string
                  description: >-
                    Asset code to be withdrawn (e.g. `BTC`, `ETH`, `USD`).
                    Determines the asset the fee tiers are denominated in.
                  example: BTC
                asset_class:
                  type: string
                  description: >-
                    Asset class of the withdrawn asset. Currently only
                    `currency` is supported.
                  example: currency
                amount:
                  type: string
                  description: >-
                    Withdrawal amount as a fixed-precision decimal string. Must
                    be positive.
                  example: '0.5'
                fee_included:
                  type: boolean
                  description: >-
                    Whether the fee should be deducted from `amount` (`true`) or
                    charged on top (`false`). Defaults to `false` when omitted.
                  example: false
                address_name:
                  type: string
                  description: >-
                    Optional name of a previously whitelisted destination
                    address. When supplied, the quote is scoped to that address;
                    some networks vary the fee by destination.
                  example: My BTC Wallet
              required:
                - asset
                - asset_class
                - amount
        required: true
      responses:
        '200':
          description: >-
            Fee quote generated successfully. The returned `quote_id` can be
            passed to `POST /v0/insto/custody/vaults/{vault_id}/withdrawals` to
            submit the withdrawal with one of the listed fee tiers.
          content:
            application/json:
              schema:
                type: object
                properties:
                  quote_id:
                    type: string
                    description: >-
                      Identifier of the generated fee quote. Pass this value as
                      `quote_id` when submitting the matching withdrawal. A
                      `Q`-prefixed 14-char base32 string.
                    example: QABCDEF234567A
                  asset:
                    type: string
                    description: >-
                      Asset code the quote was generated for. Mirrors the asset
                      supplied in the request.
                    example: BTC
                  asset_class:
                    type: string
                    description: >-
                      Asset class of the quoted asset. Currently always
                      `currency`.
                    example: currency
                  fees:
                    type: array
                    description: >-
                      Available fee tiers for the quoted withdrawal. Each entry
                      is a self-contained option the caller can pick when
                      submitting the withdrawal.
                    items:
                      type: object
                      properties:
                        level:
                          type: string
                          description: >-
                            Fee tier identifier. One of `normal`, `fast`, or
                            `urgent`. Higher tiers settle faster and cost more.
                          example: normal
                        asset:
                          type: string
                          description: >-
                            Asset code in which this fee tier is denominated.
                            Matches the parent `asset`.
                          example: BTC
                        asset_class:
                          type: string
                          description: >-
                            Asset class of the fee asset. Currently always
                            `currency`.
                          example: currency
                        amount:
                          type: string
                          description: >-
                            Fee amount for this tier as a fixed-precision
                            decimal string.
                          example: '0.0001'
                      required:
                        - level
                        - asset
                        - asset_class
                        - amount
                required:
                  - quote_id
                  - asset
                  - asset_class
                  - fees
        '400':
          description: >-
            Bad Request. The request failed validation. Examples: malformed
            `vault_id`, invalid `amount`, unsupported `asset_class`, or unknown
            `address_name`.
          content:
            application/problem+json:
              schema:
                description: >-
                  Type for errors when using the Kraken2025 format.


                  This format follows `Problem Details for HTTP APIs`
                  ([rfc7807]).


                  [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                type: object
                properties:
                  type:
                    description: >-
                      URL uniquely identifying the error type relative to an
                      operation
                    type: string
                    enum:
                      - tag:kraken.com,2025:BadRequest
                    example: tag:kraken.com,2025:BadRequest
                  status:
                    description: HTTP status (provided for convenience)
                    type: integer
                    format: uint16
                    minimum: 0
                    example: 400
                  title:
                    description: Short human-readable summary
                    type: string
                    example: Bad Request
                  detail:
                    nullable: true
                    description: Help to solve the problem
                    type: string
                    example: 'Request failed validation: amount must be positive.'
                  instance:
                    nullable: true
                    description: Link to debug data for this particular error
                    type: string
                    example: https://debug.kraken.com/req/01HXYZABCDEF
                  data:
                    description: Error-specific payload.
                    type: object
                    properties:
                      message:
                        description: Human-readable description of the validation failure.
                        type: string
                        example: amount must be a positive decimal
                    required:
                      - message
                required:
                  - data
                  - status
                  - title
                  - type
        '403':
          description: Forbidden. The caller lacks access to the requested vault.
          content:
            application/problem+json:
              schema:
                description: >-
                  Type for errors when using the Kraken2025 format.


                  This format follows `Problem Details for HTTP APIs`
                  ([rfc7807]).


                  [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                type: object
                properties:
                  type:
                    description: >-
                      URL uniquely identifying the error type relative to an
                      operation
                    type: string
                    enum:
                      - tag:kraken.com,2025:PermissionDenied
                    example: tag:kraken.com,2025:PermissionDenied
                  status:
                    description: HTTP status (provided for convenience)
                    type: integer
                    format: uint16
                    minimum: 0
                    example: 403
                  title:
                    description: Short human-readable summary
                    type: string
                    example: Permission Denied
                  detail:
                    nullable: true
                    description: Help to solve the problem
                    type: string
                    example: The caller does not have access to the requested vault.
                  instance:
                    nullable: true
                    description: Link to debug data for this particular error
                    type: string
                    example: https://debug.kraken.com/req/01HXYZABCDEF
                  data:
                    description: Error-specific payload.
                    type: object
                    properties:
                      message:
                        description: Human-readable description of why access was denied.
                        type: string
                        example: Caller lacks read access to vault VABCDEF234567A
                    required:
                      - message
                required:
                  - data
                  - status
                  - title
                  - type
        '404':
          description: >-
            Not Found. The supplied asset and asset class combination is not
            configured for withdrawal.
          content:
            application/problem+json:
              schema:
                description: >-
                  Type for errors when using the Kraken2025 format.


                  This format follows `Problem Details for HTTP APIs`
                  ([rfc7807]).


                  [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                type: object
                properties:
                  type:
                    description: >-
                      URL uniquely identifying the error type relative to an
                      operation
                    type: string
                    enum:
                      - tag:kraken.com,2025:AssetNotFound
                    example: tag:kraken.com,2025:AssetNotFound
                  status:
                    description: HTTP status (provided for convenience)
                    type: integer
                    format: uint16
                    minimum: 0
                    example: 404
                  title:
                    description: Short human-readable summary
                    type: string
                    example: Not Found
                  detail:
                    nullable: true
                    description: Help to solve the problem
                    type: string
                    example: Asset not found for the requested asset class.
                  instance:
                    nullable: true
                    description: Link to debug data for this particular error
                    type: string
                    example: https://debug.kraken.com/req/01HXYZABCDEF
                  data:
                    description: Error-specific payload.
                    type: object
                    properties:
                      message:
                        description: >-
                          Human-readable description of which asset could not be
                          found.
                        type: string
                        example: >-
                          Asset BTC with class currency is not configured for
                          withdrawal
                    required:
                      - message
                required:
                  - data
                  - status
                  - title
                  - type
        '500':
          description: >-
            Internal Server Error. An unhandled exception occurred while serving
            the fee-quote request.
          content:
            application/problem+json:
              schema:
                oneOf:
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/ReadUpstream
                        example: tag:kraken.com,2025:gateway/ReadUpstream
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to read response from upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/ReadUpstream
                        example: tag:kraken.com,2025:gateway/ReadUpstream
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to read response from upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/ReadUpstream
                        example: tag:kraken.com,2025:gateway/ReadUpstream
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to read response from upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/WriteResponse
                        example: tag:kraken.com,2025:gateway/WriteResponse
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to write response to upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/Connect
                        example: tag:kraken.com,2025:gateway/Connect
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to connect to upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/ReadUpstream
                        example: tag:kraken.com,2025:gateway/ReadUpstream
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to read response from upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/ReadUpstream
                        example: tag:kraken.com,2025:gateway/ReadUpstream
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to read response from upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/ReadUpstream
                        example: tag:kraken.com,2025:gateway/ReadUpstream
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to read response from upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/WriteResponse
                        example: tag:kraken.com,2025:gateway/WriteResponse
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: Failed to write response to upstream custody service.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:gateway/Fatal
                        example: tag:kraken.com,2025:gateway/Fatal
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: >-
                          A fatal gateway error occurred while serving the
                          request.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        description: Custom data attached to this problem
                    required:
                      - data
                      - status
                      - title
                      - type
                  - description: >-
                      Type for errors when using the Kraken2025 format.


                      This format follows `Problem Details for HTTP APIs`
                      ([rfc7807]).


                      [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                    type: object
                    properties:
                      type:
                        description: >-
                          URL uniquely identifying the error type relative to an
                          operation
                        type: string
                        enum:
                          - tag:kraken.com,2025:Unknown
                        example: tag:kraken.com,2025:Unknown
                      status:
                        description: HTTP status (provided for convenience)
                        type: integer
                        format: uint16
                        minimum: 0
                        example: 500
                      title:
                        description: Short human-readable summary
                        type: string
                        example: Internal Server Error
                      detail:
                        nullable: true
                        description: Help to solve the problem
                        type: string
                        example: >-
                          An unexpected error occurred while serving the
                          request.
                      instance:
                        nullable: true
                        description: Link to debug data for this particular error
                        type: string
                        example: https://debug.kraken.com/req/01HXYZABCDEF
                      data:
                        type: object
                        properties:
                          message:
                            type: string
                            description: >-
                              Human-readable description of the underlying
                              failure.
                            example: Unhandled exception while servicing the request.
                          core_error:
                            type: string
                            description: Identifier for the originating error.
                            example: InternalError
                        required:
                          - message
                          - core_error
                        description: >-
                          Error-specific payload returned for an unhandled
                          exception.
                    required:
                      - data
                      - status
                      - title
                      - type
        '503':
          description: >-
            Service Unavailable. The upstream custody service could not be
            reached.
          content:
            application/problem+json:
              schema:
                description: >-
                  Type for errors when using the Kraken2025 format.


                  This format follows `Problem Details for HTTP APIs`
                  ([rfc7807]).


                  [rfc7807]: https://datatracker.ietf.org/doc/html/rfc7807
                type: object
                properties:
                  type:
                    description: >-
                      URL uniquely identifying the error type relative to an
                      operation
                    type: string
                    enum:
                      - tag:kraken.com,2025:gateway/Connect
                    example: tag:kraken.com,2025:gateway/Connect
                  status:
                    description: HTTP status (provided for convenience)
                    type: integer
                    format: uint16
                    minimum: 0
                    example: 503
                  title:
                    description: Short human-readable summary
                    type: string
                    example: Service Unavailable
                  detail:
                    nullable: true
                    description: Help to solve the problem
                    type: string
                    example: >-
                      Downstream custody service is temporarily unreachable;
                      retry with backoff.
                  instance:
                    nullable: true
                    description: Link to debug data for this particular error
                    type: string
                    example: https://debug.kraken.com/req/01HXYZABCDEF
                  data:
                    description: Custom data attached to this problem
                required:
                  - data
                  - status
                  - title
                  - type
      security:
        - API Key Auth (key): []
          API Key Auth (signature): []
          API Key Auth (nonce): []
          API Key Auth (otp): []
components:
  securitySchemes:
    API Key Auth (key):
      type: apiKey
      in: header
      name: api-key
    API Key Auth (signature):
      type: apiKey
      in: header
      name: api-sign
    API Key Auth (nonce):
      type: apiKey
      in: header
      name: api-nonce
    API Key Auth (otp):
      type: apiKey
      in: header
      name: api-otp

````