Definition
The Job Declaration Protocol is the part of Stratum V2 that returns transaction-selection power to the people running the hardware. Under legacy Stratum V1, the pool unilaterally decides which transactions go into the block; the miner only contributes hashrate. The Job Declaration Protocol breaks that arrangement by letting the miner declare a custom block template to the pool and have it honoured, which the specification describes as a key feature for improving Bitcoin's decentralization.
Client and server roles
Two components cooperate. The Job Declarator Client (JDC) runs on the miner side: it receives templates from a Template Provider, declares custom jobs to the pool, and forwards work downstream to the hashing devices. The Job Declarator Server (JDS) runs on the pool side: it allocates job tokens, acknowledges declarations, maintains its own mempool view, and requests any transactions it has not seen so it can validate the declared set.
How a declaration flows
The JDC first calls AllocateMiningJobToken to reserve an identifier and learn the pool's payout (coinbase) output. It then sends DeclareMiningJob carrying the wtxids of its chosen transaction set. If the JDS is missing any transactions it issues ProvideMissingTransactions, and the JDC supplies the raw data. The protocol supports a coinbase-only mode that lets the pool score fees without ever seeing the full transaction list, preserving the miner's mempool privacy, and a full-template mode for complete validation. Both use optimistic mining: work is pushed to devices immediately while pool acknowledgement is pending.
This honesty-enforcing design means a pool that refuses valid shares simply loses the miner to a competitor. To see how the chosen transaction set is built upstream, read about the Template Distribution Protocol and the local Template Provider that feeds it.
In Simple Terms
The Job Declaration Protocol is the part of Stratum V2 that returns transaction-selection power to the people running the hardware. Under legacy Stratum V1, the…
