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.
🚀 New: Multichain / Multicurrency Liquidation Addresses
Bridge now supports creating flexible liquidation addresses that can accept deposits across multiple chains and currencies.
We do not support returning unsupported currencies! Please be careful and guide your users not to send currencies we do not support. You can view what we support here.
Multichain
- Create a Liquidation Address with
chain="evm"
.
- Currently supported chains: Base, Ethereum, Polygon.
- Example: You can send
USDC.base
, USDC.ethereum
, USDC.polygon
, etc. to the same liquidation address.
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": "evm",
"currency": "usdc",
"external_account_id": "ea_alice_bofa"
"destination_wire_message": "alice_wire_123"
"destination_payment_rail": "wire",
"destination_currency": "usd",
}'
Multicurrency
- Create a Liquidation Address with
currency="any"
.
- Example: You can send
USDB.solana
, USDC.solana
, etc. to the same liquidation address.
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": "base",
"currency": "any",
"external_account_id": "ea_alice_bofa"
"destination_wire_message": "alice_wire_123"
"destination_payment_rail": "wire",
"destination_currency": "usd",
}'
Multichain + Multicurrency
- Create a Liquidation Address with both
chain="evm"
and currency="any"
.
- Example: You can send
USDC.base
, USDC.ethereum
, USDT.ethereum
, USDC.polygon
, etc. to the same liquidation address.
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": "evm",
"currency": "any",
"external_account_id": "ea_alice_bofa"
"destination_wire_message": "alice_wire_123"
"destination_payment_rail": "wire",
"destination_currency": "usd",
}'
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 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 rely on the deposit message to route funds. For customers, it’s more intuitive to use a unique blockchain address.