BTC €61’652Distance to floor +1.2 %Zone Accumulation€1 = 1’622 sats
21Bitcoin Power Law My Goal

Magazine · Mining & technology

Stratum V2: The New Mining Protocol

Stratum V2 explained: encryption against hashrate theft, miners building their own block templates, less traffic and what it means for home miners.

By · · 13 min read

Stratum V2 is the successor to the protocol almost every miner uses to talk to its pool. It encrypts the connection so nobody along the way can redirect your hashrate. It lets the miner choose the transactions in the block instead of leaving that to the pool. And it sends less data. As of November 2026 it is in use, but far from the standard.

What it is about: the conversation between device and pool

A mining device doesn't work in a vacuum. It constantly needs new jobs: which block header to work through, how hard a share must be, when a new block has been found and the old work has become worthless. In return the device reports every share it finds. This back-and-forth is governed by a protocol called Stratum.

How pools count shares, pay out and why a few pool operators build most blocks is explained in How Bitcoin Mining Pools Work. What mining is in the first place is covered in Bitcoin mining explained. Here we only look at the protocol in between: what is wrong with Stratum V1 and what Stratum V2 does differently.

Stratum V1: simple, but open

Stratum V1 was created in 2012 at Slush Pool, today's Braiins Pool. It solved a real problem: devices were getting faster, and the older method, in which each device kept polling the pool, could no longer keep up. Stratum instead kept a connection open, over which the pool pushed new jobs.

It was never written down as a clean standard; it spread because it worked. Three weaknesses have remained.

Everything is readable, unencrypted text. The messages are JSON, plain text travelling unencrypted across the internet. Anyone along the way, such as an internet provider or an attacker on the same network, can read along and see that you mine, how much, and for which account.

Nobody checks whom the device is talking to. The device cannot tell whether the replies really come from the pool. Anyone who inserts themselves into the connection can change messages.

The pool builds the block alone. The device only receives the building blocks of a finished block. The pool operator decides which transactions it contains. The device can neither see nor influence that.

Weakness 1: hashrate theft

Because V1 is not encrypted, an attacker between device and pool can steal your work without you noticing. He only has to swap the account name in your messages for his own, or redirect the connection to his own pool altogether. Your device keeps hashing and using power, but the shares land on his account.

This isn't just theory. In 2014 the security firm Dell SecureWorks reported on an attacker who forged routing entries via a Canadian internet provider. This let him redirect miners' connections to his own server. According to the researchers, he earned cryptocurrencies worth around 83’000 US dollars over several months.

Such theft is hard to spot. The pool shows somewhat less hashrate than the device reports. That can also be down to luck, a poor connection or a tired device. Someone who diverts only part of the hashrate hardly stands out.

What Stratum V2 does about it

Stratum V2 encrypts every connection. First the pool identifies itself with a key you already know, similar to a website with its certificate. Only when that check passes does the conversation start, and from then on all messages are encrypted and protected against tampering. Anyone in between sees only noise and cannot change anything unnoticed.

How encryption in Stratum V2 works

The connection starts with a handshake based on the Noise Protocol Framework (pattern NX). In it, the pool proves that it holds the private key for a public key the miner has stored in its configuration. The keys are secp256k1 keys, the same curve as Bitcoin addresses.

After that, every message is encrypted with ChaCha20-Poly1305. Each message carries a 16-byte authentication tag (MAC). If an attacker changes even a single bit, the check fails and the message is discarded.

What this protects against: redirection to a foreign pool (it cannot pass the handshake) and swapping the account name (the tag breaks). What it doesn't protect against: a device already running malware, or a wrongly entered pool key.

Weakness 2: who decides what goes into the block?

This is the more important part. Under Stratum V1 the pool builds the block template. It picks the transactions and decides which block to build on. A few large pools build most of all blocks this way. What can follow from that, from censorship to collusion, is described in the article on mining pools in the section on the pool operator's role.

Stratum V2 separates two tasks that used to go together: building the block and distributing the reward. The pool still has to do the accounting, otherwise there would be no steady payouts. But it no longer has to decide what is in the block.

Job declaration

Stratum V2 has its own sub-protocol for this, the Job Declaration Protocol. The process in plain words:

  1. Your node builds the template. Your own Bitcoin node knows the mempool and assembles a block from it, by your rules.
  2. You register it with the pool. Your computer sends the pool the list of transactions you want to include.
  3. The pool checks and confirms. Above all, it checks that its payout address is in the reward transaction. Otherwise a block found would not pay the pool, and accounting would be impossible.
  4. Your device works on your block. Shares go to the pool as usual; it counts them and pays out.
  5. If you find a block, you broadcast it yourself. The pool does so too.

The pool can reject a template. But it cannot quietly remove individual transactions, because the template comes from you, complete. If it rejects, you notice immediately and can switch to another pool. Censorship becomes visible and costly instead of invisible and cheap.

Stratum V1Stratum V2 without job declarationStratum V2 with job declaration
Connectionplain textencryptedencrypted
Who picks the transactions?poolpoolminer (own node)
Who does the accounting?poolpoolpool
Own node needed?nonoyes
Protection against redirectionnoneyesyes
The three sub-protocols and roles of Stratum V2

The specification splits Stratum V2 into three parts:

  • Mining Protocol: the conversation between device (or proxy) and pool. Jobs, shares, difficulty. This is the part that replaces V1.
  • Job Declaration Protocol: the Job Declarator Client on the miner's side registers its template with the pool's Job Declarator Server. If the pool is missing transactions from the list, it asks for them specifically.
  • Template Distribution Protocol: the Template Provider, a Bitcoin node, delivers new templates and reports as soon as a new block changes the game.

