🗿Miner Score

Miner Score — Technical & Economic Overview

The Miner Score is the Nebula Platform’s on-chain metric that converts a participant’s contribution and loyalty into a single, additive number. It is recorded inside the MiningRig contract and can be queried at any time via score(address). The value is strictly non-decreasing—each mining action only pushes the score higher—so early and active users accumulate a structurally larger share of downstream rewards.


1. Purpose

Goal
Why It Matters

Reward Allocation

Determines each miner’s proportional slice of upcoming StarDustDividends [$SDIV] airdrop.

Governance Weighting

Functions as a baseline reputation signal for future Primordial DAO voting-power multipliers and other Nebula benefits.

Gamified Engagement

Makes the act of frequent mining, not just large mining, economically attractive. ( max ~254 txs per wallet )


2. High-Level Formula

At block n, the Miner Score S for wallet w is calculated as:

S(w) = L(w)                    // Liquidity contribution
      + 2^(F(w))               // Frequency boost (exponential)
      + H_meme(w)              // On-hand PEPE or SHIB balance
      + H_ppepe(w)             // On-hand PPEPE balance

All four terms are updated atomically inside each mineLiquidity() call; the contract never relies on off-chain oracles.


3. Component Breakdown

Term
Source & Rationale
Update Logic (Conceptual)

Liquidity Base L

Sum of real and virtual liquidity minted into the chosen meme pool, multiplied by the network’s current mining difficulty. This anchors score growth to tangible depth added to the market.

L += (active LP + virtual LP) × difficulty

Frequency Boost F

Counts how many distinct mining transactions the wallet has executed. It grows exponentially (2^F), heavily rewarding consistent participation over time.

F += 1 per successful mine

MEME Holdings H_meme

Snapshot of the wallet’s current $PEPE or $SHIB balance at the moment of mining. Encourages miners to hold the underlying meme token.

H_meme = balanceOf(MEME)

PPEPE Holdings H_ppepe

Snapshot of the freshly minted $PPEPE already sitting in the wallet. Aligns long-term incentive with protocol growth.

H_ppepe = balanceOf(PPEPE)

All intermediate values are stored in the scores[address] struct, along with two auxiliary fields:


4. Lifecycle & State Flow

flowchart LR
    A[Mine Liquidity<br>(ETH + Meme)] --> B[Calculate L, F, H]
    B --> C[Update scores[msg.sender]]
    C --> D[Mint PPEPE & emit events]
    C --> E[Increase global rig.mined counter]
  1. Mine – User mines w/ ETH+MEME.

  2. Score Refresh – New values for all four components are computed in-contract.

  3. Persistencescores[w] struct is updated; score can only rise, never fall.

  4. Reward Seed$PPEPE is minted to the miner, and the score delta is logged into global mining statistics (rig.mined).


5. Economic Impact

Effect
Mechanism

SDIV Distribution

During Phase 2 the protocol will snapshot each Miner Score to allocate an airdrop. A higher score equals a larger share.

Governance Clout

Future DAO modules may add a score-weighted multiplier on top of raw $SDIV voting power, giving proven miners a stronger voice.

Tiered Features

Early (low-difficulty) miners receive a redeemable block index that can unlock beta-only perks or fee rebates ahead of general users.


6. Security & Game-Theory Notes

  • Difficulty Dampening – Each successful mine slightly reduces global difficulty, meaning liquidity added sooner carries more scoring weight than the same liquidity added later.

  • Sybil Resistance – The exponential frequency term makes splitting liquidity across many wallets sub-optimal; a single address accumulating multiple mines grows faster than several one-off addresses.

  • Immutable Audit Trail – All score components are stored on-chain and can be independently verified, ensuring transparent dividend calculations.


By quantifying how much, how often, and how loyally a user contributes, the Miner Score transforms raw liquidity provisioning into a durable, on-chain reputation.

Last updated

Was this helpful?