Demo build. This is a software product for sale — not an investment, token sale, or financial service. Coins shown run on testnet and have no monetary value. Buyers are responsible for their own licensing, compliance and any mainnet launch.

Demo pool testnet only no real mining revenue
BTC testnet XMR testnet ETC testnet RVN testnet KAS testnet GCC testnet

Understanding the PPLNS reward scheme.

The fastest path from "I have a GPU or ASIC" to "shares are landing" on the testnet demo. Five steps.

01 Shares, the unit of work

A pool cannot see how hard an individual miner is working by looking at the blockchain alone — blocks are found too rarely for that. Instead each miner submits shares: hashes that meet a difficulty target far easier than a real block. A share is proof that a miner is doing the work, and it is the accounting unit every reward scheme is built on. The more hashing a miner does, the more shares it submits in a given window. None of this is money — on this stack the result is testnet coin units with no monetary value.

02 What PPLNS means

PPLNS stands for Pay Per Last N Shares. When the pool finds a block, it does not look at every share ever submitted — it looks back over the last N shares the pool received, across all miners, and attributes the block’s coinbase to those miners in proportion to how many of those N shares each one contributed.

text
a block is found — the pool looks back over the last N shares
window = the last N shares the pool received
miner's portion = (miner's shares in window) / N
attribution is in testnet coin units — no monetary value

The size of that window — the value of N — is the key parameter. A larger N reaches further back in time and smooths out short-term luck; a smaller N reacts faster to who is hashing right now. N is operator-configurable in the pool engine, so you tune the window to suit your miners.

03 PPLNS versus PPS and FPPS

PPLNS is one of several schemes, and the trade-off between them is variance versus operator risk.

  • PPS — Pay Per Share. The pool attributes a fixed amount for every valid share, the moment it arrives, whether or not a block is found. Miners get a perfectly smooth, predictable result, but the operator absorbs all the luck: if blocks come slowly, the pool has attributed more than it has found.
  • FPPS — Full Pay Per Share. Like PPS, but the fixed per-share amount also accounts for the transaction-fee portion of a block. Still smooth for the miner, still operator-carried variance.
  • PPLNS. The pool attributes only when a block is actually found, sharing it across the recent window. The operator carries no shortfall — you never attribute more than a block actually produced — but an individual miner sees more run-to-run variance, because their result depends on blocks landing while their shares are in the window.
text
PPS smooth for miner · operator carries the variance
FPPS smooth + fees · operator carries the variance
PPLNS variance for miner · operator carries no shortfall

04 Why the stack defaults to PPLNS

The pool engine ships defaulted to PPLNS for two reasons.

First, it rewards consistent miners. Because the window only ever contains recent shares, the miners who stay connected and contribute steadily are the ones represented when a block lands. Someone who hops in only when conditions look good is rarely in the window at the right moment.

Second, it lets the operator keep the fee low. Under PPS or FPPS the operator is underwriting variance and usually charges a higher fee to cover that risk. PPLNS carries no such shortfall, so you can run a lean fee. The fee itself is operator-set — you choose the percentage the pool retains from each found block before attribution, and PPLNS is what makes a small number sustainable.

05 Orphaned blocks

Sometimes the pool finds a block that the wider network does not ultimately accept — two valid blocks appear at the same height and the chain builds on the other one. That block is orphaned. It never makes it into the canonical chain, so it produces no coinbase, and there is therefore nothing to attribute for it. Under PPLNS an orphaned block is simply not paid; the shares that would have shared it stay in the window and count towards the next block the pool does land.