On top of that there is the Translation Proxy: on the local network it accepts V1 connections from older devices and speaks V2 to the pool on the outside. Encryption then applies from the proxy onwards; inside your own network it stays plain text.

Weakness 3: unnecessary traffic and work

The third difference is technical and matters mostly for large farms. V1 sends text, V2 sends compact binary data. A share submission shrinks to less than half its size.

More important is how much work the device itself has to do. Under V1 each device receives the building blocks of the block and has to reassemble the block header again and again. Under V2 the pool or proxy can hand the device a finished block header. The device then only turns a few fields: the nonce, a few bits of the version number and the time. That is enough for very fast devices and makes their control simpler.

And V2 can send work in advance. The pool delivers the next job before the new block has been found. Once it has, a short message with the new previous block is enough and all devices switch at once. The faster that happens, the fewer shares land on an already outdated block. How much this matters in practice depends on pool and connection; for a home miner it is a small effect.

Worked example: message size and search space

A share submission under V1 looks roughly like this:
{"id":4,"method":"mining.submit","params":["hans.bitaxe01","6a3f","0000002a","6735f1c2","9e1b04d7"]}
Including the line ending, that is 101 bytes.

The same submission under V2 (SubmitSharesStandard) holds six fields of 4 bytes each: channel, sequence number, job, nonce, time, version. That is 24 bytes, plus a 6-byte header and a 16-byte authentication tag, 46 bytes in total. Encrypted and still less than half.

Search space without rebuilding the block header: the nonce has 2³² values, the freely usable version bits (BIP 320) 2¹⁶. Together 2⁴⁸ ≈ 281 trillion attempts per timestamp. The timestamp can rise by one every second. A device of up to about 281 TH/s can therefore manage without ever needing a new template; an ASIC at 200 TH/s needs about 1.4 seconds for 2⁴⁸ attempts.

How far along is Stratum V2? As of November 2026

The specification was written by Pavel Moravec and Jan Čapek of Braiins and the Bitcoin developer Matt Corallo. It was presented in 2019 and has been developed further since. The reference software (Stratum V2 Reference Implementation, SRI for short) is open source, written in Rust, and available on GitHub.

When it comes to use, there are two levels to tell apart:

  • Encrypted connection to the pool: Braiins Pool offers a Stratum V2 endpoint, and the Braiins OS firmware speaks the protocol. For many miners this is the easiest way to use V2 today.
  • Own block templates via job declaration: This is the real innovation, and the choice here is small. DEMAND is a pool that has relied on Stratum V2 with miners' own templates from the start. The large pools that find most blocks still build their templates themselves.

Most devices, including popular Bitaxe-class home miners, speak Stratum V1 out of the box. With the SRI's translation proxy they can still be connected to a V2 pool.

There is also a second route to the same goal: DATUM, the protocol of the pool OCEAN. It is not Stratum V2, but follows the same idea: the miner builds the block with its node, the pool distributes the reward. Which approach prevails is open.

What Stratum V2 changes for home miners

For you as a home miner with one or a few devices, three things change above all.

It doesn't bring more income. Your expected return depends on your hashrate, your electricity price and the pool fee. Slightly fewer stale shares are measurable, but barely noticeable for a single device. Whether your device pays off at all, check with the calculator below or in the article Bitcoin mining at home.

Security against redirection. If you mine over a public or someone else's network, for example in a workshop, a club house or via a mobile router, you benefit directly from encryption. On your own home network with a trustworthy provider the risk is smaller, but not zero.

A say in the blocks. With your own node and job declaration, your hashrate helps decide which transactions make it onto the chain. A single device makes little difference. But thousands of home miners building their own templates spread the power that today lies with a few pools.

Calculator Mining calculator
Open in the calculators →

Anyone mining without a pool builds their templates themselves anyway. How that works and how unlikely a hit is, the article Solo mining works out.

Limits and open questions

Stratum V2 doesn't solve everything.

  • The pool can still refuse. Job declaration prevents silent censorship, but a pool can reject templates containing certain transactions. Then the only remedy is switching.
  • More technology on the miner's side. Own templates need a running, synced node and extra software. If the node fails, there has to be a fallback to the pool's templates.
  • Only as good as its adoption. As long as the large pools build the templates themselves and their miners are content, little changes about concentration. The pressure has to come from the miners.

Frequently asked questions

What is Stratum V2?

The successor to Stratum V1, the protocol mining devices use to communicate with their pool. It encrypts the connection, sends compact binary data instead of text and lets miners pick the transactions in the block themselves with their own node.

Do I earn more with Stratum V2?

Practically not. Slightly fewer stale shares are possible, but your income still depends on hashrate, electricity price and pool fee. The gain lies in security and having a say.

Can my Bitaxe or older ASIC do Stratum V2?

Many devices only speak Stratum V1 out of the box. Via a translation proxy on your own network you can still connect them to a V2 pool. The proxy translates and encrypts the connection to the outside.

Do I need my own node for Stratum V2?

Not for the encrypted connection. If you want to pick the transactions in the block yourself, yes: your node then supplies the block template.

Which pools support Stratum V2?

As of November 2026, Braiins Pool offers an encrypted Stratum V2 endpoint, and DEMAND relies on Stratum V2 with miners' own templates. Most large pools still work with Stratum V1. Ask a pool whether it also offers job declaration.

What is the difference between Stratum V2 and DATUM?

Both give the miner the choice of transactions. Stratum V2 is an open specification across pools, with encryption and three sub-protocols. DATUM is the protocol of the pool OCEAN. The goal is the same, the technology different.

Sources

Not financial, legal or tax advice. Models are no guarantee.

Tags:

The Bitcoin Power Law newsletter

An email when we publish a new article or calculator. Every issue has a one-click unsubscribe link.

← All articles