Bridge Liquidation Addresses API

The Liquidation Addresses API from Bridge — 8 operation(s) for liquidation addresses.

Operations 10

POST /customers/{customerID}/liquidation_addresses Create a Liquidation Address #
GET /customers/{customerID}/liquidation_addresses Get all Liquidation Addresses for a customer #
GET /liquidation_addresses Get all Liquidation Addresses #
GET /customers/{customerID}/liquidation_addresses/{liquidationAddressID} Get a Liquidation Address #
PUT /customers/{customerID}/liquidation_addresses/{liquidationAddressID} Update a Liquidation Address #
GET /customers/{customerID}/liquidation_addresses/{liquidationAddressID}/drains Get drain history of a Liquidation Address #
POST /customers/{customerID}/liquidation_addresses/{liquidationAddressID}/drains/{drainID}/execute Execute a pending USDT trade on a drain #
GET /customers/{customerID}/liquidation_addresses/{liquidationAddressID}/balances Get the balance of a Liquidation Address (deprecated) #
GET /liquidation_addresses/drains Liquidation Address Activity Across All Customers #
GET /liquidation_addresses/drains/pending List drains with pending USDT trades #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bridge-liquidation-addresses-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bridge-liquidation-addresses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bridge Liquidation Addresses API
  description: APIs to move into, out of, and between any form of a dollar
  version: '1'
servers:
- url: https://api.bridge.xyz/v0
  description: The base path for all resources
