Not live. SwapSha is in testing on testnet4. It has not been audited. Do not send real funds.

SwapSha

Swap Bitcoin across the fork.

SwapSha trades SHA-256 Bitcoin (BTC) for BLAKE2b-chain Bitcoin (XBT), and back, without anyone holding your coins in between. It is open source and built on a fork of Boltz.

What SwapSha does

The BLAKE2b chain forked from Bitcoin at block 961,640. Since then the two chains have run separately, and moving value from one to the other usually means handing coins to an exchange or a person and waiting. SwapSha uses two time-locked contracts instead, one on each chain, tied to the same secret.

Non-custodial

Your coins are locked in a hash time-locked contract (HTLC), never in a SwapSha wallet. You get a rescue file before you fund, so you can take a refund yourself if the provider goes offline.

Atomic

Both contracts are claimed with the same secret. Claiming your side reveals it, which lets the provider claim theirs. If the swap stalls, each side refunds after its timeout.

Replay-protected

Every signature SwapSha makes on the BLAKE2b chain uses SIGHASH_UNIFIED (0x21), which the SHA-256 chain rejects. Before locking anything, SwapSha checks whether your funding transaction could be replayed onto the other chain, and refuses the swap if it could.

Open source

SwapSha is a public fork of the Boltz backend and web app under AGPL-3.0. Every change is published, so anyone can read it, run it, or check it.

How a swap works

Here is BTC to XBT. The reverse direction runs the same steps with the chains swapped.

BTCSHA-256 chain
One secret links both contracts. You hold it until step 5.
XBTBLAKE2b chain
1QuoteRequest a quoteAmount and your XBT receive address. Save the rescue file.
2BTC chainYou lock BTCInto an HTLC only you can refund, after a longer timeout.
3Both chainsReplay checkSwapSha confirms your funding can't be replayed onto the BLAKE2b chain.
4XBT chainProvider locks XBTInto an HTLC for you, with a shorter timeout.
5XBT chainYou claim XBTSigned with 0x21. Claiming reveals the secret.
6BTC chainProvider claims BTCUsing the secret you revealed. Swap complete.

If the provider disappears

Wait out your timeout and refund your BTC with the rescue file. You don't need the provider's help or permission.

If you never claim

The provider's lock expires first and refunds to the provider. Your lock expires later and refunds to you.

Coins from before the fork

Coins you held before August 30, 2026 exist on both chains, and spending them on one chain can move them on the other. SwapSha flags these and won't lock its side.

Roadmap

SwapSha ships in phases. Each one has to pass its exit tests before the next begins. Mainnet stays switched off in the code until Phase 5.

  1. 1On-chain swap engine

    Testing on testnet4

    Chain swaps in both directions, with no Lightning. Every test passes on regtest:

    • BTC to XBT and XBT to BTC
    • Both refund paths, yours and the provider's
    • Recovery after the engine is killed mid-swap
    • Replay protection and the pre-fork coin checks
  2. 2Lightning swaps

    Planned

    Swaps with a Lightning leg on one or both sides, using hold invoices.

  3. 3StartOS package

    Planned

    SwapSha as a service for Start9 servers, running against your own nodes, with an operator dashboard and backups.

  4. 4Swaps in Crossbill

    Planned

    A Swaps tab in the Crossbill iPhone wallet. The app checks the contracts itself and can refund even when the provider is offline.

  5. 5Mainnet, small and slow

    Planned

    Real swaps with low limits on a self-hosted node. Limits rise only after an independent review of the contract and signing code.

  6. 6Public web app

    After Phase 5

    A public swap page at swapsha.com. Work on this starts only after Phase 5 is complete.