Releases: mbdrivechains/freebank
Release list
FreeBank v0.2.3 — multiwallet change-key fix
Bugfix release — supersedes v0.2.2 (which is affected).
Fix: multiwallet change-key
Every FreeBank transaction builder (discount houses, credit notes, bills of
exchange, term deposits, clearing pools) now reserves its change key and takes its
wallet lock from the wallet the RPC was invoked on — not the first-loaded wallet.
Before this, running freebankd with more than one wallet loaded and operating an
op from a non-first wallet (e.g. -rpcwallet=<name>) sent that op's change to
the first-loaded wallet. Single-wallet use was never affected.
Wallet layer only — no consensus change. Chain state, the sidechain slot, and
activation are identical to v0.2.2.
Verified: unit suite 344/344; a new multiwallet regression test (fails on the old
code, passes here); houses / notes / bills integration gates green; a full credit
loan cycle re-proven end-to-end across separate wallets on signet.
Downloads
| file | platform | notes |
|---|---|---|
freebank-0.2.3-x86_64-linux-gnu.tar.gz |
Linux x86_64 | portable static (depends); glibc ≥ 2.38; BDB 4.8 |
freebank-0.2.3-arm64-apple-darwin.tar.gz |
macOS arm64 | static deps; BDB 4.8 |
SHA256SUMS |
— | sha256sum -c SHA256SUMS |
Both binaries are gated against external library references (no Homebrew or distro
library coupling). Extract and run freebank/bin/freebankd.
Wallet format: v0.2.x wallets use Berkeley DB 4.8 (unchanged from v0.2.2).
FreeBank is experimental, pre-audit software — run it with test coins only
(regtest / testnet / signet).
FreeBank v0.2.2 — portable binaries
Portable binaries
v0.2.1's binaries were coupled to the build machine's libraries — the macOS tarball to Homebrew's dylib paths (that asset was replaced in place on 2026-07-21), and the Linux tarball to Ubuntu 24.04's exact shared-library versions (libboost_*.so.1.83.0 etc.), so it failed to start on Debian, Fedora, or older Ubuntus. v0.2.2 fixes both properly and adds release gates so a non-portable build cannot ship again.
- Linux x86-64 — built against the
depends/system: boost, Berkeley DB 4.8, OpenSSL, libevent 2.1.12, and ZeroMQ are compiled in; libstdc++ is statically linked.lddshows onlylibc/libm/libgcc_s. Requires glibc ≥ 2.38 (Ubuntu 23.10+, Debian 13+, Fedora 39+). - macOS arm64 — statically linked (same approach as the fixed v0.2.1 asset), built by CI from this release's source; references only
/usr/liband/System/Library. - Release gates — every build is checked as the extracted tarball, not the build tree: dependency scan (
ldd/otool -Lmust show only OS-base libraries) plus a boot smoke test, run on macOS with Homebrew removed from the machine.
Wallet-file note: both platforms now use Berkeley DB 4.8 (Bitcoin Core's wallet standard). wallet.dat files created by v0.2.1's Linux build (distro BDB 5.3) are not readable by v0.2.2 — start with a fresh datadir. Experimental pre-audit software; test coins only.
No consensus or protocol change. Chainparams are byte-identical to v0.2.1/v0.2.0 (the locked slot-130 parameter set: magic fb4b1845, port 8455, bech32 fbk, CUSF BlindedM6 bundle format). The only source delta is three build-portability files.
M1 proposal values for this release (supersede all earlier values):
slot: 130
title: FreeBank
version: 0
hash_id_1: b293aa27b2e40dd8afa878ff16af1cde59ca7554d76e81bcb170c82b13674c89
hash_id_2: 2e9bb4ca0d33c29b64154da4e25f393483de4f52
hash_id_1 is the sha256 of the Linux binary tarball; hash_id_2 is the source commit this release was built from (verify with git archive against the source tarball). Both are listed in SHA256SUMS.
macOS quick start (unsigned binary — fetch with curl, not a browser, so Gatekeeper's quarantine flag never attaches):
curl -LO https://github.com/mbdrivechains/freebank/releases/download/v0.2.2/freebank-0.2.2-arm64-apple-darwin.tar.gz
tar -xzf freebank-0.2.2-arm64-apple-darwin.tar.gz
./freebank/bin/freebankd --version
Not yet reproducible/gitian; deterministic builds are planned before mainnet.
FreeBank v0.2.1 — one-click ready, fast cold start
⚠ SUPERSEDED by v0.2.2 (2026-07-21). v0.2.1's Linux tarball requires Ubuntu 24.04's exact shared-library versions and fails to start on other distros; v0.2.2 ships fully portable static binaries for Linux and macOS, and its M1 values supersede the ones below. No consensus change.
FreeBank v0.2.1 — one-click ready, and a much faster cold start
Maintenance release: freebankd now connects to a standard CUSF stack out of the box, and first-run sync against a live chain went from unusable to instant. No consensus changes — network parameters are identical to v0.2.0/v0.1.0 (verified zero-diff).
Cold header-cache sync: 54 minutes → 7 seconds.
Populating the mainchain block-hash cache walked the chain one getblockhash per block. On the enforcer transport that is quadratic — the enforcer indexes blocks by hash, so every height lookup re-walked from the tip — meaning a cold sync of a ~5,900-block signet cost roughly 17,700 gRPC round trips and several GB of parsed JSON. Measured: 54+ minutes without the node ever answering an RPC, degrading quadratically as the chain grows. The walk is now batched (1,000 ancestors per call), which the enforcer answers natively: ~6 calls instead of ~17,700, verified at 7 seconds to the correct tip against live L2L signet. The JSON-RPC transport is call-for-call unchanged.
Other changes:
- Argless defaults. A bare
freebankdnow uses the enforcer transport by default, with the CUSF enforcer gRPC at127.0.0.1:50051and the mainchain node's REST at127.0.0.1:38332— the layout an orchestrated (BitWindow-style) install provides. Every value remains a flag. On regtest the transport still defaults tojsonrpcfor local test harnesses. - Startup REST probe. At boot the node probes the mainchain REST endpoint (retrying for up to 60 s to tolerate an orchestrator starting the mainchain moments earlier) and refuses to start with a clear error if it never answers — replacing a failure mode where a node without working REST would sync happily and then reject its first deposit-bearing block.
- Stable archive layout. The binary tarball now unpacks to
freebank/bin/…(version-independent root; the archive filename keeps the version). - Signet-reset drill documented in
doc/signet.md— test signets get wiped and restarted; the guide now covers challenge rotation, fresh datadirs, and why sidechain activation must be re-seeded after a reset.
Network parameters (unchanged): sidechain slot 130, magic fb4b1845, port 8455, bech32 fbk; the main network pairs with a CUSF-enforcer mainchain (L2L Signet era) and uses the enforcer's BlindedM6 withdrawal-bundle layout. The v0.2.0 M1 proposal values remain valid for this release line.
Binaries: Linux x86-64 (native Ubuntu 24.04 build, commit 8002560) and macOS arm64 (Apple Silicon, built on GitHub Actions from commit 69412a7 — this release plus small build-portability fixes, no functional change; all dependencies statically linked, BDB 4.8).
⚠ 2026-07-21 — macOS asset replaced. The original macOS upload (sha256
0376eb17…) linked Homebrew's shared libraries by absolute path and could not run on any Mac without the builder's exact Homebrew setup. If you downloaded the macOS tarball before 2026-07-21, delete it and re-download. The replacement (sha25637a82653…, listed in SHA256SUMS) is self-contained — it references only macOS system libraries, enforced in CI by anotool -Lgate and a run test executed with Homebrew removed from the build machine. Not yet reproducible/gitian; deterministic builds are planned. Experimental, pre-audit software — test coins only.
macOS quick start (unsigned binary — fetch with curl, not a browser, so Gatekeeper's quarantine flag never attaches):
curl -LO https://github.com/mbdrivechains/freebank/releases/download/v0.2.1/freebank-0.2.1-arm64-apple-darwin.tar.gz
tar -xzf freebank-0.2.1-arm64-apple-darwin.tar.gz
./freebank/bin/freebankd --version
FreeBank v0.2.0 — the credit layer
FreeBank v0.2.0 — the credit layer
Second release. v0.1.0 shipped the peg and the bill-of-exchange primitive; v0.2.0 adds the credit-creation layer on top: discount houses, per-house circulating notes, redemption economics in the Scottish free-banking tradition, term deposits, and on-chain clearing pools.
Proven in this release (regtest, unit + integration gates):
- Discount houses — consensus-enforced house lifecycle: register → topup → admit → exit → winddown → reclaim, with solo, restricted M-of-N, and gated multi-partner tiers.
- Credit notes — per-house note issuance: mint (reserve-gated at mint), person-to-person transfer, redeem at the issuing house, and formal demand.
- Reserve attestation and insolvency — consensus-cadence reserve attestations, proven coin-by-coin against the UTXO set, drive a lazily-derived Stressed/Insolvent status machine; insolvency triggers a pro-rata holder claim waterfall against the escrow pot.
- Redemption economics — the option clause (defer/renew with interest from the date of demand), a consensus demand queue, and dynamic brassage (redemption spread).
- Term deposits — house-issued interest-bearing receipts: originate, transfer, and maturity withdrawal with a consensus interest floor; deposits are subordinated to notes in the insolvency waterfall.
- Clearing pools — constant-product AMM pools for note↔coin swaps with LP shares, plus FLOOR-RETIRE pool teardown so no pool can deadlock its custody.
- Gram denomination — read-side gram display across all FreeBank RPCs plus
getgramrate(launch scale, presentation-only; the consensus unit is unchanged). - Full v0.1.0 peg cycle revalidated against a refreshed CUSF bip300301_enforcer (>= upstream 135115b), including BMM advance, M5 deposits, and M3→M6 withdrawal payout.
Network parameters (unchanged from v0.1.0): sidechain slot 130, magic fb4b1845, port 8455, bech32 fbk; the main network pairs with a CUSF-enforcer mainchain (L2L Signet era) and uses the enforcer's BlindedM6 withdrawal-bundle layout.
M1 proposal metadata for this release:
- Release tarball (Linux x86-64) SHA256:
fb06327a6e1ad2cb763a1171d5b9640dab79b45e766914f5d91ea08d6cb3c021 - Build commit hash:
41e4bd274dce999cac3bd4bf0da0143f28311e58
Binaries are a native Ubuntu 24.04 x86-64 build (not yet reproducible/gitian; deterministic builds are planned). Experimental, pre-audit software — test coins only.
FreeBank v0.1.0 — M1 package
FreeBank v0.1.0 — M1 package release
First public release. FreeBank is a BIP 300/301 credit-creation sidechain: bills of
exchange with a consensus-enforced escrow bond, in the lineage of Scottish free banking.
Proven in this release (regtest, unit + integration gates):
- Full peg cycle on both mainchain transports — BMM advance, M5 deposit crediting, and the
complete withdrawal payout (M3 bundle → M6 payout → funds received on the mainchain),
including against the CUSFbip300301_enforcer(≥ upstream6fdb827). - Bills of exchange lifecycle on-chain: issue → endorse → retire/default, with escrow claim.
Network parameters (locked for this release): sidechain slot 130, magic
fb4b1845, port 8455, bech32 fbk; the main network pairs with a CUSF-enforcer
mainchain (L2L Signet era) and uses the enforcer's BlindedM6 withdrawal-bundle layout.
M1 proposal metadata for this release:
- Release tarball (Linux x86-64) SHA256:
bf955a71e6b73a7d767a5b48cea413fc5d38454f79d9fe33d1271ef22cad4a5c - Build commit hash:
2c266cd0c2a070529d7d13abadf9e6af8b50c4fb
Binaries are a native Ubuntu 24.04 x86-64 build (not yet reproducible/gitian; deterministic
builds are planned). Experimental, pre-audit software — test coins only.