A Liquidation Address is a permanent payment route which ties a blockchain address to either a fiat or blockchain address. When a customer sends crypto, such as USDC, to their liquidation address, Bridge will automatically send funds to the destination.
We do not allow creating duplicate liquidation addresses for the same customer. If you attempt to create a second liquidation address with the same source chain, source currency, and destination, the request will fail with an API error.
Liquidation addresses can support any of the supported orchestration chains & currencies listed here.
Point a liquidation address to an external bank account
curl --location --request POST 'https://api.bridge.xyz/v0/customers/cust_alice/liquidation_addresses' \
--header 'Content-Type: application/json' \
--header 'Api-Key: <Api-Key>' \
--header 'Idempotency-Key: <Unique Idempotency Key>' \
--data-raw '{
"chain": "ethereum",
"currency": "usdc",
"external_account_id": "ea_alice_bofa"
"destination_wire_message": "alice_wire_123"
"destination_payment_rail": "wire",
"destination_currency": "usd",
}'
{
"id": "liq_alice_123",
"chain": "ethereum",
"external_account_id": "ea_alice_bofa",
"currency": "usdc",
"address": "0xc0ffee",
"destination_wire_messaage": "alice_wire_123",
"destination_payment_rail": "wire",
"destination_currency": "usd",
"created_at": "2023-11-22T21:31:30.515Z",
"updated_at": "2023-11-22T21:31:30.515Z"
}
The response object contains the blockchain address of the liquidation address. Now anytime your customer receives funds on this address, Bridge will automatically convert it to USD and send a wire payment with the wire message.
Create a liquidation address with a crypto destination
curl --location --request POST 'https://api.bridge.xyz/v0/customers/cust_alice/liquidation_addresses' \
--header 'Content-Type: application/json' \
--header 'Api-Key: <Api-Key>' \
--header 'Idempotency-Key: <Unique Idempotency Key>' \
--data-raw '{
"chain": "ethereum",
"currency": "usdt",
"destination_payment_rail": "polygon",
"destination_currency": "usdc",
"destination_address": "0xdeadbeef"
}'
{
"id": "liq_alice_456",
"chain": "ethereum",
"address": "0xc0ffee",
"currency": "usdt",
"destination_payment_rail": "polygon",
"destination_currency": "usdc",
"destination_address": "0xdeadbeef",
"created_at": "2023-11-22T21:31:30.515Z",
"updated_at": "2023-11-22T21:31:30.515Z"
}
Memo based blockchains
Don’t forget the blockchain memo.
For memo-based blockchains, such as Stellar, a blockchain_memo will be provided as part of the response. This must be included in the crypto deposit memo.
{
"id": "liq_alice_123",
"chain": "stellar",
"external_account_id": "ea_alice_bofa",
"currency": "usdc",
"address": "GDUY7JBRIDGESTELLARLIQUIDATIONADDRESS",
"blockchain_memo": "12345",
"created_at": "2023-11-22T21:31:30.515Z",
"updated_at": "2023-11-22T21:31:30.515Z"
}
Create a liquidation address with a custom developer fee
Setting a custom developer fee overrides the default Liquidation Address developer fee for a given Liquidation Address upon creation.
curl --location --request POST 'https://api.bridge.xyz/v0/customers/cust_alice/liquidation_addresses' \
--header 'Content-Type: application/json' \
--header 'Api-Key: <Api-Key>' \
--header 'Idempotency-Key: <Unique Idempotency Key>' \
--data-raw '{
"chain": "ethereum",
"currency": "usdc",
"external_account_id": "ea_alice_bofa"
"destination_wire_message": "alice_wire_123"
"destination_payment_rail": "wire",
"destination_currency": "usd",
"custom_developer_fee_percent": "10.2",
}'
Static Template Transfers vs Liquidation Addresses
Static template transfers (AKA payment routes in dashboard) are similar to liquidation address in that they are both saved payment routes. The key difference is that a liquidation address is a permanent blockchain address, whereas static template transfer (AKA payment routes in dashboard) rely on the deposit message to route funds. For customers, it’s more intuitive to use a unique blockchain address.