Bitcoin Mining Pool Payout Methods: PPLNS, PPS+, FPPS and Auditable FPPS

Table of Contents

When it comes to Bitcoin mining, one of the most critical decisions miners must make is the payment method they choose to get paid. In the early days of mining, individuals could simply mine solo, but as competition increased, miners began to pool their computing power together in mining pools to increase their chances of winning blocks and generating revenue.

With the inception of mining pools as centralized entities, miners began to ask for payment standards to increase transparency in the relationship between pools and miners and verify their earnings. As a result, different payment standards started to emerge.

The revenue of miners has two main elements: the block reward (currently 6.25 BTC) and the transaction fees in the block.

Different payment methods were created to distribute the two revenue sources among miners in a pool. The most common pool payment methods are PPLNS, PPS+, and FPPS.

With new technologies being developed in the Bitcoin and energy space, more payment methods are expected to be developed by Bitcoin mining pools to address the new needs of miners, and those will be added to this article once they become available.

Bitcoin Mining with PPLNS: Pay Per Last N Shares

In the PPLNS payment method, the pool pays the miner only when a block is mined, and the payment is proportional to the miner’s contribution between the last block mined by the pool and the current mined block. In some cases, the pool only pays miners who were online until the moment the block was mined. PPLNS usually includes the transaction fees in the miners’ rewards, but this is not always true. Ensuring that the pool shares transaction fees with the miners is essential.

It should be highlighted that miners won’t get paid if no block is mined by the pool due to luck factors or software defects in the pool infrastructure. So, all the risk is on the miner’s side. The payment to miners is proportionate to their hashrate compared to the pool’s overall hashrate, so the pool should transparently publish its hashrate for the public to verify their earnings.

Once a block is mined, this is how the rewards are distributed:

PPLNS Reward = Total Block Value x Miner’s Average Hashrate in the period x (1-pool’s fee) / (Pool’s Average hashrate in the period)

PPS+: Pay Per Share + Transaction Fees

To explain the PPS+ method, we should first explain PPS. PPS or pay per share is a payment method that pays miners based on the luck of them winning a block for every share (hash) they submit to the pool. The payment happens regardless of the pool’s success in mining a block. So, the miner’s revenue is insured to the maximum of their potential in winning a block, or in other words, all the risk is on the pool’s side.

The “+,” in PPS+, means that the pool only pays miners the transaction fees when a block is successfully mined by the pool based on the PPLNS standard. So in the case of PPS+, the risk is on the pool’s side for the block reward, and the risk is on the miner’s side for the transaction fees. Similar to PPLNS, the pool must publish its overall hashrate for miners to verify the transaction fee earnings.

PPS Reward= Each Blocks Reward x Number of Blocks in The Payment period x Miner’s Hashrate x 600 / (Difficulty x 2^32)

  • Each Block Reward = 6.25 BTC
  • The number of Blocks in the Payment Period= is 144 for a 24-hour time frame ( 10 min avg block time)
  • 600 is the number of seconds in a block interval (10 min)
  • PPS calculations are done based on a 10 min block time assumption

The transactions are distributed based on the PPLNS formula whenever a block is mined.

FPPS: Full Pay Per Share

The FPPS payment method is the newest method introduced in 2016. This method pays miners based on PPS for both block rewards and transaction fees and happens regardless of the success of the pool in mining a block. In this method, all the risk is on the pool’s side. There are two common methods for the FPPS payout method. In the first one, the pool settles the payment for a 24-hour interval at the end of each day UTC time by calculating the average transaction fees for the past 24 hours. The second method calculates the average transaction fees for the past 144 blocks on a rolling basis. While the two methods should result in a similar outcome, the first method is easy to audit with 0% error, while the second method requires more work to audit with no errors and is hard to audit. The second method becomes increasingly hard to audit on the day that network difficulty change happens.

Auditable FPPS Reward= (Each Blocks Reward + 24h average tx fees per block) x Number of Blocks in The Payment period x Miner’s Hashrate x 600 / (Average Difficulty x 2^32)

  • Each Block Reward = 6.25 BTC
  • The number of Blocks in the Payment Period = 144 for a 24-hour time frame ( 10min avg block time)
  • 600 is the number of seconds in a block interval (10 min)
  • PPS calculations are done based on a 10 min block time assumption

Some pools settle payments based on a rolling average of tx fees rather than a 24-hour settlement. If the pool settles payment every 30 min, you need to audit and calculate earnings 48 times a day which will make it almost impossible to audit.

lincoin is the only Bitcoin mining pool that offers Auditable FPPS with all the necessary data that enables miners to verify their earnings without trusting the pool.

You can download Bitcoin blocks data on a daily basis in CSV format from this link, which can be used to audit your pool and your earnings.