BasicSwap v0.17.8 and v0.17.9: Bitcoin Cash Swap Hardening, Shorter Swap Timeouts, and a Litecoin Core Update | BasicSwap Blog
BasicSwap v0.17.8 and v0.17.9: Bitcoin Cash Swap Hardening, Shorter Swap Timeouts, and a Litecoin Core Update<br>By BasicSwap Team•August 2, 2026<br>NewsReleaseSecurity<br>BasicSwap v0.17.8 and v0.17.9 shipped a day apart, and this post covers both. v0.17.8 hardens Bitcoin Cash swaps and fixes a bug that could leave a BCH swap stuck when it ran on a non-default fee rate. v0.17.9 hardens how long a swap waits on a counterparty, shortens the default timeout, and bumps the Litecoin core to a release that carries important Litecoin security fixes.
The Litecoin core changed, so this is a coin-core update cycle for Litecoin. The GUI stays at 4.0.0, the AMM at 0.5.2, and the database schema at v37, so there is no migration.
⚠️Update to v0.17.9<br>v0.17.8 and v0.17.9 roll up every change below. We recommend everyone update, and Bitcoin Cash and Litecoin users should update promptly. v0.17.8 fixes a bug that could leave a Bitcoin Cash swap stuck, and v0.17.9 pulls in Litecoin core security fixes. v0.17.9 also shortens swap timeouts by default, so if you run swaps, read that section before you update. Installation steps are at the bottom of this post.
Most Notable Updates 💡
Bitcoin Cash Swap Hardening 🩹
On Bitcoin Cash, a swap's redeem and refund paths are governed by an on-chain covenant that requires an exact fee. Those transactions were built from a fee rate rather than a fixed fee, so on any non-default fee rate the covenant's exact-fee requirement was not met and both paths became unbroadcastable once the lock transaction was on chain. A BCH swap in that state could neither complete nor refund without manual work. v0.17.8 fixes the fee to a stable 1000 sat/kB so the covenant's absolute fee is the same across nodes, and it binds the covenant's fee and its signature-check key to the values agreed when the swap was set up, so a counterparty cannot substitute them (commit 8444596, PR #630).
The same release adds a range check on the transaction output values read back during lock, refund, and spend verification, across the Bitcoin-derived coins, Bitcoin Cash, and Decred (commit 20b5201, PR #630). If you run Bitcoin Cash swaps, update to v0.17.8 or later.
Shorter, Fairer Swap Timeouts ⏱️
v0.17.9 changes how long BasicSwap waits on a counterparty's lock transaction in two ways. It now measures that wait from the bid's last state change rather than from the bid's expiry, so a bidder can no longer set a long bid validity period to stretch out how long the other side has to wait (commit 1313f8f, PR #632). And the default and minimum lock-transaction timeout drops to 20 minutes, from several hours, so a stalled counterparty is abandoned sooner. A transposed default and maximum in those timeout settings, which had pinned them to the maximum, was corrected at the same time (commits 6604568, 2fa7f41, PR #632).
ℹ️Swap timeouts are much shorter now<br>The lock-transaction timeout now defaults to 20 minutes rather than several hours. A bid waiting on a counterparty's lock transaction will time out considerably sooner. If you need the previous behaviour, raise sc_lock_tx_timeout in your settings.
Separately, block-count based lock types are now rejected outside of regtest, since they are only meant for testing (commit 435a8d0).
Litecoin Core Update 🔄
v0.17.9 bumps the Litecoin core to v0.21.5.6, an urgent security release from the Litecoin project (commit df9a9cc, PR #633). It hardens Litecoin's MimbleWimble Extension Blocks, the MWEB privacy layer. The release limits how much work a node will do for MWEB light-client requests, so those cannot be used to exhaust it, and it rejects malformed MWEB transactions and pegout kernels before spending effort to verify them. It also adds a consensus rule, activating at Litecoin mainnet block 3,154,440, that rejects a malformed class of MWEB block, so a Litecoin node needs the update to stay in consensus once that height passes. Litecoin recommends every user upgrade, with extra urgency for miners and MWEB service operators.
BasicSwap's swaps use standard Litecoin transactions rather than MWEB, so this does not change how a Litecoin swap works. Running a current, secure Litecoin node still matters, though, especially ahead of that consensus height. If BasicSwap manages your Litecoin core, update it with the core-update step when you upgrade, and do it promptly. If you point BasicSwap at your own Litecoin node, update that node yourself. Litecoin's own notes have the full detail in the v0.21.5.6 release notes.
Smaller Fixes 🧹
The automation's cumulative bid-value cap on reversed offers now works. It had compared a total in one chain's units against the offer amount in the other's, so the cap never triggered; it now compares like for like (commit 87477ff, PR #634).
Queued actions are more resilient. A bid acceptance that hits a transient error is now retried...