Glossary · Pools

Stratum

By the CloudMineCrypto teamUpdated Also called stratum v2

Definition

Stratum is the protocol mining machines use to talk to a mining pool. The pool sends each machine work to hash, and the machine sends back shares that prove how much work it did.

Part of the Bitcoin mining glossary, 88 terms in plain English.

A Stratum V1 session, message by message

Miner

Pool

mining.subscribe

Hello, I’m a miner

mining.authorize

This is my worker name

mining.set_difficulty

Send shares at this difficulty

mining.notify

Here’s a new job to hash

mining.submit

Here’s a share I found

Plain-text JSON over a TCP connection. The last two repeat all day: a new job every time the pool updates the block, a share every few seconds.

How does Stratum work?

The machine opens a connection to the pool and keeps it open. It signs in with a worker name, and the pool sends a share difficulty and a job. The job holds the pieces of a block header, plus the parts of the coinbase transaction, so the machine can change the extra nonce itself and never run out of work.

From then on it’s two messages on repeat: a new job whenever the pool updates its block, and a share from the machine every few seconds. Slush Pool introduced Stratum in 2012 to replace an older setup where miners had to keep asking the pool for work.

What does it look like when you set up a miner?

In a machine’s settings page you fill in three boxes: a pool address such as stratum+tcp://pool.example.com:3333, a worker name like myaccount.rig1, and a password that many pools ignore. That’s the whole Stratum setup. Switching pools means changing those boxes.

What changes with Stratum V2?

V1 sends plain text, usually unencrypted, so someone on the network path could redirect a miner’s work. Stratum V2 is binary, encrypted and authenticated, and uses less bandwidth. It also has an optional job declaration part that lets miners choose the transactions in their own blocks.

Who decides what goes in the block?

Stratum V1

Picks transactions
The pool
Miner sees
Only a job to hash
Traffic
Plain text, usually unencrypted

Stratum V2 with job declaration

Picks transactions
Can be the miner
Miner sees
Its own template
Traffic
Encrypted, binary
Job declaration is optional in V2. A pool can support V2 and still build templates itself.

Sources

  1. Stratum mining protocol · Bitcoin Wiki
  2. Stratum V2: the next-generation mining protocol · Stratum V2 working group
  3. Stratum V2 specification · Stratum V2 working group

Live figures on this page come from the CloudMineCrypto API and public chain data, refreshed regularly, and are labelled where they appear. Educational only, not financial advice.

Now watch mining happen.

Claim a free 8-hour mining plan in the CloudMineCrypto app and watch your BTC balance grow from live network data. Withdraw to your own wallet, Lightning included. Rewards are estimates.