P2Pool Mining: How to Mine Monero in a Decentralized Pool
P2Pool is a revolutionary approach to cryptocurrency mining that applies the same principles of decentralization to mining pools that Monero applies to transactions. Instead of connecting to a centralized pool where an operator controls your earnings and could theoretically be shut down, censored, or compromised, P2Pool lets you mine as part of a decentralized network with zero fees, no registration, no minimum payout threshold (beyond a small network minimum), and no single point of failure. For Monero miners who take decentralization seriously, P2Pool is the obvious choice. This guide walks you through everything you need to know to set up P2Pool and start mining in 2026.
What Is P2Pool and Why Use It?
The Problem with Centralized Pools
Traditional mining pools work by aggregating miners’ hash rate under a central operator. When the pool finds a block, the operator splits the reward among participants. This model is efficient, but it concentrates power in the pool operator’s hands. A pool operator can be pressured by governments to censor transactions, can exit scam with miners’ pending balances, or can be shut down by authorities, instantly cutting off thousands of miners.
The Monero network actively encourages P2Pool to avoid the risk of centralized pools accumulating too much of the network hash rate. Several times in Monero’s history, a single pool has temporarily exceeded 50% of network hash rate — a situation that poses theoretical security risks and runs counter to Monero’s decentralization values.
How P2Pool Works
P2Pool creates a secondary blockchain — a “sidechain” — that runs in parallel with the Monero mainchain. Miners submit shares to this sidechain, creating a record of each miner’s contribution. The P2Pool sidechain has a shorter block time (10 seconds on the main P2Pool, or 10 seconds on the mini sidechain), so miners see frequent share confirmations. When any P2Pool miner finds a Monero mainchain block, the block reward is split according to the share record on the P2Pool sidechain, using a PPLNS (Pay Per Last N Shares) payout scheme.
There is no central server. Each miner runs their own P2Pool node, and these nodes form a peer-to-peer network. Payouts are embedded directly in the Monero block as coinbase transaction outputs — the reward goes directly to your wallet, not through any pool operator.
P2Pool’s Advantages
- 0% fee: P2Pool charges no pool fee. You receive your full proportional share of every block
- No registration: No account, no email, no KYC — just run the software and point XMRig at it
- Minimum payout of 0.00027 XMR: Direct to your wallet with every block the pool finds
- Uncensorable: No central operator can be pressured to block your payouts
- Transparent: The P2Pool sidechain is publicly verifiable — you can independently confirm your share was recorded
- Privacy-preserving: Your wallet address is visible on the P2Pool sidechain but not linked to any personal identity
Requirements
Running P2Pool requires a bit more from your system than simply using a centralized pool, because you need to run your own Monero full node alongside P2Pool:
- Storage: 150+ GB free disk space for the full Monero blockchain (or ~50 GB with pruning enabled)
- RAM: At least 4 GB RAM (8 GB recommended)
- Internet: A stable, always-on connection; 10 Mbps+ upload recommended for full node connectivity
- CPU: The same CPU you use for mining (no dedicated hardware needed for the node)
- Time: Initial blockchain sync takes 5–6 hours on fast hardware, potentially longer on slower setups
If these requirements are too demanding — particularly the blockchain storage — consider whether P2Pool Mini (described below) or a trusted centralized pool is more practical for your situation.
Step-by-Step Setup Guide
Step 1: Set Up Your Monero Node
Download the latest Monero daemon (monerod) from the official getmonero.org website. Run it with the following command to optimize for P2Pool use:
./monerod --zmq-pub tcp://127.0.0.1:18083 --out-peers 32 --in-peers 64 --add-priority-node=p2pmd.xmrvsbeast.com:18080 --add-priority-node=nodes.hashvault.pro:18080 --enforce-dns-checkpointing --enable-dns-blocklist
Key flags explained:
--zmq-pub: Enables the ZMQ interface that P2Pool uses to receive new block notifications in real time--out-peers / --in-peers: Sets connection limits; reduce these if your upload bandwidth is limited--add-priority-node: Connects to reliable nodes for faster initial sync--prune-blockchain: Optional flag to reduce storage requirement to ~50 GB
Wait for the daemon to fully synchronize with the network. This is required before P2Pool will function. You can check sync status in the monerod console by typing status.
Step 2: Create a Mining Wallet
Create a separate Monero wallet specifically for mining. This is important because your wallet address is publicly visible on the P2Pool sidechain, linking it to your mining activity. Using your primary wallet would expose your spending history in ways you may not want. Feather Wallet or the Monero GUI make it easy to create additional wallets.
Use the primary address (starting with the number 4) for P2Pool. If you want to mine to a subaddress (starting with 8), you’ll need to provide both your main address and the subaddress as separate parameters.
Step 3: Download and Run P2Pool
Download the latest P2Pool release from the official P2Pool GitHub repository. Run it with:
./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS
P2Pool will connect to your local monerod instance and sync the P2Pool sidechain — this takes about 5–10 minutes. Once synced, it’s ready to accept miner connections.
Step 4: Connect XMRig to P2Pool
Configure XMRig to connect to your local P2Pool node:
./xmrig -o 127.0.0.1:3333
The wallet address is handled by P2Pool — you don’t need to specify it in XMRig when using P2Pool. Use x as a dummy username if prompted. Your XMRig console should show “job received” messages as P2Pool sends new work templates.
Step 5: Monitor Your Progress
Type status in the P2Pool console to see your current hash rate, shares found, and estimated time to next reward. You can also check your wallet address on the P2Pool Observer website (p2pool.observer) to see your share history and pending/recent payouts.
P2Pool Mini: For Lower Hash Rate Miners
P2Pool has two sidechains: the main P2Pool and P2Pool Mini. Mini has a shorter target difficulty, making it easier for lower hash rate miners to find shares and receive rewards. If your hash rate is below approximately 10,000 H/s, P2Pool Mini is strongly recommended — on the main chain, share difficulty is high enough that you might go a week or more without finding a share.
To use P2Pool Mini, add the --mini flag:
./p2pool --host 127.0.0.1 --wallet YOUR_WALLET_ADDRESS --mini
Then connect XMRig to port 3334 instead of 3333:
./xmrig -o 127.0.0.1:3334
Mini miners contribute to a separate sidechain with lower difficulty but share in the same Monero mainchain block rewards proportionally.
Alternative: Gupax — A Graphical P2Pool Manager
For users who prefer a graphical interface, Gupax is an open-source GUI application that manages monerod, P2Pool, and XMRig from a single window. It handles downloading the required software, configuring everything correctly, and provides a unified dashboard for monitoring your mining operation. Gupax is particularly useful for users new to P2Pool who find command-line setup daunting.
Troubleshooting Common Issues
- “P2Pool is not synced yet”: Wait for monerod to fully sync first; P2Pool cannot start until the node is current
- No shares found after many hours: If your hash rate is low, switch to P2Pool Mini with the
--miniflag - Connection refused errors in XMRig: Check that P2Pool is running and showing “ready” status before connecting miners
- Disk space issues: Use
--prune-blockchainto reduce blockchain storage from ~175 GB to ~50 GB - High network usage: Reduce
--out-peersand--in-peersin the monerod command
Conclusion
P2Pool represents the ideal Monero mining setup: fully decentralized, zero fees, direct wallet payouts, and no dependence on any single operator that could be shut down or compromised. The additional complexity compared to a centralized pool — running your own Monero node, managing two daemons instead of one — is a one-time setup cost that pays dividends in terms of decentralization, privacy, and alignment with Monero’s values. If you’re serious about mining Monero, P2Pool is the gold standard. For miners with lower hash rates, P2Pool Mini brings the same decentralized benefits with more frequent share opportunities.
