bc1... address and you do not want to call /quote and /submit per deposit.
How It Works
- You create a liquidation address with a fixed USDC destination.
- Flashnet returns an L1 deposit address (
l1DepositAddress). - Any BTC deposit to that address creates an order.
- You track the order by receiving partner webhooks.
sourceChain = bitcoinsourceAsset = BTCdestinationAsset = USDCquoteId = null
Create a Liquidation Address
liquidationAddressId: stable idl1DepositAddress: Bitcoin deposit address (bc1...)sparkAddress: Spark address used internally for deposit claiming and sweepsdestination.chainanddestination.address: fixed USDC destination
Deposit Lifecycle
Each Bitcoin deposit is identified by(txid, vout), where vout is the output index that paid the liquidation address.
A single Bitcoin transaction can contain multiple outputs to different liquidation addresses (or multiple outputs to the same address). For reliable attribution, use webhooks and store order.id from the payload.
Webhooks
Liquidation deposits create normalorder.* webhook events.
To receive them:
- Register an endpoint with
POST /v1/webhooks. - Verify
X-Flashnet-Signatureon inbound requests. - Treat webhook delivery as at least once.
Manage Addresses
List enabled liquidation addresses:GET /v1/liquidation-addresses
GET /v1/liquidation-addresses/:id
DELETE /v1/liquidation-addresses/:id(requiresX-Idempotency-Key)
ZeroConf Notes
Liquidation addresses require ZeroConf to be configured on the Flashnet side in order to provision deposit addresses. If it is not configured, creation returns500 misconfigured.
If you enable zeroconfEnabled on a liquidation address, deposits may be accepted before confirmations. If disabled, the engine waits for confirmations before processing.