> ## 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.

# Execute a Withdrawal

Lock in a previously created quote and initiate the
USDC-to-fiat transfer. The withdrawal is debited from
your Consul wallet immediately and arrives at the
destination bank account once the underlying rail
settles.


## OpenAPI

````yaml post /withdrawals/quote/{id}/execute
openapi: 3.0.3
info:
  title: Consul API
  version: 0.0.1
servers: []
security: []
paths:
  /withdrawals/quote/{id}/execute:
    post:
      operationId: ExecuteWithdrawal
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Withdrawal'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
components:
  schemas:
    Withdrawal:
      additionalProperties: false
      properties:
        completed_at:
          format: date-time
          type: string
        created_at:
          format: date-time
          type: string
        destination:
          $ref: '#/components/schemas/TransferDestination'
        failure_reason:
          type: string
        fee:
          $ref: '#/components/schemas/FeeSummary'
        fiat_transfer_instructions:
          $ref: '#/components/schemas/FiatTransferInstructions'
        id:
          type: string
        market_rate:
          format: decimal
          type: string
        source:
          $ref: '#/components/schemas/TransferSource'
        status:
          $ref: '#/components/schemas/TransferStatus'
      required:
        - id
        - source
        - destination
        - market_rate
        - status
        - created_at
      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
    FiatTransferInstructions:
      additionalProperties: false
      properties:
        ars_transfers_3_0_transfer_instructions:
          $ref: '#/components/schemas/ArsTransfers30TransferInstructions'
        brl_pix_transfer_instructions:
          $ref: '#/components/schemas/BrlPixTransferInstructions'
        cop_pse_transfer_instructions:
          $ref: '#/components/schemas/CopPseTransferInstructions'
        mxn_spei_transfer_instructions:
          $ref: '#/components/schemas/MxnSpeiTransferInstructions'
        payment_method:
          $ref: '#/components/schemas/FiatPaymentMethod'
        usd_ach_transfer_instructions:
          $ref: '#/components/schemas/UsdAchTransferInstructions'
        usd_fedwire_transfer_instructions:
          $ref: '#/components/schemas/UsdFedwireTransferInstructions'
      required:
        - payment_method
      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
    TransferStatus:
      enum:
        - queued
        - awaiting_transfer
        - processing
        - completed
        - failed
        - cancelled
        - expired
        - pending_claim
      type: string
    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
    ArsTransfers30TransferInstructions:
      additionalProperties: false
      properties:
        account_number:
          type: string
        account_type:
          $ref: '#/components/schemas/ARSTransfersType'
        allowed_tax_id:
          type: string
      required:
        - account_type
        - account_number
      type: object
    BrlPixTransferInstructions:
      additionalProperties: false
      properties:
        pix_code:
          type: string
      required:
        - pix_code
      type: object
    CopPseTransferInstructions:
      additionalProperties: false
      properties:
        account_type:
          $ref: '#/components/schemas/BankAccountType'
        bank_account:
          type: string
        bank_code:
          type: string
        beneficiary_name:
          type: string
      required:
        - beneficiary_name
        - bank_code
        - bank_account
        - account_type
      type: object
    MxnSpeiTransferInstructions:
      additionalProperties: false
      properties:
        bank_name:
          type: string
        beneficiary_name:
          type: string
        spei_clabe:
          type: string
        transfer_memo:
          type: string
      required:
        - beneficiary_name
        - spei_clabe
      type: object
    UsdAchTransferInstructions:
      additionalProperties: false
      properties:
        account_number:
          type: string
        bank_name:
          type: string
        beneficiary_address:
          type: string
        beneficiary_name:
          type: string
        routing_number:
          type: string
        transfer_memo:
          type: string
      required:
        - account_number
        - routing_number
        - bank_name
        - beneficiary_name
        - beneficiary_address
      type: object
    UsdFedwireTransferInstructions:
      additionalProperties: false
      properties:
        account_number:
          type: string
        bank_name:
          type: string
        beneficiary_address:
          type: string
        beneficiary_name:
          type: string
        routing_number:
          type: string
        transfer_memo:
          type: string
      required:
        - account_number
        - routing_number
        - bank_name
        - beneficiary_name
        - beneficiary_address
      type: object
    ARSTransfersType:
      enum:
        - cvu
        - cbu
        - alias
      type: string
    BankAccountType:
      enum:
        - checking
        - savings
      type: string

````