PostVaultSplitter
The PostVaultSplitter
is the earnings distribution module responsible for processing user actions tied directly to content interactions. It receives TRN routed by the DailyVaultSplitter
and determines where each TRN goes based on actual Merkle-verified user activity.
It is the primary redistribution mechanism for post-level rewards, including views, retrns, blesses, subscriptions, and boosted post engagements.
🎯 Responsibilities
Route real earnings to:
Content creators
The DAO (platform cut)
Curators (via retrns)
Account for burned TRN due to negative feedback (e.g. brns)
Enforce all per-action splits in TRN according to locked-in platform rules
All calculations are informed by the TRNUsageOracle
, which stores real-time and Merkle-backed usage data.
🧩 Trigger Conditions
The PostVaultSplitter
only activates after the DailyVaultSplitter
finishes its job — at the start of each new UTC day. It receives a batch of Merkle-confirmed earnings tagged by action type and post hash, then processes those funds according to the logic described below.
It has no public functions and cannot be manually triggered by users.
🧾 Distribution Logic
Post View
1 TRN from viewer
0.9 TRN → creator, 0.1 TRN → DAO
Retrn View
1 TRN from retrn viewer
0.8 TRN → original post creator, 0.1 TRN → curator, 0.1 TRN → DAO
Bless
(View or retrn + bless)
Same payout as above (bless is recorded, not additional)
Burn (brn)
Viewer forfeits 1 TRN
1 TRN → DAO; original post earns 0 TRN
Boosted View
TRN from boost campaign pool
0.9 TRN → viewer, 0.1 TRN → DAO
Subscription View
Paid + gated view
Creator has already received subscription TRN via DailyVaultSplitter
Downranked Content
View flagged or brn'd
Payout forfeited; TRN → DAO
✅ Note: Boosted views are paid to the viewer, not the poster. These are drawn from a prepaid TRN campaign and treated as earnings for the viewer.
🔥 Burn Tracking
Posts that are brned:
Do not pay the poster any TRN for that view.
Still consume the viewer’s 1 TRN and forward it to the DAO.
Log the brn in the
BurnRegistry
for moderation/auditing.Can eventually trigger escalations via the
FlagEscalator
module.
🧱 Implementation Details
Input: Daily Merkle drop and tagged interaction data from
TRNUsageOracle
Output:
Transfers TRN to:
Creator wallets
Curators (retrn earners)
DAO vault (platform cut + brns)
Updates system-wide earnings logs for reporting and analytics
No external calls: All funds routed by the
DailyVaultSplitter
are internally re-assigned.
🛡️ Enforcement Rules
Retrns earn once per day per user per post
Users cannot retrn their own posts
Boost earnings are always paid to viewers, never the booster
A post cannot be brned twice by the same user
If a post is brned, it earns nothing for that view
Burned posts are excluded from feed and retrn lists permanently for that user
Boosted post retrns reference the original post, so retrn payouts still apply
🧮 Example
Scenario: A post receives:
10 views
3 retrns
1 brn
Total inflows:
10 TRN from views
3 TRN from retrn viewers
1 TRN from a brn (forfeited)
Payouts:
10 views → 9 TRN to creator, 1 TRN to DAO
3 retrns → 2.4 TRN to creator, 0.3 TRN to curators, 0.3 TRN to DAO
1 brn → 1 TRN to DAO, 0 TRN to creator
Total:
Creator: 11.4 TRN
DAO: 0.3 TRN
Curator: 2.3 TRN
🔗 Related Modules
TRNUsageOracle
Source of all real-time and Merkle-verified post interactions
BurnRegistry
Logs and audits brn events
FlagEscalator
Flags posts with suspicious burn ratios
DailyVaultSplitter
Feeds TRN into this splitter at end-of-day
BoostingModule
Handles boost campaign budgets and payout queues
CountryEscrowSplitter
Handles jurisdictional routing of earnings if needed
✅ Summary
Processes all TRN earned through post-based actions
Rewards creators, retrn curators, and the DAO according to strict rules
Works exclusively after Merkle verification
Ensures all user-generated content actions result in fair, on-chain earnings splits
Last updated