Skip to main content

CreatorGaugeController

Fee collection and distribution hub for creator vaults.


Source

ContractPath
CreatorGaugeControllercontracts/governance/CreatorGaugeController.sol

Purpose

CreatorGaugeController is the central fee routing contract. It receives trading fees from ShareOFT and WETH from V4 tax hooks, accumulates them until a threshold is reached, then distributes to lottery, burn, and voter allocations.

The controller ensures predictable, transparent fee distribution with configurable splits.


System role


Key behaviors

Fee accumulation

Fees accumulate in the controller until two conditions are met:

  1. Pending fees exceed the distribution threshold
  2. Sufficient time has passed since last distribution

This batching reduces gas costs and ensures meaningful distribution amounts.

Distribution split

RecipientAllocationEffect
Lottery69%Funds jackpot for random prizes
Burn21.39%Burns ▢TOKEN, increases price per share
Voters9.61%Rewards for ve4626 voters

WETH handling

V4 tax hooks pay fees in WETH. The controller:

  1. Swaps WETH to TOKEN via configured DEX
  2. Deposits TOKEN to vault for ▢TOKEN
  3. Distributes ▢TOKEN using the same split

Invariants

InvariantDescription
Split totals 100%All allocation BPS must sum to 10000
Threshold gatingDistribution only when threshold met
Accounting accuracyLifetime stats match actual distributions

Configuration

ParameterDefaultDescription
Distribution threshold100 ■TOKENMinimum to trigger distribution
Distribution interval1 hourCooldown between distributions
Burn share21.39%Share burned for PPS increase
Lottery share69%Share to lottery jackpot
Voter share9.61%Share to voter rewards

Integration points

Integrates withPurpose
ShareOFTReceives ■TOKEN fees
V4 Tax HookReceives WETH fees
LotteryManagerFunds jackpot
VoterRewardsDistributes voter rewards
VaultBurns shares for PPS

Implementation details

For function signatures and events, see the source code.

Key implementation notes:

  • Burn operation unwraps ■TOKEN to ▢TOKEN before burning
  • WETH swap uses configured router (typically Uniswap)
  • forceDistribute() allows management to bypass threshold