P2Poolv2 Documentation

Mission: Replace pool operators with miners

P2Poolv2 is a permissionless mining pool where miners build block templates, continuously audit accounting, and are paid directly to their wallets.

P2Poolv2 runs a sharechain of weak bitcoin blocks, where the sharechain runs the Nakamoto consensus with a weaker target than bitcoin. The is able to run share accounting in a decentralized manner - all nodes have reach eventual consistency on the sharechain accounting and can validate all shares and payouts.

The following pages describe the requirements and design decisions of P2Poolv2.

What Is Here

Getting Started

Run a node from source and connect your miners. See Getting Started.

Motivation and Requirements

Why bitcoin needs a pool without a central operator, and the requirements for P2Poolv2. See Why Do We Need P2Poolv2 and Pool Requirements.

P2P Network

How miners join a peer-to-peer network to reduce their variance. See P2P Network of Miners.

Node Design

The parts of a node: the Stratum server, per-miner vardiff, and the pool difficulty algorithm. See Node Components, Stratum Server & Vardiff, and Pool Vardiff.

Sharechain

The sharechain of weak bitcoin blocks: share commitments, share validation, PPLNS accounting, and sharechain transactions. See Sharechain.

Payouts

How larger miners are paid directly from the bitcoin coinbase, and how smaller miners sell their shares for payouts. See Payouts.

Known Attacks

How P2Poolv2 handles known attacks on mining pools. See Handling Known Attacks.

Dashboards

Dashboards that track the hashrate of the miners attached to a node and the global sharechain view. See Dashboards.

Comparison With SV2 and DATUM

How P2Poolv2 differs from pools running SV2 Job Declaration or OCEAN’s DATUM. See Comparison With SV2 & DATUM.

Stories

Walkthroughs of the pool at work, starting with a single miner. See Stories.

Elsewhere


Back to top

Copyright © 2024-2026 P2Poolv2 Developers. Distributed under the MIT or Apache-2.0 license.

Describes P2Poolv2 at commit dc5bb652 (2026-10-08).

This site uses Just the Docs, a documentation theme for Jekyll.