Stratum V1 vs V2: which one should you use?

Stratum support is listed on the pools and hashrate marketplaces page for each provider. This page explains what the protocol does and whether the version matters for your setup.

What is Stratum?

Stratum is the protocol mining hardware and mining software use to talk to a pool or a hashrate marketplace over a plain TCP connection. The server sends the miner a job (the data needed to build a valid block candidate), the miner searches for a nonce that satisfies the target difficulty, and submits shares back to the server as proof of work performed. The server validates shares and credits the miner accordingly, whether that is a share toward a pool payout or a rented-hashrate contract on a marketplace. Stratum replaced Bitcoin's original getwork protocol because it is far lighter: the pool sends compact job updates instead of a full block template on every request, which scales to large numbers of connected devices.

Stratum V1

Stratum V1 (2012) is a JSON-RPC protocol sent as plain text over a TCP socket. It defines a small set of methods: mining.subscribe, mining.authorize, mining.notify for new jobs, and mining.submit for shares. It is simple, well documented, and supported by essentially every miner, pool, and marketplace in existence, which is why it remains the default today. Its limitations are that the protocol itself has no built-in authentication or encryption: some pools offer an optional TLS-wrapped connection (often labeled stratum+ssl) to protect traffic in transit, but that is an add-on layer, not something Stratum V1 provides natively, and plenty of deployments still run unencrypted. Beyond that, the JSON text format wastes bandwidth compared to a binary format, and the pool server builds the block template on the miner's behalf, meaning the pool decides which transactions go into the block, not the individual miner.

Stratum V2

Stratum V2 (specification first published in 2019 by Braiins, the team behind Braiins Pool) is a ground-up redesign, standardized through an open, multi-company specification process. It changes three things in particular. First, transport: messages are encoded in a compact binary format instead of text, and encryption and authentication (based on the Noise Protocol Framework) are built directly into the protocol itself rather than requiring a separate optional layer, which closes the door on man-in-the-middle share-injection and block-withholding attacks that are possible against a V1 connection running without TLS. Second, efficiency: binary framing and header-only job updates cut bandwidth usage significantly and reduce the latency between a new block template and a miner receiving the updated job, which lowers stale-share rates. Third, and most significant structurally: Job Negotiation. V2 splits the protocol into sub-protocols, one of which lets a miner (or a dedicated Job Negotiator) construct its own block template and negotiate only the header commitment with the pool, instead of the pool dictating full transaction selection. This is the basis for Stratum V2's push toward more decentralized transaction selection in mining.

Does the version matter more for solo miners or large operations?

Both versions are functionally interchangeable for getting paid: a valid share is a valid share either way, and V2 is backward compatible in the sense that most implementations can fall back to V1 framing where needed. Where the two diverge is in who benefits most from each specific improvement:

Efficiency and bandwidth gains (binary framing, lighter job updates) scale with the number of connected devices. A single rig or a small home setup will not notice the bandwidth difference between V1 and V2; a farm running thousands of ASICs behind one connection benefits substantially, since every duplicated byte and every millisecond of stale-share latency is multiplied by device count.

Built-in encryption and authentication (as opposed to relying on an optional TLS add-on some pools offer for V1) benefit anyone on an untrusted network path, including a single home miner on a shared or public connection, but the attacks they prevent (share injection, block withholding at scale) are more consequential, and more commonly targeted, against large pools and farms with meaningful hashrate to exploit.

Job Negotiation (miner-built templates) is primarily relevant to anyone who wants to choose their own transactions rather than have a pool choose them, which matters for censorship-resistance and decentralization goals more than for raw payout. This is a feature an individual solo miner can use exactly as well as a large operation, since it does not require scale to benefit from, only a Stratum V2 compatible setup on both ends.

Practical takeaway

If your hardware and the provider both support Stratum V2, there is no downside to using it. If only V1 is available, that is not a disadvantage for a small or solo setup: V1 is stable, universally supported, and does not change how much you earn. V2 becomes meaningful mainly at scale (bandwidth, latency, attack surface across many devices) or if choosing your own block template matters to you specifically, not because V1 is unsafe or obsolete for casual use.