1. Reward distribution
For each confirmed BCH pool block, the reward is split into four parts.
| Component | Percentage | Recipient | Rule |
|---|---|---|---|
| Pool fee | 0.5% | Pool fee address | Always assigned |
| Winner | 89.5% | Block winner | Uses blocks.miner only |
| Round bonus | 5% | Other miners | Pro-rata by round shares difficulty |
| Loyalty bonus | 5% | Other miners | Pro-rata by last 30 days shares difficulty |
2. Round logic
The Round Bonus is distributed across all miners except the winner,
using the sum of shares.difficulty recorded in the round window.
If no previous confirmed pool block exists yet, the script uses a fallback window of the last 24 hours to avoid an undefined first round.
3. Loyalty logic
The Loyalty Bonus is distributed across all miners except the winner,
using the sum of shares.difficulty recorded over the last 30 days.
This is a true rolling 30-day window and does not depend on whether the pool has already found previous blocks.
4. Safety rules
- Payouts are processed only for blocks with status confirmed.
- If
blocks.mineris missing or invalid, payout is skipped. - Duplicate payments are avoided through local state tracking and DB marker checks.
- The script runs in DRY-RUN mode by default.
5. Audit JSON
Every payout run generates a JSON audit file containing block metadata, payout percentages, round and loyalty windows, computed outputs and execution mode.
/root/bch_payout/payout_logs/
/payouts/
Once the server directory is exposed through the website, this page can link directly to the real payout JSON files.
6. How to read the audit JSON
- reward: total block reward used for the payout calculation
- pct: percentage distribution rule used by the script
- windows: actual time windows used for round and loyalty
- round_participants: miners included in round distribution
- loyalty_participants: miners included in 30-day distribution
- computed_outputs: final amount assigned to each address
- dry_run: indicates whether the payout was simulated or executed
- txid: present only after real execution
Residual amount
BCH payouts are rounded to 8 decimal places. Because each recipient amount is rounded individually, a very small difference may appear between the theoretical total reward and the sum of rounded outputs.
This residual is assigned to the pool fee address so that the final payout total exactly matches the block reward.
7. Contacts
For questions about payouts, listing, configuration or pool access, use one of the contacts below.