21 BTC

Mining pools: Stratum V2 and payout schemes

How your miner talks to a pool, who builds the block, and how the pool pays you: from the 2010 proportional split to FPPS, TIDES, DATUM and P2Poolv2. With a live payout calculator.

Share this page
Discuss
🌱 Pools in 30 seconds
  • A single miner finds a block very rarely. A pool combines many miners and splits the rewards, so income becomes small but regular.
  • The payout scheme decides who absorbs bad luck: on FPPS/PPS the pool pays you a steady amount; on PPLNS/TIDES you share the pool's luck but get paid from real blocks.
  • Stratum is the language between your miner and the pool. Version 2 encrypts it and lets miners, not just pools, choose which transactions go into blocks.
  • Today two pools find 46.3% of blocks. That's why miner-built templates matter.

Stratum V2 in plain words

Discuss
  • A mining pool and your miner talk over a protocol called Stratum. Version 1 (2012) sends plain-text JSON: anyone on the path can read it, and the pool alone decides which transactions go into the block you are hashing.
  • Stratum V2 is the upgrade: encrypted and authenticated, compact binary messages, and, optionally, the miner (not the pool) builds the block template.
  • Why it matters: today a handful of pools choose the contents of most blocks. If miners pick transactions themselves, censoring a transaction requires convincing thousands of miners, not three companies.
Stratum V1 (2012)Stratum V2
formatText JSON-RPC, verboseBinary framing; the project cites ~60% less bandwidth for pools, ~70% for miners
securityNo encryption; hashrate can be hijacked by swapping credentials in transitNoise-protocol encryption + pool authority key in the URL; SRI's noise_sv2 uses ChaCha20-Poly1305
templatesPool builds the template; miner hashes blindOptional Job Declaration: miner builds it from its own node, pool only checks and pays
privacyISP can see shares and estimate your hashrate and earningsTraffic is encrypted end to end
compatEvery ASIC firmware speaks itOld firmware connects through a Translator Proxy (SV1 → SV2)

The four parts

Mining Protocol

Miner/proxy ↔ pool: open channels, receive jobs, submit shares. Standard, extended and group channels.

Job Declaration (JDC ↔ JDS)

The miner's Job Declarator Client builds a template from its own node and declares it to the pool's Job Declarator Server, which validates it. The miner chooses the transactions; on DMND also the coinbase and version (signal) bits.

Template Distribution Protocol

A Template Provider feeds fresh block templates from Bitcoin Core. Bitcoin Core 30.0 shipped an experimental IPC Mining Interface for this; SRI's sv2-tp sidecar and bitcoin_core_sv2 speak to Core 30.x and 31.x.

Translator Proxy (tProxy)

Runs on your LAN: accepts Stratum V1 from stock firmware and speaks Stratum V2 upstream. No firmware change needed.

Reference implementation (SRI)

  • SRI stratum v1.12.0 (17 Sep 2026) — Rust protocol crates (Stratum Reference Implementation). This release hardened channels and dropped AES-GCM from noise_sv2.
  • sv2-apps v0.8.0 (17 Sep 2026) — Ready roles: Pool, JD Server, JD Client, Translator Proxy. Security hardening after an audit; every config option settable by environment variable.
  • sv2-tp — Template Provider sidecar for Bitcoin Core's IPC interface (C++).
  • SV2 UI — Docker app (also on the Umbrel app store) to mine solo with your node or with any SV2 pool, works with SV1 firmware.

Who supports Stratum V2 (October 2026)

Discuss
Braiins PoolSV2 live

Co-author of SV2. Public SV2 endpoint stratum2+tcp://stratum.braiins.com:3333/<pool key>; Braiins OS has a native SV2 client.

DMND (DEMAND)SV2 + Job Declaration live

SV2-native pool. Block 955,318 (late June 2026) was the first mainnet block built from a miner-declared template via Job Declaration. Miners choose transactions, coinbase and signal bits; payout scheme SLICE.

Foundry, AntPool, F2Pool, SpiderPool, MARA, BlockWorking Group, no public endpoint

Joined the SV2 Working Group on 7 May 2026 (with DMND). Membership means testing and contributing, not a public SV2 endpoint: we found no official public SV2 / Job Declaration endpoint from them as of 11 Oct 2026.

OCEAN (DATUM)Alternative (DATUM)

Different route to the same goal: the DATUM Gateway builds templates from your own node and still talks Stratum V1 to your ASICs. Not SV2.

ckpool / solo.ckpool.orgReported, unconfirmed

Con Kolivas now contributes to SRI (sv2-apps v0.7.0). SV2 support in ckpool source is reported by third-party trackers; we could not confirm a public SV2 endpoint on an official page.

Checked on official pool and project pages on 2026-10-11. "Working Group member" is not the same as "supports SV2 for everyone".

Try Stratum V2 at home

Discuss

Native SV2 client added in v2.14.0 (4 Jun 2026); v2.15 adds per-pool 'require authentication' and SV2 fixes. Latest stable v2.15.3 (20 Sep 2026).

