Skip to content

Releases

v1.3.2-DIMEBAG

Choose a tag to compare

@github-actions github-actions released this 10 Nov 09:52

Release v1.3.2-DIMEBAG of midwimble.

NVIDIA GPUs that mine, and a faster CPU miner. No consensus change: this is
v1.3-DIMEBAG's chain, with Midstate Walk from block 37,300 and midstate's
from 371,500. Nodes that only follow the chain need not upgrade. Anyone
mining should, and anyone with an NVIDIA GPU must, to mine on it at all.

NVIDIA GPUs mine the Walk

v1.3.1-DIMEBAG's CUDA miner computed every walk wrong, on every NVIDIA GPU.
Its self-test caught it, so no GPU mined bad work: each one was refused with
"got a known answer wrong", and the node mined on its CPU alone.

The GPU code ships as PTX, compiled ahead of time with clang. Clang 18
compiled the walk's 64-bit rotate to two 64-bit shifts without first reducing
the amount mod 64, and PTX turns a shift of 64 or more into zero, so the
rotate came out 0 almost every time. This release carries midstate's fixed
PTX, which builds the rotate from 32-bit shifts. Midstate's CI now runs the
compiled PTX itself on a CPU, instruction by instruction, against the known
answers. The broken PTX gives exactly the wrong hash the first GPU reported,
and the fixed one gives every known answer.

On a Quadro M6000, the fixed miner does 819 attempts/s beside the CPU.

A faster CPU miner

A Walk step spends most of its time waiting for its read from the 256 KiB
pad. A CPU thread can step walks of other nonces in turn and fill those
waits, as long as their pads still fit the core's caches. Whether they do
depends on the CPU, so the miner measures it:

  • Before its first Walk job, the CPU miner times 1 to 4 walks per thread on
    all its threads (about 6 s, once per run). It checks the known answers that
    way, mines with the fastest, and logs the rates:
    Midstate Walk: attempts with 1 to 4 walks per thread on 12 threads: 1: 1630/s, 2: 1793/s, 3: 1645/s, 4: 1355/s; mining with 2
  • MINER_WALKS_PER_THREAD=1 to 4 sets it instead.
  • With one walk per thread, the step itself is written faster: about 5% on
    a Raspberry Pi 5 and on x86.
CPU Walks per thread chosen Against v1.3.1-DIMEBAG
Raspberry Pi 5, 4 threads 1 about +3.5% (1,490 to 1,542 attempts/s)
Xeon E5-1650 v3, 12 threads (256 KiB of L2 a core) 2 about +10% over one walk per thread
A 2-core cloud Xeon (2 MiB of L2 a core) 3 +89% (about 600 to 1,132 attempts/s)

The more cache a core has, the more it gains. Zen 4 and Zen 5 cores have
1 MiB of L2, and should gain too; none has been measured here yet.

Each hash is exactly its nonce's walk. Every way of writing the step, at 1 to
4 walks per thread, is tested against the known answers in every slot, and
against the reference step over 6,000 random programs.

The node's miner, pool-mine, merge-mine and the CUDA miner's CPU threads
all mine this way.

Upgrading

  • Miners with an NVIDIA GPU: upgrade to mine on it. midwimble gpu-info
    checks each card against the known answers.
  • Other miners: upgrade for the speed. Run --backend cpu or
    MINER_DISABLE_GPU=1 if the GPU also drives your display and mining makes
    the desktop stutter.
  • Everyone else: optional. v1.3-DIMEBAG and v1.3.1-DIMEBAG follow the same
    chain.

Built --release --features webrtc,gpu from commit 05f94ce25c407375537a18b22fd3b3628db45d4d. Each archive holds one midwimble binary — node, wallet, pool, merged miner and anchoring — with LICENSE and README.

Download Platform
midwimble-v1.3.2-DIMEBAG-x86_64-unknown-linux-gnu.tar.gz Linux x86-64
midwimble-v1.3.2-DIMEBAG-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 — Raspberry Pi 3 / 4 / 5 on a 64-bit OS
midwimble-v1.3.2-DIMEBAG-x86_64-apple-darwin.tar.gz macOS (Intel)
midwimble-v1.3.2-DIMEBAG-aarch64-apple-darwin.tar.gz macOS (Apple Silicon)
midwimble-v1.3.2-DIMEBAG-x86_64-pc-windows-msvc.zip Windows x64
midwimble-v1.3.2-DIMEBAG-aarch64-pc-windows-msvc.zip Windows on ARM