security:
- ApiKey: []
tags:
- name: Liquidation Addresses
paths:
  /customers/{customerID}/liquidation_addresses:
    post:
      summary: Create a Liquidation Address
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      requestBody:
        description: Liquidation Address object to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLiquidationAddress'
      responses:
        '201':
          description: Liquidation Address object created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateLiquidationAddressResponse'
              examples:
                SuccessfulLiquidationAddressCreateResponse:
                  $ref: '#/components/examples/SuccessfulLiquidationAddressCreateResponse'
                SuccessfulSepaLiquidationAddressCreateResponse:
                  $ref: '#/components/examples/SuccessfulSepaLiquidationAddressCreateResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: postCustomersByCustomerIDLiquidationAddresses
      x-operation-id-source: derived
    get:
      summary: Get all Liquidation Addresses for a customer
      description: Get Liquidation Addresses
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/LiquidationScheduleStartingAfterParameter'
      - $ref: '#/components/parameters/LiquidationScheduleEndingBeforeParameter'
      responses:
        '200':
          description: List of Liquidation Addresses (the returned list is empty if none found)
          content:
            application/json:
              schema:
                title: Liquidation Addresses
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    description: total number of items in data
                    type: integer
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/LiquidationAddress'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: getCustomersByCustomerIDLiquidationAddresses
      x-operation-id-source: derived
  /liquidation_addresses:
    get:
      summary: Get all Liquidation Addresses
      description: Get Liquidation Addresses
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/LiquidationScheduleStartingAfterParameter'
      - $ref: '#/components/parameters/LiquidationScheduleEndingBeforeParameter'
      responses:
        '200':
          description: List of Liquidation Addresses (the returned list is empty if none found)
          content:
            application/json:
              schema:
                title: Liquidation Addresses
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    description: total number of items in data
                    type: integer
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/LiquidationAddress'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: getLiquidationAddresses
      x-operation-id-source: derived
  /customers/{customerID}/liquidation_addresses/{liquidationAddressID}:
    get:
      summary: Get a Liquidation Address
      description: Retrieve a Liquidation Address for the specified Liquidation Address ID
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/LiquidationAddressIDParameter'
      responses:
        '200':
          description: A Liquidation Address object response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiquidationAddress'
              examples:
                SuccessfulLiquidationAddressGetResponse:
                  $ref: '#/components/examples/SuccessfulLiquidationAddressGetResponse'
                SuccessfulSepaLiquidationAddressGetResponse:
                  $ref: '#/components/examples/SuccessfulSepaLiquidationAddressGetResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: getCustomersByCustomerIDLiquidationAddressesByLiquidationAddressID
      x-operation-id-source: derived
    put:
      summary: Update a Liquidation Address
      description: Update a Liquidation Address for the specified liquidation address ID. Note that `external_account_id` and `custom_developer_fee_percent` can be updated independently and are not both required.
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/LiquidationAddressIDParameter'
      requestBody:
        description: Liquidation Address details to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLiquidationAddress'
      responses:
        '200':
          description: Updated Liquidation Address object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiquidationAddress'
              examples:
                SuccessfulLiquidationAddressUpdateResponse:
                  $ref: '#/components/examples/SuccessfulLiquidationAddressGetResponse'
                SuccessfulSepaLiquidationAddressUpdateResponse:
                  $ref: '#/components/examples/SuccessfulSepaLiquidationAddressGetResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: putCustomersByCustomerIDLiquidationAddressesByLiquidationAddressID
      x-operation-id-source: derived
  /customers/{customerID}/liquidation_addresses/{liquidationAddressID}/drains:
    get:
      summary: Get drain history of a Liquidation Address
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/LiquidationAddressIDParameter'
      - $ref: '#/components/parameters/TxHashParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/DrainStartingAfterParameter'
      - $ref: '#/components/parameters/DrainEndingBeforeParameter'
      - $ref: '#/components/parameters/UpdatedAfterMsParameter'
      - $ref: '#/components/parameters/UpdatedBeforeMsParameter'
      - $ref: '#/components/parameters/DrainIDQueryParameter'
      responses:
        '200':
          description: List of drains (the returned list is empty if none found)
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Drain'
              examples:
                DrainsToCryptoFound:
                  $ref: '#/components/examples/SuccessfulLiquidationAddressDrainsToCryptoResponse'
                DrainsToFiatFound:
                  $ref: '#/components/examples/SuccessfulLiquidationAddressDrainsToFiatResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: getCustomersByCustomerIDLiquidationAddressesByLiquidationAddressIDDrains
      x-operation-id-source: derived
  /customers/{customerID}/liquidation_addresses/{liquidationAddressID}/drains/{drainID}/execute:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    - $ref: '#/components/parameters/LiquidationAddressIDParameter'
    - name: drainID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
    post:
      summary: Execute a pending USDT trade on a drain
      description: 'Force-executes a stuck USDT-to-USD trade at the current market rate. The drain must have a pending trade (i.e. appear in `GET /liquidation_addresses/drains/pending`).


        After execution, the drain will continue processing normally with the executed market rate.'
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      responses:
        '200':
          description: Drain with trade execute at market rate enabled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Drain'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: postCustomersByCustomerIDLiquidationAddressesByLiquidationAddressIDDrainsByDrainIDExecute
      x-operation-id-source: derived
  /customers/{customerID}/liquidation_addresses/{liquidationAddressID}/balances:
    get:
      summary: Get the balance of a Liquidation Address (deprecated)
      description: Get the balance of a Liquidation Address. Note that most Liquidation Addresses no longer hold a balance. To check recent activity on a Liquidation Address, use the `/customers/{customerID}/liquidation_addresses/{liquidationAddressID}/drains` endpoint.
      deprecated: true
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/LiquidationAddressIDParameter'
      responses:
        '200':
          description: Get the current balance of a Liquidation Address
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/Balance'
              examples:
                DrainsFound:
                  $ref: '#/components/examples/SuccessfulLiquidationAddressBalanceResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: getCustomersByCustomerIDLiquidationAddressesByLiquidationAddressIDBalances
      x-operation-id-source: derived
  /liquidation_addresses/drains:
    get:
      summary: Liquidation Address Activity Across All Customers
      description: History of activity across all customers and Liquidation Addresses
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/TxHashParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/DrainStartingAfterParameter'
      - $ref: '#/components/parameters/DrainEndingBeforeParameter'
      - $ref: '#/components/parameters/UpdatedAfterMsParameter'
      - $ref: '#/components/parameters/UpdatedBeforeMsParameter'
      - $ref: '#/components/parameters/DrainIDQueryParameter'
      responses:
        '200':
          description: List of drains for all liquidation addresses (the returned list is empty if none found)
          content:
            application/json:
              schema:
                title: Liquidation Address history
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of events returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/Drain'
              examples:
                DrainsToCryptoFound:
                  $ref: '#/components/examples/SuccessfulLiquidationAddressDrainsToCryptoResponse'
                DrainsToFiatFound:
                  $ref: '#/components/examples/SuccessfulLiquidationAddressDrainsToFiatResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: getLiquidationAddressesDrains
      x-operation-id-source: derived
  /liquidation_addresses/drains/pending:
    get:
      summary: List drains with pending USDT trades
      description: 'Returns drains that have a stuck USDT-to-USD trade awaiting execution. Results are sorted by creation time (newest first) and paginated.


        Use `POST /customers/{customerID}/liquidation_addresses/{liquidationAddressID}/drains/{drainID}/execute` to force-execute a pending trade at the current market rate.'
      tags:
      - Liquidation Addresses
      parameters:
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/DrainStartingAfterParameter'
      - $ref: '#/components/parameters/DrainEndingBeforeParameter'
      - $ref: '#/components/parameters/UpdatedAfterMsParameter'
      - $ref: '#/components/parameters/UpdatedBeforeMsParameter'
      responses:
        '200':
          description: List of drains with pending trades (the returned list is empty if none found)
          content:
            application/json:
              schema:
                title: PendingDrains
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of drains returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/Drain'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
      operationId: getLiquidationAddressesDrainsPending
      x-operation-id-source: derived