SV2 (extended channel, Noise encryption) since v1.0.37; SV1 and SV2 pools can be mixed for failover.

Native SV2 on supported Antminers; stock Bitmain firmware does not speak SV2.

  1. Easiest: update a Bitaxe/NerdQAxe and set the pool URL to Braiins' SV2 address (stratum2+tcp://…/<key>) or a DMND endpoint from your account.
  2. Stock-firmware ASIC: run the SRI Translator Proxy (or SV2 UI) on a PC/Pi in your LAN and point the ASIC at it with a normal stratum+tcp URL.
  3. Your own templates: Bitcoin Core 30+ started with `bitcoin -m node -ipcbind=unix`, plus sv2-tp and a JD Client pointed at a pool that runs a JD Server (DMND today).
  4. Keep a Stratum V1 backup pool configured: SV2 stacks are still young.

Need your own node for templates? Run one →

Payout schemes, from classic to newest

Discuss

Risk column = who carries the variance of block finding. Green: the pool pays steadily from its reserves. Amber: miners share the pool's luck.

SchemeSinceRiskFees paid?Example
Proportional2010–2011MinersYesEarly pools (historical)
Score-based (Slush)2010–2023MinersYesSlush Pool / Braiins Pool until it switched to FPPS on 12 Dec 2023
Pay-per-share (PPS)2011–PoolNoRare in its pure form today; replaced by FPPS/PPS+
SMPPS / ESMPPS / RSMPPS2011–2014SharedYesEarly-2010s pools (historical)
CPPSRB2012–SharedYesEligius (defunct)
PPLNS2011–MinersYesF2Pool, AntPool, SpiderPool and SECPOOL PPLNS options; P2Pool
PPS+2016–SharedYesViaBTC (PPS+ 4% on subsidy + 2% on fees)
FPPS (Full PPS)2017–PoolYesFoundry USA, Braiins Pool (2.5%), Luxor, F2Pool, AntPool, SpiderPool
Solo (CKPool solo, Public Pool)2014–MinersYessolo.ckpool.org (2% only when you find a block), Public Pool (0%)
P2Pool (2011)2011–~2019MinersYesp2pool by Forrest Voight, launched 17 Jun 2011; no longer meaningful on mainnet
P2Poolv2 (2024–)2024–MinersYesRunning on testnet4 only (Oct 2026); share trading still being built
TIDES (OCEAN)2023–MinersYesOCEAN: 2% fee, 1% with DATUM templates
DATUM (OCEAN)2024–Miners—OCEAN DATUM Gateway
SLICE (DMND)2026–SharedYesDMND
Proportional
2010–2011 · Risk: Miners

When the pool finds a block, the reward is split by each miner's shares in that round (since the previous block).

+ Simple, the pool never pays more than it earns.

− Broken by pool hopping: hop in at the start of a round, leave as it gets long. Abandoned.

Score-based (Slush)
2010–2023 · Risk: Miners

Like proportional, but each share is weighted by time (score += exp(t/C)), so recent shares count far more; hopping stops paying.

+ Hop-proof, transparent.

− Income still depends on pool luck; leaving a pool forfeits recent score.

Pay-per-share (PPS)
2011– · Risk: Pool (needs reserves)

Every valid share is paid a fixed amount = block subsidy × share difficulty ÷ network difficulty, whether or not the pool finds blocks. Transaction fees are not paid.

+ Zero variance for the miner, instant predictable income.

− Highest fee; fees from blocks go to the pool; pool can go bankrupt in a bad-luck streak.

SMPPS / ESMPPS / RSMPPS
2011–2014 · Risk: Shared: miners wait in bad luck

Shared Maximum PPS: like PPS, but the pool never pays out more than it has earned; unpaid credit waits for future blocks (E- and R- variants change who is repaid first).

+ Pool cannot go insolvent.

− Backlog can grow without bound during a long bad-luck streak.

CPPSRB
2012– · Risk: Shared

Capped PPS with Recent Backpay: shares get PPS value up to what blocks actually pay; shortfall is back-paid to the most recent shares first.

+ No insolvency, no unlimited old debt.

− Complex; not used by large pools.

PPLNS
2011– · Risk: Miners (pool luck)

Pay Per Last N Shares: when a block is found, its full reward (subsidy + fees) is split over the last N shares, regardless of round boundaries.

+ Low fee (0–2%), full fees passed through, hop-resistant, pool needs no reserves.

− Income swings with pool luck; small pools pay lumpy.

PPS+
2016– · Risk: Pool on subsidy, miners on fees

Subsidy paid like PPS; transaction fees paid PPLNS-style from the blocks the pool actually finds.

+ Stable base income plus real fee spikes.

− Fee part still has luck variance; custodial.

FPPS (Full PPS)
2017– · Risk: Pool (and fee averaging)

Like PPS, but the pool also pays an average of network-wide transaction fees per share. Braiins documents it as reward = (subsidy + trimmed average fee) × shares ÷ difficulty, computed daily over all network blocks.