Verify with sha256sum -c SHA256SUMS.txt (checksums attached).

v1.3.1-DIMEBAG

Choose a tag to compare

@github-actions github-actions released this 09 Nov 02:12

Release v1.3.1-DIMEBAG of midwimble.

Two additions for producers and pools. No consensus change: this is
v1.3-DIMEBAG's chain, with Midstate Walk from block 37,300 and midstate's
from 371,500. Nodes that only follow the chain need not upgrade. A pool
that wants to take co-bonds, or a miner with an NVIDIA GPU, does.

Co-bonds while the node runs

A pool's midwimble blocks count in full only while enough bonds stand behind
its hashrate, so its capacity grows with the co-bonds locked on its mining
key. Until now a co-bond reached a node only as a file loaded at startup, and
its registration proof aged out within a day or two.

A node started with --mining-bond now takes co-bonds while it runs, from no
more than the coin:

  • GET /co-bonds returns the node's mining key, its own bond's id, and its
    co-bonds with their progress.
  • POST /co-bonds takes {script, value, salt} and hands one in.

The node takes only a bond on its own key whose coin is on midstate. The bond
must hold what a new one must, be locked long enough to count, and be within
the one-year horizon. The node then registers it itself, through its
--midstate-rpc, as midwimble bond register would:

  • it takes a proof of the coin;
  • it waits for a day of work above the proof;
  • its next blocks carry the registration;
  • it takes a fresh proof whenever the relay is about to pass the old one.

It signs with each co-bond once it is ready, and keeps them in co-bonds.json
in its data directory. --co-bond files work as before.

The RPC stays loopback-only. midstate pool (v6.4.0) publishes the key and
takes hand-ins at /pool/api/co-bonds, and can pay co-bonders. Midstate's
desktop wallet co-bonds with a pool by its address. See docs/BONDED_POW.md
and docs/POOL_MERGED_MINING.md.

Midstate Walk on NVIDIA GPUs

In a gpu build (the release binaries), the node's miner, pool-mine and
merge-mine mine Midstate Walk on CUDA GPUs, beside the CPU or instead of it:

  • --backend auto|gpu|cpu;
  • MINER_CUDA_DEVICES picks GPUs, and MINER_CUDA_WALKS sizes their batches;
  • gpu-info lists the GPUs and checks each against the known answers.

The NVIDIA driver is loaded when mining starts, so a machine without one mines
on its CPU as before. Every hash a GPU reports is checked on the CPU before it
becomes a share or a block.

Upgrading

  • Pools that merge-mine and want co-bonds: run this release on the
    midwimble node, with --mining-bond and --midstate-rpc, behind
    midstate pool v6.4.0. Keep the node's RPC on loopback.
  • Everyone else: optional. v1.3-DIMEBAG follows the same chain.

Built --release --features webrtc,gpu from commit c182986d57663a6f9cfdfe27dfde03f6dea065a9. Each archive holds one midwimble binary — node, wallet, pool, merged miner and anchoring — with LICENSE and README.

Download Platform
midwimble-v1.3.1-DIMEBAG-x86_64-unknown-linux-gnu.tar.gz Linux x86-64
midwimble-v1.3.1-DIMEBAG-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 — Raspberry Pi 3 / 4 / 5 on a 64-bit OS
midwimble-v1.3.1-DIMEBAG-x86_64-apple-darwin.tar.gz macOS (Intel)
midwimble-v1.3.1-DIMEBAG-aarch64-apple-darwin.tar.gz macOS (Apple Silicon)
midwimble-v1.3.1-DIMEBAG-x86_64-pc-windows-msvc.zip Windows x64
midwimble-v1.3.1-DIMEBAG-aarch64-pc-windows-msvc.zip Windows on ARM

Verify with sha256sum -c SHA256SUMS.txt (checksums attached).

v1.2.2-DIMEBAG

Choose a tag to compare

@github-actions github-actions released this 03 Nov 06:31

Release v1.2.2-DIMEBAG of midwimble.

An update for every node, pool and producer, so that the whole network
replaces over-cap blocks the same way and follows the chain that results.
Consensus is v1.2-DIMEBAG's: from block 86,400 the proof of work is
Midstate Walk, and nothing in this release changes what a valid block is.

Upgrade every node. A node on v1.2.1-DIMEBAG or earlier cannot follow a
chain that replaced a long run of over-cap blocks (below), and bans the peer
that offers it.

Over-cap blocks are replaced

While the tip is a run of other producers' over-cap blocks, a node now builds
on the block before the run: its own miner's blocks, and the templates
/mining/template and /merge/job hand out. A block there that counts in
full outweighs the whole run (an over-cap block weighs 1/1024 of its work),
so it replaces it. The run's blocks pay nothing, pay and fees alike, and the
replacement carries their transactions again. Past its bonds' share of the
window, a producer's blocks are replaced, not just tapered: what keeps them is
enough bonds for its hashrate.

  • How far back: at most the latest 12 blocks of a run by default, which
    nodes on earlier releases can follow. midwimble node --max-orphan-depth N
    takes it up to 100 once the network has upgraded.
    --no-orphan-over-cap keeps a node on the tip.
  • Templates say where they build: prev_hash, and orphans (how many
    blocks the template's block would replace). "orphan_over_cap": false
    keeps a template on the tip; the midwimble pool asks for that. /state
    reports orphaning.
  • The explorer marks over-cap blocks and counts each block's full-weight
    confirmations: the blocks from it to the tip that counted in full. A
    payment is settled by those. A block with none can still be replaced,
    however many confirmations it has.
  • docs/BONDED_POW.md, "Orphaning over-cap blocks", has the details.

Nodes follow a heavier chain that is shorter

A replacement leaves a chain that is heavier but shorter. A node offered a
heavier chain asked for headers from 16 blocks below its own tip, so when a
replaced run was longer than that, it asked past the peer's tip. The peer
had no headers there and answered with none. The node struck it for not
backing its claim, and banned it at the third strike, for an hour and
longer on repeats. A seed that replaced long runs was cut off by every node
still on them. A node now asks from below the shorter of the two tips, and
an empty answer past the tip a peer claimed is no longer a strike.

Also

  • Bond proofs refresh themselves: midwimble bond register takes a fresh
    proof once the saved one's midstate header has left the relay's window, is
    within an hour of leaving it, or is no longer midstate's header at that
    height, and prints how long a proof can register for. --fresh-proof
    forces one. GET /relay reports burial_headers and relay_window.
  • Burn tracker: the explorer's #/burn page and GET /explorer/burn
    total what over-cap bonds left unminted, with a leaderboard by bond.
  • For midstate's wallet: the core exposes the signature challenges and
    wallet-key bytes that MDS ⇄ MDW swaps sign with.

Built --release --features webrtc,gpu from commit ea1ee330591a939dff39d0e011d5a6ab5ad8daaa. Each archive holds one midwimble binary — node, wallet, pool, merged miner and anchoring — with LICENSE and README.

Download Platform
midwimble-v1.2.2-DIMEBAG-x86_64-unknown-linux-gnu.tar.gz Linux x86-64
midwimble-v1.2.2-DIMEBAG-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 — Raspberry Pi 3 / 4 / 5 on a 64-bit OS
midwimble-v1.2.2-DIMEBAG-x86_64-apple-darwin.tar.gz macOS (Intel)
midwimble-v1.2.2-DIMEBAG-aarch64-apple-darwin.tar.gz macOS (Apple Silicon)
midwimble-v1.2.2-DIMEBAG-x86_64-pc-windows-msvc.zip Windows x64
midwimble-v1.2.2-DIMEBAG-aarch64-pc-windows-msvc.zip Windows on ARM

Verify with sha256sum -c SHA256SUMS.txt (checksums attached).

v1.3-DIMEBAG

Choose a tag to compare

@github-actions github-actions released this 03 Nov 21:33

Release v1.3-DIMEBAG of midwimble.

A hard fork that brings Midstate Walk forward, released alongside midstate's
v6.2.0 "Anselmo". From block 37,300 instead of 86,400, midwimble's proof
of work is Midstate Walk, and midstate headers follow midstate's new switch at
its block 371,500 instead of 420,000.

Every node must upgrade before block 37,300. It is expected between about
9 November 2026, 22:45 UTC, and 10 November, 10:40 UTC, depending on block
times, and a few hours before midstate's switch. A node on v1.2-DIMEBAG to
v1.2.2-DIMEBAG still expects the BLAKE3 chain until 86,400, so it rejects the
first Walk block. It would also reject relayed midstate headers and anchor
evidence from midstate block 371,500 on.

What changes

  • The switch: WALK_ACTIVATION_HEIGHT is 37,300. Blocks below it keep the
    BLAKE3 chain, so syncing from genesis works as before.
  • Midstate's switch is mirrored at its new height:
    MIDSTATE_WALK_ACTIVATION_HEIGHT is 371,500, matching midstate v6.2.0.
  • Nothing else moves: the Walk, both 8× resets (WALK_TARGET_SHIFT and
    MIDSTATE_WALK_TARGET_SHIFT), and v1.2.2-DIMEBAG's replacing of over-cap
    blocks are unchanged.
  • The web wallet counts down to block 37,300, and the site and guides give
    the new heights.

Mining

  • Merged mining pauses between the two switches: from midwimble's block
    37,300 until midstate reaches 371,500, the merge pool mines midstate alone
    and bonded miners carry midwimble. merge-mine and the pool resume merging
    by themselves once both chains take the Walk.
  • Pools that merge-mine need this release on their midwimble node and
    midstate v6.2.0 on their midstate node, before block 37,300.
  • Solo miners need a midstate node on v6.2.0 or later too: an older one
    follows a chain the network leaves at 371,500.

Built --release --features webrtc,gpu from commit 5a667d09643ec99a4108994c79ac55bbae1dc9a1. Each archive holds one midwimble binary — node, wallet, pool, merged miner and anchoring — with LICENSE and README.

Download Platform
midwimble-v1.3-DIMEBAG-x86_64-unknown-linux-gnu.tar.gz Linux x86-64
midwimble-v1.3-DIMEBAG-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 — Raspberry Pi 3 / 4 / 5 on a 64-bit OS
midwimble-v1.3-DIMEBAG-x86_64-apple-darwin.tar.gz macOS (Intel)
midwimble-v1.3-DIMEBAG-aarch64-apple-darwin.tar.gz macOS (Apple Silicon)
midwimble-v1.3-DIMEBAG-x86_64-pc-windows-msvc.zip Windows x64
midwimble-v1.3-DIMEBAG-aarch64-pc-windows-msvc.zip Windows on ARM

Verify with sha256sum -c SHA256SUMS.txt (checksums attached).

v1.2.1-DIMEBAG

Choose a tag to compare

@github-actions github-actions released this 30 Oct 07:08

Release v1.2.1-DIMEBAG of midwimble.

A fix for the Linux x86-64 download, and the node's side of mining in the
browser. Consensus is v1.2-DIMEBAG's: from block 86,400 the proof of work
is Midstate Walk, and every node must run v1.2-DIMEBAG or later before then.

The Linux x86-64 binary starts again

v1.2-DIMEBAG's and v1.1.2-WONKABURN's Linux x86-64 binaries were built on
GitHub's ubuntu-latest, which moved to Ubuntu 26.04, and need glibc 2.43. On
Debian 13, Ubuntu 24.04 and anything older they stop with "version
`GLIBC_2.43' not found". This one is built on Ubuntu 24.04 and needs glibc
2.39 at most, and the build now stops if a Linux binary needs anything newer.
The ARM64 (Raspberry Pi) binaries were built on Ubuntu 24.04 all along and
were fine.

Mining in the browser

  • The web wallet mines: its Mine page (wallet/#/mine) mines through the
    merge-mining pool for the wallet's own address, one tap from the welcome
    screen, with a countdown to the Walk and an earnings estimate. Pools need
    midstate v6.0.1 to take miners who give only a midwimble address.
  • /merge/job says what the block mints (reward), which the pool
    passes on for that estimate.

Built --release --features webrtc,gpu from commit 029f4b793c6732df294c2b3d3de4183668e32c7f. Each archive holds one midwimble binary — node, wallet, pool, merged miner and anchoring — with LICENSE and README.

Download Platform
midwimble-v1.2.1-DIMEBAG-x86_64-unknown-linux-gnu.tar.gz Linux x86-64
midwimble-v1.2.1-DIMEBAG-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 — Raspberry Pi 3 / 4 / 5 on a 64-bit OS
midwimble-v1.2.1-DIMEBAG-x86_64-apple-darwin.tar.gz macOS (Intel)
midwimble-v1.2.1-DIMEBAG-aarch64-apple-darwin.tar.gz macOS (Apple Silicon)
midwimble-v1.2.1-DIMEBAG-x86_64-pc-windows-msvc.zip Windows x64
midwimble-v1.2.1-DIMEBAG-aarch64-pc-windows-msvc.zip Windows on ARM

Verify with sha256sum -c SHA256SUMS.txt (checksums attached).

v1.2-DIMEBAG

Choose a tag to compare

@github-actions github-actions released this 30 Oct 01:18

Release v1.2-DIMEBAG of midwimble.

Dimebag, after Pantera's "Walk", is released alongside midstate's v6.0.0
"Anselmo". It is a hard fork. From block 86,400, midwimble's proof of work
is Midstate Walk, the one midstate takes at its block 420,000.

Every node must upgrade before block 86,400, which is expected around
mid-December 2026, a few hours before midstate's switch. A node on an earlier
release rejects the first Walk block.

What changes

  • The Walk: blocks from 86,400 carry a Midstate Walk proof, natively and
    merged. The Walk code is shared with midstate (src/core/walk.rs) and
    reproduces its golden vectors.
  • Sync: blocks below 86,400 keep the BLAKE3 chain, so syncing from genesis
    works as before.
  • Difficulty: at the switch the target eases 8× (WALK_TARGET_SHIFT = 3),
    and ASERT takes over from there.
  • Midstate's switch is mirrored: relayed midstate headers and anchor
    evidence from midstate block 420,000 on are checked as Walk proofs, with
    midstate's 8× reset. MIDSTATE_WALK_ACTIVATION_HEIGHT and
    MIDSTATE_WALK_TARGET_SHIFT must match midstate v6.0.0.

Mining

  • Merged mining pauses between the two switches. A merged block counts
    only if it carries the proof of work its height asks for. From midwimble's
    block 86,400 until midstate reaches 420,000, a few hours later, the merge
    pool mines midstate alone and bonded miners carry midwimble. merge-mine and
    the pool resume merging by themselves once both chains take the Walk.
  • Algorithm by height: midwimble node --mine-to, merge-mine, and the
    pool and its spot checks all follow the height.
  • GPU backend: --backend gpu mines the Walk on the CPU, because the GPU
    kernel is the BLAKE3 chain's.
  • Templates: /mining/template and /merge/job carry pow
    ("blake3-chain" or "walk").
  • Hardware: a Raspberry Pi 5 is the smallest machine that mines the Walk
    well, because it has AES instructions. Pi 3 and Pi 4 builds still run full
    nodes.

Also

  • Header sync requires consecutive heights, and checks each header's proof of
    work with the algorithm for its height.
  • Orphans near either switch are accepted with either algorithm until they can
    be placed.

Built --release --features webrtc,gpu from commit f354b94b8576ca255829e07cede2f3ca59dd0185. Each archive holds one midwimble binary — node, wallet, pool, merged miner and anchoring — with LICENSE and README.

Download Platform
midwimble-v1.2-DIMEBAG-x86_64-unknown-linux-gnu.tar.gz Linux x86-64
midwimble-v1.2-DIMEBAG-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 — Raspberry Pi 3 / 4 / 5 on a 64-bit OS
midwimble-v1.2-DIMEBAG-x86_64-apple-darwin.tar.gz macOS (Intel)
midwimble-v1.2-DIMEBAG-aarch64-apple-darwin.tar.gz macOS (Apple Silicon)
midwimble-v1.2-DIMEBAG-x86_64-pc-windows-msvc.zip Windows x64
midwimble-v1.2-DIMEBAG-aarch64-pc-windows-msvc.zip Windows on ARM

Verify with sha256sum -c SHA256SUMS.txt (checksums attached).

v1.1.2-WONKABURN

Choose a tag to compare

@github-actions github-actions released this 27 Oct 05:23

Release v1.1.2-WONKABURN of midwimble.

⚠️ Mandatory upgrade before 2026-10-31 00:00 UTC. This release changes consensus at the mainnet switch. Every node — bond holders, pools, explorers, gateways — must run it by then, or it will reject tapered blocks and fork off on the old rules. v1.1-WONKABURN and v1.1.1-WONKABURN are superseded: do not run them.

🔁 Re-cut 2026-10-28. The archives first published under this tag, built from 73f395a, also widened the fork-choice cap windows — CAP_WINDOW to a week and CAP_K to 720. Those windows are not gated on the block timestamp, so changing them re-weighs every block already on the chain: a node running that build rejected the live chain at its own tip and banned its peers. The change has been reverted and the windows now match v1.1.1 exactly. If you downloaded this release before 2026-10-28, replace your binary and check it against the checksums below.

What changes

Over-cap reward taper (from 2026-10-31 00:00 UTC)

  • A bond that has signed n of the last 1,440 blocks against a cap of cap mints only reward × cap / n of a block's subsidy, rounded down. Fees are always paid in full.
  • What the taper withholds is never minted by anyone. It is a burn, not a redistribution, so the scheduled supply is now a ceiling the real supply sits under.
  • Earning the full reward means spreading hashrate over enough bonds. A producer with a share s of the hashrate needs about 360 × s of them — and a margin above that is worth buying, because over a 1,440-block window a producer bonded exactly at its floor gives up part of its pay to ordinary luck. Roughly 15–20% more bonds covers it.
  • Blocks past the cap stay valid but add only 1/1024 of their work to fork choice. While fewer than 360 bonds are eligible, they share the window equally.
  • Nodes record what each block actually minted. The explorer shows minted and withheld amounts per block, a mints column on the bonds page, and supply as minted vs withheld.

Bond-size retarget (from 2026-11-30 00:00 UTC)

  • What a new bond must lock follows midwimble's own difficulty. It doubles for every 16-fold rise in midwimble's work since genesis, from 128 gMDS up to a ceiling of 512 gMDS. There is no oracle; it reads the chain's own target.
  • It applies to registrations only. A bond already registered keeps the price it registered at until its lock ends, so nothing is stranded.
  • midwimble bond register checks the chain's current figure before you lock. /bonds and the explorer show the current minimum, the floor and the ceiling.

Smaller fixes

  • Bond amounts in the explorer are shown in gMDS.
  • CLI and docs wording updated for the new rules.

The cap windows are unchanged from v1.1.1, so fork choice weighs the existing chain exactly as it did before. No new snapshot format and no change to the bond set's leaf.

Upgrade

  1. Stop your node: systemctl stop midwimble (or however you run it).
  2. Back up the old binary, then swap in the new one from the archive below.
  3. Start it and check the logs. After the switch, your bond's mints column on the explorer should read below 100% only if you're over your cap.

Downloads

Built --release --features webrtc,gpu from commit c0b862db3b39ce61aa7c8854dfb3abc10e70b9fd. Each archive holds one midwimble binary — node, wallet, pool, merged miner and anchoring — with LICENSE and README.

Download Platform
midwimble-v1.1.2-WONKABURN-x86_64-unknown-linux-gnu.tar.gz Linux x86-64
midwimble-v1.1.2-WONKABURN-aarch64-unknown-linux-gnu.tar.gz Linux ARM64 — Raspberry Pi 3 / 4 / 5 on a 64-bit OS
midwimble-v1.1.2-WONKABURN-x86_64-apple-darwin.tar.gz macOS (Intel)
midwimble-v1.1.2-WONKABURN-aarch64-apple-darwin.tar.gz macOS (Apple Silicon)
midwimble-v1.1.2-WONKABURN-x86_64-pc-windows-msvc.zip Windows x64
midwimble-v1.1.2-WONKABURN-aarch64-pc-windows-msvc.zip Windows on ARM

Verify with sha256sum -c SHA256SUMS.txt (checksums attached).