Comment on page
The use of 0-conf can make swaps a lot faster by utilizing transactions that are not included in a block yet. But accepting 0-conf transactions doesn't come without unwarranted risk.
As a precautionary measure, Boltz enforces a few rules when it comes to 0-conf.
It is important to note that:
- In Normal Submarine Swaps in which the user sends the chain transaction, Boltz is taking the risk by accepting unconfirmed transactions
- In Reverse Submarine Swaps where the user receives the chain transaction from Boltz, the user is at risk for accepting the unconfirmed transaction
0-conf Swaps are subject to network conditions and generally only available on UTXO chains like Bitcoin.
When it comes to accepting 0-conf transactions, Boltz has configurable limits in place. These limits can be found via the
getpairsendpoint and are enforced only for Normal Submarine Swaps. When the user receives a chain transaction from Boltz, the acceptance and amounts are entirely up to the client and user.
If a transaction locking up bitcoin is signalling Replace-By-Fee either explicitly or inherently (unconfirmed inputs of the transaction signal RBF), Boltz will not accept 0-conf for that transaction in Normal Submarine Swaps. Also note, that Boltz never sends transactions that signal RBF. For more information about RBF please read the BIP 125 - Opt-in Full Replace-by-Fee Signaling.
Swaps on Boltz are based on HTLCs (Hash Time Locked Contracts). In order to be able to deal with the time locked component of these contracts, transactions locking and claiming coins from such contracts have to pay a reasonably high miner fee in order to be included in a block timely.
Boltz considers fees that are equal or higher than 80% of the
sat/vbyteestimations of the
getfeeestimationendpoint as reasonably high. If the miner fee paid by the transaction is less than that, Boltz will not accept 0-conf and wait for the transaction to be included in a block.