Skip to content
XMR Utility Network

P2Pool: decentralized mining

Mine without a pool operator: your own monerod + P2Pool + XMRig, rewards straight from the coinbase.

12 min read · checked 2026-10-30

1. monerod with ZMQ

monerod --zmq-pub tcp://127.0.0.1:18083 --out-peers 32 --in-peers 64 \
  --enforce-dns-checkpointing --enable-dns-blocklist
# upload under 10 Mbit/s: --out-peers 8 --in-peers 16

--zmq-pub is required. A pruned node works.

2. P2Pool

./p2pool --host 127.0.0.1 --wallet YOUR_MAIN_ADDRESS_STARTING_WITH_4 --mini
# to mine to a subaddress of the same wallet:
# ./p2pool --host 127.0.0.1 --wallet YOUR_MAIN_ADDRESS --subaddress YOUR_SUBADDRESS --mini

Use --mini (or --nano in recent releases) for small hashrate: shares are easier, so payouts are steadier. Open the P2Pool p2p port (37888 for mini, 37890 for nano, 37889 for main) for better connectivity.

3. Point XMRig at P2Pool

xmrig -o 127.0.0.1:3333

How payouts work

When any P2Pool miner finds a Monero block, the coinbase pays every miner with a share in the PPLNS window directly. There is no pool balance and no withdrawal. Payouts are many small outputs, so later consolidate them with a sweep.

Limits

P2Pool needs your own node (disk, bandwidth). Very small hashrate can still go long periods without a share, even on nano.

Sources

P2Pool: decentralized mining · XMR Utility Network