+ Near-zero variance, daily payouts; the dominant scheme for big miners and hosted fleets.

− Pool must hold large reserves, so only big pools can offer it → centralization pressure; payouts custodial; block contents set by the pool.

Solo (CKPool solo, Public Pool)
2014– · Risk: Miner (lottery)

Your miner works alone through a pool server; if it finds a block, almost all of it is yours, paid straight from the coinbase.

+ Non-custodial, no account, perfect for Bitaxe-class hobby miners.

− Expected wait for a small miner is measured in thousands of years.

P2Pool (2011)
2011–~2019 · Risk: Miners

Decentralized pool: miners run nodes that build a share chain (a low-difficulty side blockchain); every block pays all recent share holders via the coinbase (PPLNS).

+ No operator, no custody, miners build templates.

− Orphaned shares grew with scale, small miners saw misleading stats, coinbase size limited payouts.

P2Poolv2 (2024–)
2024– · Risk: Miners

Rebuilt in Rust: a share DAG with uncles, per-miner vardiff, PPLNS paid in the coinbase to the top N miners; everyone else gets share-chain outputs they can sell for BTC via Lightning/Ark atomic swaps.

+ Decentralizes accounting too, not just templates; self-custodial payouts.

− Not on mainnet yet; you need your own node.

TIDES (OCEAN)
2023– · Risk: Miners (smoothed)

Each block's full reward is split over the last 8 blocks' worth of work (8 × network difficulty); shares are never discarded, so each share is paid ~8 times on average. Paid straight from the coinbase.

+ Non-custodial, auditable, full fees, low variance for a PPLNS-type scheme.

− Ramp-up before full income; earnings still depend on OCEAN finding blocks.

DATUM (OCEAN)
2024– · Risk: Miners (TIDES)

Not a payout scheme but a work-distribution protocol: the DATUM Gateway on your node builds the template (your transaction choice) and sends work to your ASICs over Stratum V1; OCEAN only accounts shares and pays via TIDES.

+ Miner-built templates today with stock firmware; lower fee.

− Needs your own full node; one pool.

SLICE (DMND)
2026– · Risk: Low–moderate for miners (per DMND)

DMND's scheme: subsidy split by hashrate, fees split by the value each miner's own declared templates built. Designed for Job Declaration.

+ Rewards miners for building good templates; lower variance than PPLNS per DMND.

− New, one pool; public detail on the formula is limited.

'Braiins FPPS+': some trackers label Braiins Pool 'FPPS+', but Braiins' own documentation calls its scheme FPPS (subsidy + trimmed average network fees). We list it as FPPS. Other pools do market an 'FPPS+' variant (e.g. EMCD, per the Bitcoin Wiki).

Payout calculator: FPPS vs PPS vs PPLNS vs solo

Discuss
FPPS, per day (steady)
0.00009280 BTC
9,280 sats ≈ $7.77
PPS, per day (no network fees)
0.00009095 BTC
9,095 sats ≈ $7.62
PPLNS, average per day
0.00009422 BTC
9,422 sats ≈ $7.89
PPLNS over 30 d, 80% of outcomes
0.002719–0.002933
mean 0.002827 BTC · ≈1,152 pool blocks
Solo
Chance of a block in 30 d: 0.0909% · on average one block every 90 years · reward ≈ 3.140 BTC per block minus the solo pool fee

Assumptions: expected blocks = hashrate × 86,400 ÷ (difficulty × 2³²); subsidy 3.125 BTC; average fees 0.0146 BTC per block over the last 144 blocks (mempool.space). Hashrate and difficulty held constant; downtime, rejected shares and difficulty growth ignored. The PPLNS band is pool luck only (Poisson, 10th–90th percentile), without the N-window and ramp-up effects. Pool fees are typical defaults, check your pool. Not financial advice.

Live inputs: difficulty and price as of 11 Oct, 19:32 London · 132.72 T · $83,770 (Coinbase spot)

How concentrated is mining?

Discuss

Top 2 (Foundry USA + AntPool): 46.3% of blocks in the last 7 days. Top 3: 63.9%.

  • Foundry USA26.7%
  • AntPool19.6%
  • F2Pool17.6%
  • ViaBTC9.4%
  • SpiderPool6.2%
  • MARA Pool5.2%
  • SECPOOL4.2%
  • Luxor3.3%

Share of blocks found in the last 7 days · mempool.space/api/v1/mining/pools/1w ·

  • FPPS needs deep reserves to pay miners through bad luck, so it favours the biggest pools: hashrate gathers where variance is lowest.
  • Block-template concentration can be even higher than pool shares suggest: researcher 0xB10C found several pools publishing near-identical templates to AntPool's (Poolin 99%, BTC.com 98% similarity), i.e. acting as proxies.
  • The fixes on the table: Stratum V2 Job Declaration (DMND, Braiins), DATUM (OCEAN), and fully peer-to-peer accounting (P2Poolv2). All move transaction selection back to individual miners.

Sources and method