What does ZeroConf do?
When a Bitcoin L1 deposit is detected, the engine asks Spark for an instant static-deposit quote. If Spark returns a 0-conf fulfillment plan, Orchestra creates a ZeroConf offer and moves the order toawaiting_approval. Partners accept the offer to continue immediately, or decline it to wait for the normal confirmed path.
How are confirmations handled?
What is the offer flow?
1
Create a Bitcoin L1 quote
Create an exact-in quote with
sourceChain=bitcoin. The quote response returns a Bitcoin L1 depositAddress. It does not include a ZeroConf offer.2
Deposit detected
After the Bitcoin transaction is broadcast and detected, the engine evaluates the specific UTXO for ZeroConf eligibility.
3
Spark returns a plan
If Spark returns a 0-conf plan, the engine stores a pending
zeroconfOffer and moves the order to awaiting_approval. If Spark requires confirmation, the order waits for 1 block.4
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.5
Execution continues
After acceptance (instant credit) or confirmation (1 block), the order proceeds through swapping, bridging, and delivery.
What fields are in a ZeroConf offer?
Three fields drive the decision:expiresAt: the deadline. Respond before it or the offer expires and the order waits for 1 confirmation.instantSats: what the order is credited on acceptance.feeSats: the difference between the deposited amount andinstantSats, from Spark’s static-deposit quote. This is not the Flashnet orchestration platform fee; platform pricing stays in the normal quote and order fields such asfeeBpsandfeeAmount. ReadfeeSatsfrom each offer; do not hard-code a fixed percentage or sat amount.
instantSats. Confirmation does not release an additional amount.
The full object schema, including status, depositSats, and resolution timestamps, is in ZeroConf offer fields.
How do I accept or decline an offer?
Accept (instant credit):When does ZeroConf apply?
- ZeroConf applies to eligible
sourceChain=bitcoinexact-in orders after the Bitcoin transaction is detected. - Exact-out (
amountMode=exact_out) uses confirmation-based processing and does not use ZeroConf. - Quote responses do not predict whether an offer will be created. The decision depends on the detected UTXO and Spark’s fulfillment plan.
- If Spark does not return a 0-conf plan, the engine falls back to the confirmed path without a partner action.