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

# Create a Withdrawal Quote

Request a quote to convert USDC into fiat currency.
The destination currency and payment rail are determined
by the linked bank account.

The response includes the exchange rate, fees, and
estimated settlement time.


## OpenAPI

````yaml post /withdrawals/quote
openapi: 3.0.3
info:
  title: Consul API
  version: 0.0.1
servers: []
security: []
paths:
  /withdrawals/quote:
    post:
      operationId: CreateWithdrawalQuote
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWithdrawalQuoteRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Quote'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
components:
  schemas:
    CreateWithdrawalQuoteRequest:
      additionalProperties: false
      properties:
        destination_bank_account_id:
          type: string
        receiver_amount:
          format: decimal
          type: string
        sender_amount:
          format: decimal
          type: string
      required:
        - destination_bank_account_id
      type: object
    Quote:
      additionalProperties: false
      properties:
        created_at:
          format: date-time
          type: string
        destination:
          $ref: '#/components/schemas/TransferDestination'
        expires_at:
          format: date-time
          type: string
        fee:
          $ref: '#/components/schemas/FeeSummary'
        id:
          type: string
        is_ach_debit:
          type: boolean
        market_rate:
          format: decimal
          type: string
        source:
          $ref: '#/components/schemas/TransferSource'
        time_estimate_seconds:
          format: int64
          nullable: true
          type: integer
      required:
        - id
        - source
        - destination
        - market_rate
        - created_at
        - time_estimate_seconds
      type: object
    ErrorModel:
      additionalProperties: false
      properties:
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          example: Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          example: https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          example: 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          example: Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          example: https://example.com/errors/example
          format: uri
          type: string
      type: object
    TransferDestination:
      additionalProperties: false
      properties:
        amount:
          format: decimal
          type: string
        chain:
          $ref: '#/components/schemas/CryptoNetworkAndChain'
        currency:
          $ref: '#/components/schemas/Currency'
        min_amount:
          format: decimal
          type: string
        payment_method:
          $ref: '#/components/schemas/FiatPaymentMethod'
      required:
        - currency
        - amount
      type: object
    FeeSummary:
      additionalProperties: false
      properties:
        currency:
          $ref: '#/components/schemas/Currency'
        flat_fee:
          format: decimal
          type: string
        percentage_fee:
          format: decimal
          type: string
      required:
        - flat_fee
        - percentage_fee
        - currency
      type: object
    TransferSource:
      additionalProperties: false
      properties:
        account_id:
          type: string
        amount:
          format: decimal
          type: string
        chain:
          $ref: '#/components/schemas/CryptoNetworkAndChain'
        currency:
          $ref: '#/components/schemas/Currency'
        payment_method:
          $ref: '#/components/schemas/FiatPaymentMethod'
      required:
        - currency
        - amount
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    CryptoNetworkAndChain:
      enum:
        - ethereum
        - polygon
        - base
        - arbitrum
        - optimism
      type: string
    Currency:
      enum:
        - USDC
        - USDT
        - USD
        - BRL
        - ARS
        - COP
        - MXN
        - CAD
        - EUR
      type: string
    FiatPaymentMethod:
      enum:
        - usd_ach
        - usd_fedwire
        - brl_pix
        - ars_transfers_3_0
        - cop_pse
        - mxn_spei
        - cad_eft
        - eur_sepa
      type: string

````