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:
State | Description |
---|---|
in_review | The transaction is temporarily held for review. This usually clears automatically. If unresolved after 24 hours, Bridge will contact you. |
funds_received | Bridge has received crypto and is preparing the outgoing payment. |
payment_submitted | The outgoing payment has been sent. Confirmation pending (varies by payment rail). |
payment_processed | Payment successfully completed. Depending on the rail, metadata may include a tx_hash , imad , or trace_number . |
undeliverable | Bridge could not deliver the payment (e.g. invalid account or unsupported asset). |
returned | Payment was sent but later rejected and returned to Bridge. |
refunded | Funds that were returned have been re-sent to an alternative destination. |
error | A system or network issue prevented processing. Manual intervention may be required. |
canceled | The 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"
}
]
Updated about 4 hours ago