Documentation Index
Fetch the complete documentation index at: https://docs.flashnet.xyz/llms.txt
Use this file to discover all available pages before exploring further.
What does ZeroConf do?
When ZeroConf is enabled, Bitcoin L1 deposits can receive full credit instantly. Instead of waiting for on-chain confirmations, the engine generates a ZeroConf offer that partners accept or decline. Accepted offers credit the deposit immediately and proceed with execution.How are confirmations handled?
| Scenario | Confirmations required |
|---|---|
| ZeroConf offer accepted | 0 (instant) |
| ZeroConf offer declined | 1 |
| ZeroConf offer expired (no response) | 1 |
ZeroConf disabled (zeroconfEnabled=false) | 3 |
What is the offer flow?
Quote with ZeroConf enabled
Create a quote with
sourceChain=bitcoin and zeroconfEnabled=true (the default for bitcoin source, exact-in quotes). Set zeroconfEnabled=false explicitly to disable.Deposit detected
After the Bitcoin transaction is broadcast and detected by the mempool monitor, the engine evaluates the deposit for ZeroConf eligibility.
Offer generated
The engine generates a ZeroConf offer and moves the order to
awaiting_approval. The offer appears in order.zeroconfOffer in both status responses and webhook payloads.Accept or decline
Call
POST /v1/orchestration/zeroconf/accept for instant credit, or POST /v1/orchestration/zeroconf/decline to wait for 1 confirmation. If you do not respond before expiresAt, the offer expires and the engine waits for 1 confirmation.What fields are in a ZeroConf offer?
When present,order.zeroconfOffer contains:
| Field | Type | Description |
|---|---|---|
status | string | pending, accepted, declined, expired, or confirmed |
quoteId | string | ZeroConf quote identifier |
depositSats | string | Total BTC deposited (sats) |
instantSats | string | Amount credited instantly on acceptance |
holdbackSats | string | Amount held until on-chain confirmation |
feeSats | string | ZeroConf fee (sats) |
confirmationProbability | number | Estimated probability the transaction confirms |
expiresAt | string | Offer expiry (ISO 8601) |
offeredAt | string | When the offer was generated |
resolvedAt | string or null | When accepted, declined, or expired. null while pending |
confirmed status means the Bitcoin transaction reached 1 confirmation before the offer was resolved, bypassing the approval window entirely.
How do I accept or decline an offer?
Accept (instant credit):When does ZeroConf apply?
- ZeroConf applies when
sourceChain=bitcoinandamountMode=exact_in. - Exact-out (
amountMode=exact_out) uses confirmation-based processing and does not use ZeroConf. zeroconfEnableddefaults totruewhensourceChain=bitcoin. Set it tofalseexplicitly to disable.- If the deployment does not have ZeroConf configured, the engine falls back to on-chain confirmations silently. No error is returned.
How does ZeroConf work with liquidation addresses?
Liquidation addresses support thezeroconfEnabled flag. When enabled, each Bitcoin deposit generates a ZeroConf offer requiring partner resolution via webhook + API call. When disabled, deposits wait for 3 on-chain confirmations.
Some deployments require ZeroConf to be configured for liquidation address provisioning. If address creation returns a configuration error, contact your Flashnet operator.
See reusable addresses for setup.