Asset Swap States
Cancellation races fulfillment. A spend discovered during cancellation may be
a successful fill rather than an error.
RFQ Wire States
The client-side
RfqSwapManager monitors funded swaps from chain evidence
with its own states rather than consuming these wire states; its failed
outcome is client-side reporting.
Product Outcomes
Applications should translate protocol state into route-specific user language:
Avoid presenting
funded, filling, or settled without explaining what the
user can safely do next.
Persistence Requirements
Persist recovery data before the route’s first enforceable commitment. At a minimum, retain:- route;
- swap identifier or RFQ identifier;
- encoded terms and verified solver identity;
- derived script or contract data;
- funding transaction identifier;
- expiry and refund timing;
- wallet-owned key or preimage derivation data;
- destination-network identifiers required for reconciliation.
Reconciliation Order
When local and remote state disagree:- Inspect the locally derived contract and its spend history.
- Inspect destination-network evidence such as the Lightning payment or onchain HTLC.
- Validate terminal receipts returned by the solver.
- Use relay or solver status only as a hint.
- Attempt recovery only after classifying existing spends.
Restart Behavior
On restart, restore registered contracts and persisted records before starting live subscriptions. Reconcile existing terminal evidence before enabling automatic claim, cancellation, or refund actions.Settlement Profiles
See who commits, claims, and recovers in each corridor direction.
Trust and Limitations
Understand which evidence and contract paths carry authority.