-
Notifications
You must be signed in to change notification settings - Fork 4
Track: Add chain swap (ARK ↔ BTC) support via Boltz — parity with rust-sdk #57
Copy link
Copy link
Open
Description
SDK Parity Tracking Issue
Source: rust-sdk#200 merged 2026-04-01 — adds BTC↔ARK chain swap support via Boltz to ark-client.
Background
The rust-sdk now supports a third Boltz swap type alongside submarine and reverse submarine swaps:
- ARK → BTC: Lock a VHTLC on Ark; Boltz claims it and locks BTC; user claims BTC via MuSig2 HTLC
- BTC → ARK: Send on-chain BTC to a Boltz HTLC; Boltz locks a VHTLC on Ark; user claims the VHTLC
Both flows use the Boltz v2 chain swap API (POST /v2/swap/chain). The TypeScript reference implementation is in boltz-swap/src/arkade-swaps.ts.
New Types (rust-sdk public API, needs dotnet-sdk equivalent)
ChainSwapAmount
ChainSwapData
ChainSwapDirection // ArkToBtc { btc_address } | BtcToArk
ChainSwapResult
SwapStatusInfo // unified status across all 3 swap types
SwapType // Submarine | Reverse | Chain | UnknownNew Methods (rust-sdk, needs dotnet-sdk equivalent)
CreateChainSwap()
WaitForChainSwapServerLockup()
ClaimChainSwap() // Claim on-chain BTC (ARK→BTC)
ClaimChainSwapBtc()
RefundChainSwap() // Refund VHTLC (ARK→BTC timeout)
RefundChainSwapBtc()
GetSwapStatus() // Now covers all 3 swap types
References
- rust-sdk PR: Feat/chain swaps rust-sdk#200
- rust-sdk issue: Chain swap via Boltz rust-sdk#187
- TypeScript reference: https://github.com/arkade-os/boltz-swap/blob/main/src/arkade-swaps.ts
- Recovery path (open): Missing recovery path for pending VHTLC transactions (recoverPendingVHTLCTxs) boltz-swap#98
Opened by Arkana cross-repo impact analyzer
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels