News

A miner picked the transactions in block 955,318

Block 955,318 is the first known block on the live network built with Stratum V2's Job Declaration Protocol. The miner assembled the template, the pool accepted it. For fourteen years the pool did that job.

3 min readMining Protocols
A miner picked the transactions in block 955,318

What happened

Block 955,318 was mined at 10:33 UTC on 25 June 2026, carrying 4,963 transactions. Its coinbase reads /DMND/GM/: the pool was DMND, the miner was GoMining.

The block itself is ordinary. How it was assembled is not. GoMining built the template and declared it to the pool, using Stratum V2's Job Declaration Protocol. It is the first such block anyone has identified on the live network.

What it changes

It separates two jobs that have been welded together since Stratum V1 arrived in 2012.

Under V1, the pool sends each miner a mining.notify message containing the previous block hash, the two halves of the coinbase transaction and the merkle branches for everything else. The miner grinds nonces against that and returns shares. The transaction set arrives already chosen. A miner supplies electricity and silicon, and has no say in what the block contains.

Job Declaration inverts the flow. The miner runs a node acting as a Template Provider, its Job Declarator Client declares the resulting template to the pool's Job Declarator Server, and the pool acknowledges or refuses. The specification states the aim directly: to coordinate the creation of custom work, "avoiding scenarios where Pools are unilaterally imposing work on miners."

The name records the balance of power. The sub-protocol was called Job Negotiation until mid-2023, and was renamed because a pool cannot negotiate a transaction set. It can only accept the job or disconnect, and a refused miner moves to another pool or mines alone.

What it does not change

The pool still gets paid. The spec requires the declaring miner to reserve the first coinbase output for the pool's payout script and to allocate value to it, and describes pools running this protocol as "only responsible for accounting shares and distributing rewards." Custody of earnings, and the risk that comes with it, sits exactly where it did.

Consensus is untouched. This governs how a candidate block is assembled, not what makes one valid. Every node still checks the same rules against the result.

And one block is one block. GoMining used it to include transactions from its own payments product, which is a demonstration rather than a shift in who chooses what the network confirms. The reference applications for Stratum V2 describe themselves as alpha software, and the mining interface in Bitcoin Core that feeds them shipped as experimental.

Context

Stratum V2 was announced in August 2019 by Braiins, then operating Slush Pool, with Matt Corallo, whose earlier BetterHash proposal introduced the idea of miners selecting their own work. The specification defines three sub-protocols: Mining, Job Declaration and Template Distribution.

Bitcoin Core declined to implement it directly. Seven pull requests adding a Stratum V2 Template Provider were closed unmerged between 2023 and 2024. What Core merged instead was a protocol-agnostic mining interface over IPC, released as experimental in version 30.0 on 10 October 2025, leaving the protocol itself outside the node.

Adoption remains thin. Antpool, F2Pool, Foundry, SpiderPool, Block, MARA and DMND joined a Stratum V2 working group in May 2026, which commits none of them to anything. Braiins Pool and DMND are the only two known to be running it in production.

Newsletter

Bitcoin, without the noise

What happened in Bitcoin, what it actually changes, and the sources so you can check us. One issue at a time, straight to your inbox.

  • One email per issue, never a drip campaign
  • No tracking pixels and no shared addresses
  • Unsubscribe from any issue in one click

Get the next issue

One email per issue, no tracking pixels, and unsubscribe from any of them. We do not share your address. Privacy policy