DailyVaultSplitter

The DailyVaultSplitter is the central vault module responsible for redistributing all finalized TRN earnings at the end of each Merkle cycle. It is executed once daily at UTC 0, immediately after the Merkle tree is committed and verified by the sequencer network.

This module does not handle real-time token routing — instead, it works as the post-Merkle reconciliation engine that uses TRNUsageOracle-verified balances and routes TRN into the appropriate downstream vaults for final distribution.


🧷 Purpose

All TRN earned through views, retrns, subscriptions, boosts, ads, and engagements are:

  • Logged in real-time by the TRNUsageOracle

  • Net settled once per day by the Merkle root drop

  • Distributed to vaults by the DailyVaultSplitter immediately after drop finalization

The DailyVaultSplitter ensures:

  • Deterministic allocation of earnings

  • Protection from early withdrawal or double claims

  • Streamlined DAO and NFT-based sharing logic


🔄 Execution Flow

At the end of each day (UTC 0):

  1. The sequencer finalizes and publishes the Merkle root representing:

    • All user fruit balances

    • Earnings (positive balances)

    • Expenditures (debits)

    • BRN offsets (from burns or moderation)

  2. The TRNUsageOracle reconciles each account, finalizes their actual earnings, and verifies Merkle inclusion.

  3. DailyVaultSplitter is triggered automatically by the sequencer or validator node to:

    • Transfer TRN into downstream vaults

    • Burn BRN offsets

    • Reset all fruit balances


📦 Allocation Logic

The splitter distributes the full TRN pool (total earned by users that day) using fixed percentages:

Allocation Target
% of Earnings
Description

PostVaultSplitter

Variable

Earnings from view/retrn/subscription actions go here.

CountryEscrowSplitter

Variable

TRN tagged with a geoHash jurisdiction is routed here.

StabilityVault

TBD

Reserve for AMM flash-loan stabilization (activated later).

DAO Reserve

10%

Platform-wide fee captured by the DAO.

InvestorNFT Vaults

3.3% (of DAO share)

Distributed pro-rata across 100 NFTs.

ContributorNFT Payouts

TBD

Optional fixed daily or streaming distributions.

✳ Note: Percentages beyond the DAO split are enforced downstream. For instance, PostVaultSplitter routes 90% to content creators, 10% to DAO automatically.


⚖ Enforcement Constraints

  • Immutable Execution: Runs only after Merkle drop finalization.

  • No Premature Withdrawals: Earnings cannot be accessed until routed.

  • No User Interaction: Triggered automatically by the sequencer logic.

  • Global Single Entry Point: Only this module can initiate redistribution from the usage ledger.


🔐 Security Assumptions

  • All routing contracts are non-upgradable once deployed, unless a DAO vote allows override.

  • Vault routing honors permissions set in the TRNUsageOracle, which ensures users can’t bypass or reroute earnings.

  • Transfers occur after all burns are applied and debts are cleared.


Module Name
Description

TRNUsageOracle

Provides Merkle state and reconciled account data

PostVaultSplitter

Handles content action-based earnings

CountryEscrowSplitter

Sends TRN to geo-tagged CountryNFT escrows

StabilityVault

Pools earnings to stabilize AMM post-launch

InvestorNFT.sol

Distributes DAO earnings across investor NFTs

ContributorNFT.sol

Defines contributor payout logic

MerkleDropExecutor

Confirms Merkle tree and triggers splitter


🔄 Example Scenario

If the total user earnings (from actions, subscriptions, and ad rewards) for the day equal 100,000 TRN:

  • 10,000 TRN is routed to the DAO Reserve.

    • From this, 3,300 TRN goes to InvestorNFTs.

    • Remaining 6,700 TRN may support platform ops or contributor rewards.

  • The remaining 90,000 TRN is distributed proportionally to:

    • Content creators via PostVaultSplitter

    • CountryNFT escrows via CountryEscrowSplitter

    • Liquidity reserves via StabilityVault (once active)

This split is deterministic and fully enforced by Merkle commitments and usage constraints.


✅ Summary

  • Purpose: Distributes daily earnings after Merkle finalization

  • Trigger: Sequencer-triggered at start of each new UTC day

  • Destination Vaults: Post, Country, DAO, Investor, Contributor, and Stability vaults

  • Rules Enforced: No early access, no partial unlocks, no user control

Last updated