LottoModule

The LottoModule introduces a decentralized incentive layer that rewards the most resonant users and content each day. It distributes TRN to users who engage meaningfully on the platform — primarily through retrns, blesses, and post virality. The system is built around daily cycles, operating entirely on verifiable, on-chain criteria and randomization inputs tied to branch-level activity.


🧩 Overview

  • Each Day: Every branch (content category or topic) triggers a lottery.

  • Top Engagement Pools: Posts and users with the highest retrn + bless activity become eligible.

  • Random Draws: 33 users per branch are selected from eligible entries using a verifiable random selection process.

  • Rewards: Each winner receives a flat TRN payout directly to their account from the daily vault.

  • Anti-manipulation: Bless-to-burn ratios and AI fraud detection are factored in to determine eligibility.


🎯 Selection Criteria

1. Eligibility Conditions

To qualify for the daily draw:

  • A user must have:

    • Blessed or retrned posts in the top trending branches.

    • Not been flagged as a bot or fraud actor by the AI Verifier.

    • Maintained a reasonable bless-to-burn ratio (no spamblessing).

    • Engaged with posts that received organic resonance (blesses, retrns, curator traction).

  • A post must:

    • Have earned significant TRN through views, blesses, or retrns.

    • Have been shared or interacted with in retrns or curator threads.

2. Branch-Level Pools

Each content branch maintains its own daily pool of:

  • Eligible Users

  • Top-Performing Posts

  • Bless/Burn Ratios

  • Fraud Signals (via AI Verifier)

Only valid participants from this branch pool are entered into that branch's 33-winner draw.


🔄 Mechanics

1. Timing

  • The module resets every 24 hours during the Merkle batch finalization process.

  • Eligibility windows and winners are locked into the TRNUsageOracle and announced after the drop.

2. Winners per Branch

  • Exactly 33 users per branch are selected.

  • All selected users receive equal TRN rewards.

  • Rewards are fixed and distributed via the PostVaultSplitter or directly from the Lotto pool in the DailyVaultSplitter path.

3. Randomization

  • Random selection is performed from the set of qualified users per branch.

  • Input sources:

    • Block hashes, branch entropy, or pseudo-random input from the engagement indexer.

    • AI analysis scores may optionally weight the pool, but selection is strictly fair once eligibility is confirmed.


🛡️ Anti-Abuse Systems

  • Users may only retrn a post once per day to prevent spam manipulation.

  • Boosted posts do not gain eligibility unless they receive organic retrns.

  • Users cannot retrn their own content.

  • Bots, fraud accounts, or coordinated brigades are automatically excluded based on:

    • View/session anomalies.

    • Suspicious repetition patterns.

    • Failed bot verification sessions.


🏆 Curator Tie-In

Lotto winners are often curators:

  • Users who retrn high-performing posts earn higher eligibility.

  • If a user consistently surfaces quality content, they are repeatedly entered into winning pools across branches.

This supports the curation-as-earning model without needing centralized approval or bias.


💰 Rewards

  • TRN is credited directly to the winning user’s account after the Merkle batch processes.

  • Rewards are non-transferable until settled, like all platform earnings.

  • Users can track potential eligibility and wins via their LottoIndex dashboard (off-chain UI powered by Merkle results and the indexer).


Module
Description

BlessBurnTracker

Supplies bless/burn ratios and user interaction metrics.

RetrnIndex

Tracks retrns and viral patterns across content.

TRNUsageOracle

Final ledger of user eligibility and reward processing.

DailyVaultSplitter

Distributes the Lotto rewards pool per day.

AI Fraud Verifier

Filters out manipulation and fraud attempts.


📂 Suggested Files

  • LottoModule.sol – Core smart contract for random winner selection and reward dispatching.

  • BranchLottoManager.ts – Indexer-side orchestrator for branch-based entry pools.

  • LottoEligibilityEngine.ts – Analysis module that scores and validates entries from retrns/blesses.

  • LottoWinnersMerkle.ts – Outputs a daily Merkle leaf with winners and amounts for verification and UI sync.

Last updated