Skip to content

Releases: PoC-Consortium/satchel

Satchel v0.1.0-rc1

22 Jun 10:28

Choose a tag to compare

Satchel v0.1.0-rc1 Pre-release
Pre-release

First public release candidate. Satchel is a self-custody desktop app for
peer-to-peer atomic swaps — trade coins directly with another person, no
exchange, no custodian, no order matched on your behalf. You connect your own
nodes; your keys and funds never leave your machine.

This is a release candidate for testing. It runs on mainnet, but treat it as
alpha software: trade small, expect rough edges, and report anything odd.


What's in the box

A single installer per platform bundles the Satchel desktop app plus the pactd
swap engine and pact-cli:

  • Windows.msi / NSIS installer
  • Linux.AppImage / .deb
  • macOS — Apple Silicon (aarch64) and Intel (x86_64) .dmg

Highlights

  • Two swap protocols, both live
    • v1 HTLC — classic hash-timelock swaps (CLTV + SegWit v0)
    • v2 Taproot / MuSig2 adaptor — "Private (Taproot)" swaps that look like
      ordinary single-sig spends on-chain
  • Bring your own node — connect your own btcx / btc / ltc nodes; the
    genesis block is verified before anything is saved, so funds can only ever
    touch the chain you intend
  • Pluggable coins — Bitcoin PoCX (BTCX), Bitcoin (BTC) and Litecoin (LTC) out
    of the box; add more by editing coins.toml next to the app, no recompile
  • Two boards — the operator-hosted Corkboard and decentralized Nostr
    relays
    , with a Relays tab to manage your own
  • Offers that survive a restart — a clean shutdown soft-de-lists your offers
    and re-advertises the still-valid ones on boot; your own offers show on the
    board instantly while a relay echoes them back
  • Redesigned offer form — canonical pair + Sell/Buy with an invariant
    quote-per-base price
  • Adaptive fee policy — a funding-fee-bump "nurse" (RBF on v1, CPFP on v2)
    rescues swaps from fee spikes, configurable per merchant on the new Fees page
  • Per-coin wallet scoping — each coin shows which node wallet it's bound to
  • 8-decimal fee precision, auto-funding swaps, rolling pactd.log + per-swap log
    dumps for diagnostics

Installation notes

The binaries are not yet code-signed:

  • macOS — Gatekeeper will warn; right-click → Open, or allow it under System
    Settings → Privacy & Security.
  • Windows — SmartScreen may warn; choose "More info" → "Run anyway".

Signing/notarization is on the roadmap.

Known limitations

  • No external cryptographic audit yet — the protocols have been internally
    reviewed only.
  • You must run your own full nodes; there is no built-in light/nodeless wallet yet.

⚠️ Disclaimer

Satchel performs non-custodial atomic swaps: you alone hold your keys and your
recovery phrase, and you alone are responsible for the security of your funds and
the machine the software runs on. The project does not operate an exchange, take
custody of funds, match orders, or provide investment advice. MIT-licensed and
provided "as is", without warranty of any kind — back up your recovery phrase
and use at your own risk.

Full commit: 90fd55d

Satchel v0.1.0-alpha - regtest tech demo

18 Jun 05:23

Choose a tag to compare

Meet Satchel 🎒

Satchel is a trustless, non-custodial way to swap BTCX ⇄ BTC directly with another person — no exchange, no custody, no accounts, no fees. You post or browse offers on a shared noticeboard (or over Nostr relays), pick one, and the swap settles atomically on-chain: either both legs complete, or neither does.

What's in the box

  • 🤝 Atomic swaps — HTLC (v1) and Taproot/MuSig2 adaptor (v2, which looks like a plain Taproot spend on-chain).
  • 📌 Corkboard — a noticeboard, not an exchange: humans pick offers, no order matching, no execution, no fees.
  • 🛰️ Nostr transport — offers travel over relays, no central server required.
  • 🤫 Private offers — trade off-market with a friend via a pasteable, signed "slip" — nothing ever hits the public board.
  • 🖥️ Desktop app and full CLI — the Satchel GUI rides on the pactd daemon; everything is scriptable through pact-cli.
  • 🔑 Non-custodial — your keys, your nodes; proceeds sweep straight to your own wallet.

Try the regtest demo (attached below)

A one-command, self-contained demo — local regtest chains + a Nostr relay + two bots posting a live two-sided book. You trade as "Alice." Close the window and the whole stack tears itself down.

  • 🪟 Windows: satchel-demo-x86_64-windows.zip — unzip, run Run-Demo.cmd.
  • 🐧 Linux: satchel-demo-x86_64-linux-gnu.tar.gz — extract, ./run-demo.sh (needs libwebkit2gtk-4.1-0).

⚠️ Experimental alpha — regtest only, not real funds. The v2 (Taproot) swap path is unaudited. This is a tech demo of the workflow, not a production release.