Moving a miner from a PPS+ pool to a PPLNS pool is a one-line config change that, done naively, costs you a settlement cycle. The fix is not complicated, but it depends on understanding why the naive switch leaves a gap — so we’ll do the mechanism first, then the clean cutover, then a small failover config that makes the whole thing smooth. Throughout, “settlement” refers to testnet units, which have no monetary value; this is about not wasting work, not about money.
01 · The two reward schemes, briefly
PPS+ (Pay-Per-Share Plus) pays you a fixed amount for every valid share you submit, regardless of when the pool actually finds a block. The pool carries the variance; your pending balance accrues steadily and settles to your wallet at a threshold. The instant you submit a share, it’s effectively credited.
PPLNS (Pay-Per-Last-N-Shares) pays out when the pool finds a block, and it distributes that block across the last N shares submitted to the pool — a sliding window of recent work. Your portion depends on how much of that window is yours. There’s no per-share credit; there’s a share of each block, weighted by your recent contribution to the window.
For a deeper treatment of the window mechanics, see Understanding PPLNS. The one property that matters for the cutover is this: PPLNS pays based on share history you’ve already built up.
02 · Why the naive instant-switch loses a cycle
Picture the obvious approach: at midday you repoint the miner from the PPS+ pool to the PPLNS pool and walk away. Two things happen, both bad.
First, on the PPS+ side, you’ve abandoned a pending balance mid-accrual. Depending on the pool’s rules, work that hadn’t yet settled to threshold may not pay out cleanly once you stop contributing — you walked away from the desk before the till was counted.
Second, on the PPLNS side, you arrive with no share history. PPLNS pays from the last-N-shares window, and your slice of that window is currently zero because you’ve only just started submitting. When the pool finds its next block, the window is dominated by everyone who’s been mining it for hours; your share of that block is tiny, because almost none of the window is yours yet. You start cold. It takes time — until your shares fill a meaningful fraction of the window — before your payouts reflect your actual hashrate.
03 · The clean cutover
The fix is to sequence the move instead of flipping a switch. Four steps:
- Let the PPS+ balance settle. Before you change anything, keep mining PPS+ until your pending balance reaches the pool’s settlement threshold and pays out. Don’t abandon work mid-accrual — collect it first.
- Run both pools as failover, briefly. Configure the PPLNS pool as a secondary (failover) on the miner while PPS+ stays primary. This costs you nothing and means the machine already knows about the new pool before you rely on it.
- Repoint the primary to PPLNS. Now make PPLNS the primary. The miner starts submitting shares to PPLNS and begins filling its window. Crucially, you’ve done this after the PPS+ balance settled, so nothing was stranded.
- Let the PPLNS window fill. Give it time. Your payouts will start small and climb as your shares grow to a steady fraction of the last-N window. This is expected — it’s the window warming up, not a problem. After the window has fully cycled, your payouts reflect your real hashrate.
The key is that steps 1 and 3 don’t overlap: you settle PPS+ first, then warm PPLNS. No stranded balance, and the cold-start on PPLNS is just the unavoidable window fill rather than a window fill stacked on top of a lost PPS+ balance.
04 · A failover config that handles it
Most miners and proxies let you list a primary and one or more failover pools. Here’s the shape of it — primary first, failover second, with the miner falling back automatically if the primary is unreachable. During the cutover you simply swap which one is primary.
Listing the old pool as the failover after the swap is deliberate: if the PPLNS pool has an outage during the transition, the miner falls back to PPS+ rather than sitting idle. Once the PPLNS window has fully filled and you’re happy with it, you can drop the PPS+ failover entirely.
05 · The whole thing in one sentence
Settle the PPS+ balance before you leave, add PPLNS as a failover so the machine already knows it, then promote PPLNS to primary and let its window fill — and the cutover costs you nothing but the unavoidable window warm-up. Flip the switch blindly instead and you strand pending work on one side while starting cold on the other. The mechanism is the whole lesson: PPLNS pays from history, so give it history before you depend on it.