Monitoring liquidation address payments

Drain History

When funds are deposited to a Liquidation Address, Bridge automatically “drains” those funds—converting and forwarding them to the configured destination. Each drain operation creates a Drain Record, which reflects the lifecycle of that individual payment.

  • You can retrieve the full drain history for a given liquidation address using the Get drain history of a liquidation address endpoint.
  • Bridge will also send you a real time webhook for new drains and state changes.

Drain States

The state field tracks the status of each drain through its lifecycle. Here are the possible values:

StateDescription
in_reviewThe transaction is temporarily held for review. This usually clears automatically. If unresolved after 24 hours, Bridge will contact you.
funds_receivedBridge has received crypto and is preparing the outgoing payment.
payment_submittedThe outgoing payment has been sent. Confirmation pending (varies by payment rail).
payment_processedPayment successfully completed. Depending on the rail, metadata may include a tx_hash, imad, or trace_number.
undeliverableBridge could not deliver the payment (e.g. invalid account or unsupported asset).
returnedPayment was sent but later rejected and returned to Bridge.
refundedFunds that were returned have been re-sent to an alternative destination.
errorA system or network issue prevented processing. Manual intervention may be required.
canceledThe payment was canceled before submission—usually due to AML/EFE review or because it did not meet the minimum transfer threshold.

Drains can only move forward (funds_received → payment_submitted → payment_processed) and cannot go backward.

Fetching liquidation address drain history

curl --request GET \
     --url 'https://api.bridge.xyz/v0/customers/<customer_id>/liquidation_addresses/<liquidation_address_id>/drains' \
     --header 'Api-Key: <Api-Key>' \
     --header 'accept: application/json'

Example response:

[
  {
    "id": "drain_123",
    "amount": "1.0",
    "currency": "usd",
    "state": "payment_processed",
    "created_at": "2023-05-05T19:39:14.316Z",
    "destination": {
      "payment_rail": "ethereum",
      "currency": "usdc",
      "to_address": "0xb5a18db2e404fd5d234f1bec969cb071bed86f82"
    },
    "destination_tx_hash": "0x063834efe214f4199b1ad7181ce8c5ced3e15d271c8e866da7c89e86ee629cfb",
    "deposit_tx_hash": "0x39debb5d410baddbae5755a8bb98827722b05f5f0e29e428239bf30fc7af2891"
  },
  {
    "id": "drain_456",
    "amount": "1.0",
    "currency": "usd",
    "state": "payment_processed",
    "created_at": "2023-05-04T18:39:14.316Z",
    "destination": {
      "payment_rail": "ethereum",
      "currency": "usdc",
      "to_address": "0xb5a18db2e404fd5d234f1bec969cb071bed86f82"
    },
    "destination_tx_hash": "0x83f5ec78fdde7c48ad32cf2d7ec151fef578a0b6b123e37211a438521b234628",
    "deposit_tx_hash": "0xe6d166219539d0c875a7a4e0806f43ca117a3aaa42440cf875b6e3398fb09060"
  }
]