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

# Remove a connected external wallet from an offer option

> Returns the removed binding. Rejected with `offer_ended` once the offer has ended; bindings on an offer that has not yet started remain deletable.



## OpenAPI

````yaml /api-reference/openapi.json delete /v1/offers/{offer_id}/addresses/{id}
openapi: 3.0.0
info:
  title: Frontline API
  version: 0.1.0
servers:
  - url: https://api.coinlist.co
    variables: {}
security: []
tags:
  - name: DocumentSubmissions
  - name: KYC
  - name: OAuth
  - name: Offers
  - name: Participations
  - name: Pii
  - name: Requirements
  - name: Swap
  - name: Token
  - name: Wallet
  - name: Wallet Ownership
paths:
  /v1/offers/{offer_id}/addresses/{id}:
    delete:
      tags:
        - Offers
      summary: Remove a connected external wallet from an offer option
      description: >-
        Returns the removed binding. Rejected with `offer_ended` once the offer
        has ended; bindings on an offer that has not yet started remain
        deletable.
      operationId: deleteOfferOptionAddress
      parameters:
        - description: The ID of the offer
          in: path
          name: offer_id
          required: true
          schema:
            type: string
            x-struct: null
            x-validate: null
        - description: The ID of the offer option address
          in: path
          name: id
          required: true
          schema:
            type: string
            x-struct: null
            x-validate: null
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferOptionAddress'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      callbacks: {}
      security:
        - OAuth2: []
components:
  schemas:
    OfferOptionAddress:
      additionalProperties: false
      description: A user's proven external wallet connected to an offer option.
      properties:
        address:
          description: The connected external wallet address.
          type: string
          x-struct: null
          x-validate: null
        created_at:
          description: When the binding was created.
          example: '2025-01-01T00:00:00.000000Z'
          format: date-time
          type: string
          x-struct: null
          x-validate: null
        id:
          description: Unique identifier for the object.
          example: 05edea81-98a7-4582-aa7c-040d57cb1858
          type: string
          x-struct: null
          x-validate: null
        offer_option_id:
          description: The ID of the offer option.
          example: 05edea81-98a7-4582-aa7c-040d57cb1858
          type: string
          x-struct: null
          x-validate: null
        protocol:
          description: >-
            The protocol the binding is scoped to. An EVM address binds once per
            option regardless of which EVM chain proved ownership.
          enum:
            - ethereum
            - solana
          type: string
          x-struct: null
          x-validate: null
      required:
        - id
        - offer_option_id
        - address
        - protocol
        - created_at
      title: OfferOptionAddress
      type: object
      x-struct: Elixir.FrontlineAPIWeb.OpenApi.Schemas.OfferOptionAddress
      x-validate: null
    Error:
      additionalProperties: false
      properties:
        code:
          description: A human-readable message providing more details about the error.
          type: string
          x-struct: null
          x-validate: null
        errors:
          additionalProperties:
            items:
              type: string
              x-struct: null
              x-validate: null
            type: array
            x-struct: null
            x-validate: null
          type: object
          x-struct: null
          x-validate: null
        event_id:
          description: >-
            The unique identifier for the error event. This is useful for
            tracking and debugging.
          type: string
          x-struct: null
          x-validate: null
        message:
          description: >-
            For some errors that could be handled programmatically, a short
            string indicating the error code reported.
          type: string
          x-struct: null
          x-validate: null
        type:
          description: >-
            The type of error returned. One of `api_error`,
            `invalid_request_error`
          enum:
            - api_error
            - invalid_request_error
          type: string
          x-struct: null
          x-validate: null
      required:
        - type
        - message
      title: Error
      type: object
      x-struct: Elixir.FrontlineAPIWeb.OpenApi.Schemas.ApiError
      x-validate: null
  securitySchemes:
    OAuth2:
      description: OAuth 2.0 authorization and token endpoints
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          refreshUrl: /oauth/token
          scopes: {}
          tokenUrl: /oauth/token
        clientCredentials:
          refreshUrl: /oauth/token
          scopes: {}
          tokenUrl: /oauth/token
      type: oauth2

````