components:
  schemas:
    TraceNumber:
      description: The trace number of an ACH transfer
      type: string
      pattern: '[0-9]'
      minLength: 15
      maxLength: 15
    TravelRuleBeneficiary:
      type: object
      description: Travel Rule details for beneficiary crypto movement.
      properties:
        is_self:
          $ref: '#/components/schemas/TravelRuleIsSelf'
        name:
          $ref: '#/components/schemas/TravelRuleName'
        address:
          description: Mailing or legal address of the beneficiary. Usually omitted when `is_self` is `true`.
          allOf:
          - $ref: '#/components/schemas/TravelRuleAddress'
        wallet_type:
          $ref: '#/components/schemas/TravelRuleWalletType'
        wallet_attested_ownership_at:
          $ref: '#/components/schemas/TravelRuleWalletAttestedOwnershipAt'
        legal_entity_identifier:
          type: string
          description: The Legal Entity Identifier (LEI) or equivalent (e.g. VAT number) of the beneficiary. Provide this when the beneficiary is a legal entity rather than an individual.
    SwiftReference:
      description: A payment reference message or remittance information to be included in a SWIFT transaction. It can have at most 4 lines (separated by "\n"), each line with a max length of 35 chars. The allowed characters are `a-z`, `A-Z`, `0-9`, special characters (`/` `-` `?` `:` `(` `)` `.` `,` `'` `+`), and space
      type: string
      minLength: 1
      maxLength: 190
    LiquidationAddress:
      required:
      - id
      - currency
      - chain
      - external_account_id
      - address
      - destination_payment_rail
      - destination_currency
      - customer_id
      - created_at
      - updated_at
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        currency:
          $ref: '#/components/schemas/LiquidationAddressSourceCurrency'
        chain:
          $ref: '#/components/schemas/LiquidationAddressSourceChain'
        customer_id:
          description: The ID of the customer who owns this liquidation address
          $ref: '#/components/schemas/Id'
        external_account_id:
          description: External bank account to which Bridge will send the funds. The currency associated with the External Account must match the destination currency.
          $ref: '#/components/schemas/Id'
        prefunded_account_id:
          description: The developer's prefunded account to which Bridge will send the funds.
          $ref: '#/components/schemas/Id'
        custom_developer_fee_percent:
          $ref: '#/components/schemas/LiquidationAddressCustomDeveloperFeePercent'
        global_developer_fee_percent:
          $ref: '#/components/schemas/LiquidationAddressGlobalDeveloperFeePercent'
        destination_wire_message:
          description: A message to be sent with a wire transfer.
          $ref: '#/components/schemas/WireMessage'
        destination_sepa_reference:
          $ref: '#/components/schemas/SepaReference'
        destination_spei_reference:
          $ref: '#/components/schemas/SpeiReference'
        destination_ach_reference:
          $ref: '#/components/schemas/AchReference'
        destination_payment_rail:
          description: The payment rail that Bridge will use to send funds to the customer.
          $ref: '#/components/schemas/SepaSwiftInclusivePaymentRail'
        destination_currency:
          description: The currency that Bridge will use to send funds to the customer.
          $ref: '#/components/schemas/EuroInclusiveCurrency'
        address:
          description: The crypto wallet address the customer will send funds to in order to initiate the payment processing
          type: string
          readOnly: true
        memoless_address:
          description: An alternative crypto wallet address that encodes the memo, allowing the customer to send funds without needing to include a separate memo. Currently only available for Stellar deposits.
          type: string
          readOnly: true
        blockchain_memo:
          description: The memo that must be included with the deposit transaction when sending funds to the deposit address. Only present for blockchains that require memos (such as Stellar).
          type: string
          readOnly: true
        destination_address:
          type: string
          description: The crypto wallet address that Bridge will use to send funds to the customer.
        destination_blockchain_memo:
          type: string
          description: The memo to include in the transaction, for blockchains that support memos only
        return_address:
          type:
          - string
          - 'null'
          deprecated: true
          description: 'Deprecated: use `return_instructions` instead.


            The crypto wallet address that Bridge will use to return funds to the customer in case of a failed transaction.

            Must be on the same chain as the liquidation address.

            Cannot be used on Stellar — use `return_instructions` with a `memo` instead.

            '
        return_memo:
          type:
          - string
          - 'null'
          description: The memo included with return transactions. Present when `return_instructions` was set with a memo (e.g. required for Stellar to route funds to the correct end-customer).
        state:
          type: string
          description: The state of the liquidation address. It could be "active" or "deactivated"
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the Liquidation Address
          format: date-time
        updated_at:
          readOnly: true
          type: string
          description: Time of last update of the Liquidation Address
          format: date-time
    TravelRuleAddress:
      type: object
      description: Address for travel rule submissions. All fields are optional to support partial address data (e.g. country-only).
      properties:
        street_line_1:
          type: string
        street_line_2:
          type: string
        city:
          type: string
        state:
          type: string
          description: ISO 3166-2 subdivision code.
        postal_code:
          type: string
        country:
          description: Three-letter alpha-3 country code as defined in the ISO 3166-1 spec.
          type: string
          minLength: 3
          maxLength: 3
    Uetr:
      description: 'Deprecated: use tracking_number instead. The unique end-to-end transaction reference, for tracing purposes.'
      type: string
      readOnly: true
      deprecated: true
    Imad:
      description: (Wire only) The IMAD of a wire transfer, if available
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 40
    TravelRuleOriginator:
      type: object
      description: Travel Rule details for originator crypto movement.
      properties:
        is_self:
          $ref: '#/components/schemas/TravelRuleIsSelf'
        name:
          $ref: '#/components/schemas/TravelRuleName'
        address:
          description: Mailing or legal address of the originator. Usually omitted when `is_self` is `true`.
          allOf:
          - $ref: '#/components/schemas/TravelRuleAddress'
        wallet_type:
          $ref: '#/components/schemas/TravelRuleWalletType'
        wallet_attested_ownership_at:
          $ref: '#/components/schemas/TravelRuleWalletAttestedOwnershipAt'
        identifying_information:
          allOf:
          - $ref: '#/components/schemas/IdentifyingInformation'
          description: 'List of identification objects for the originator. Do **not** include `image_front` or `image_back` fields in this context; those are not accepted in Travel Rule submissions.

            '
        birth_date:
          type: string
          description: Date of birth in format yyyy-mm-dd.
          minLength: 10
          maxLength: 10
        place_of_birth:
          $ref: '#/components/schemas/PlaceOfBirthInput'
        legal_entity_identifier:
          type: string
          description: The Legal Entity Identifier (LEI) or equivalent (e.g. VAT number) of the originator. Provide this when the originator is a legal entity rather than an individual.
    LiquidationAddressSourceChain:
      type: string
      enum:
      - arbitrum
      - avalanche_c_chain
      - base
      - celo
      - ethereum
      - optimism
      - polygon
      - solana
      - stellar
      - tempo
      - tron
      - evm
    SepaReference:
      description: A reference message to be sent with a SEPA transaction. We recommend you set a unique value to help you and your customers track payments end to end. It must be from 6 to 140 characters. The allowed characters are `a-z`, `A-Z`, `0-9`, spaces, ampersand (`&`), hyphen (`-`), full stop (`.`), and solidus (`/`). If not populated, the default value is "Payment via Bridge {unique_token}".
      type: string
      minLength: 6
      maxLength: 140
    TravelRuleIsSelf:
      type: boolean
      description: Set to `true` when this party is the same person or business as the Bridge customer on the resource. When `true`, Bridge uses the customer's name and address on file instead of relying on `name` and `address` in this payload.
    SepaSwiftInclusivePaymentRail:
      type: string
      enum:
      - ach
      - wire
      - ach_push
      - ach_same_day
      - arbitrum
      - avalanche_c_chain
      - base
      - bre_b
      - co_bank_transfer
      - celo
      - ethereum
      - faster_payments
      - fiat_deposit_return
      - optimism
      - pix
      - polygon
      - sepa
      - solana
      - spei
      - stellar
      - swift
      - tempo
      - tron
    DrainReceipt:
      required:
      - initial_amount
      - developer_fee
      - exchange_rate
      - subtotal_amount
      - converted_amount
      - outgoing_amount
      - destination_currency
      properties:
        initial_amount:
          description: The initial amount of the drain, denominated in the fiat currency to which the currency of the Liquidation Address is pegged. Examples include "100.25", "0.1", "1.234567", "1.000000000000000001" etc.
          type: string
        developer_fee:
          description: The developer fee, denominated in the fiat currency to which the currency of the Liquidation Address is pegged. This fee is a specific amount deducted from the initial total before conversion, rather than a percentage.
          type: string
        subtotal_amount:
          description: The initial amount of the drain less the `developer_fee`, denominated in the fiat currency to which the Liquidation Address currency is pegged. Examples include "100.25", "0.1", "1.234567", "1.000000000000000001" etc.
          type: string
        gas_fee:
          description: The fee that is deducted from the withdrawn amount to pay for gas.  Only included for crypto withdrawals that cost gas (e.g. USDT). It's denominated in the fiat currency to which the destination currency is pegged.
          type: string
        converted_amount:
          description: The converted amount of the drain. It's denominated in the destination currency or its pegged fiat currency.
          type: string
        exchange_rate:
          description: The effective exchange rate that can be calculated by dividing the converted amount by the amount available for conversion after deducting the developer fee.
        outgoing_amount:
          description: The final amount of the drain, equal to the `converted_amount` minus any gas fees. It's denominated in the destination currency or its pegged fiat currency.
          type: string
        destination_currency:
          $ref: '#/components/schemas/Currency'
          description: The currency of the fund sent to the customer.
        url:
          description: The URL of a user-facing copy of the receipt.
          type: string
    TrackingNumber:
      description: The primary tracking identifier for this fiat transaction. Format varies by payment rail (e.g., UETR for SEPA/FPS, clave de rastreo for SPEI, end-to-end ID for PIX).
      type: string
      readOnly: true
    AchReference:
      description: A reference message to be sent with an ACH transaction. It can be at most 10 characters, A-Z, a-z, 0-9, and spaces.
      type: string
      minLength: 1
      maxLength: 10
    Currency:
      type: string
      enum:
      - usdb
      - usdc
      - usdt
      - usd
      - pyusd
    TransactionStatus:
      type: string
      enum:
      - awaiting_funds
      - in_review
      - funds_received
      - payment_submitted
      - payment_processed
      - canceled
      - error
      - undeliverable
      - returned
      - refund_in_flight
      - refund_failed
      - refunded
    TravelRuleWalletType:
      type: string
      description: Indicates the custody model for the wallet. Use `self_custodied` for customer-owned wallets (customer controls private keys), `hosted` for wallets managed by a developer or regulated entity on behalf of the customer, or `external` for wallets belonging to external exchanges or smart contracts.
      enum:
      - hosted
      - external
      - self_custodied
    LiquidationAddressSourceCurrency:
      type: string
      enum:
      - usdb
      - usdc
      - usdt
      - pyusd
      - eurc
    TravelRuleWalletAttestedOwnershipAt:
      type: string
      format: date-time
      description: Required when `wallet_type` is `self-custodied` or `hosted`. Must be a timestamp in the past indicating when wallet ownership was attested.
    Drain:
      required:
      - id
      - customer_id
      - liquidation_address_id
      - amount
      - currency
      - state
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        amount:
          description: Amount of the drain, represented as a dollar denominated string. Examples include "100.25", "0.1", "1.234567", "1.01" etc.
          type: string
        customer_id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        liquidation_address_id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        currency:
          $ref: '#/components/schemas/EuroInclusiveCurrency'
        state:
          description: Status of the drain
          readOnly: true
          $ref: '#/components/schemas/TransactionStatus'
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the drain
          format: date-time
        updated_at:
          readOnly: true
          type: string
          description: Time of last update of the drain
          format: date-time
        deposit_tx_hash:
          readOnly: true
          type: string
          description: Hash of the Liquidation Address deposit that triggered this drain
        from_address:
          readOnly: true
          type: string
          description: The blockchain address that sent funds to the Liquidation Address
        source_payment_rail:
          readOnly: true
          type: string
          description: The source payment rail where the funds originated from
        destination:
          readOnly: true
          description: Destination information of a drain.
          $ref: '#/components/schemas/DrainDestination'
        destination_tx_hash:
          readOnly: true
          type: string
          description: Hash of withdrawal of funds to the destination
        refund_tx_hash:
          readOnly: true
          type: string
          description: Hash of refund, if the drain has been returned
        return_details:
          readOnly: true
          description: Return information, if the drain has been returned.
          $ref: '#/components/schemas/DrainReturnDetails'
        receipt:
          readOnly: true
          description: Receipt information of a drain.
          $ref: '#/components/schemas/DrainReceipt'
        exchange_details:
          readOnly: true
          description: Exchange details for the associated trade, if applicable.
          $ref: '#/components/schemas/ExchangeDetails'
    PixReference:
      title: Pix
      type: string
      minLength: 1
      maxLength: 100
    DrainReturnDetails:
      properties:
        reason:
          description: The reason for the return, as given by the returning financial institution.
          type: string
        risk_rejection_reason:
          description: If the return is due to a risk rejection, this field will be populated with the reason for the risk rejection.
          type: string
    TransactionId:
      description: 'Deprecated: use tracking_number instead. The unique transaction identifier for t

# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bridge/refs/heads/main/openapi/bridge-liquidation-addresses-api-openapi.yml