Fee Distribution
All post-graduation fee operations are permissionless — anyone can trigger distribution, and the split is enforced on-chain with no admin override.
Fee Split
When distributeFees(token) is called, the accumulated pendingFees[token] are split:
| Recipient | Share | Mechanism |
|---|---|---|
| Deployer | 30% | Credited to deployerBalance[token] — deployer withdraws via withdrawDeployerFees() |
| Platform | 10% | Added to platformBalance — processed via processPlatformFees() |
| Reinvest | 60% | Swapped into tokens and added as LP via _reinvestAsLiquidity() |
Reinvestment Mechanics
The 60% reinvestment share works as follows:
- Half the ETH is swapped into tokens via the Universal Router (fee-free internal swap)
- The other half ETH + acquired tokens are added as liquidity to the existing LP position
- Any leftover token dust is sent to the dead address (burned)
Reinvestment swaps include slippage protection: the expected token output is estimated from the current spot price, and a minimum output of expected * (1 - 4.8%) is enforced. If a sandwich attack pushes the price beyond this tolerance, the transaction reverts.
Platform Token Special Case
Fees from the platform token's pool go 100% to platformBalance — they are not split 30/10/60. When processPlatformFees() is called, the entire platform balance is reinvested as liquidity into the platform token's pool.
Distribution Thresholds
| Threshold | Base | BSC | Purpose |
|---|---|---|---|
DISTRIBUTE_THRESHOLD | 0.0004 ETH | 0.0008 BNB | Minimum pending fees for reinvestment to execute |
PLATFORM_THRESHOLD | 0.001 ETH | 0.002 BNB | Minimum platform balance for processing |
If pendingFees are below the distribute threshold, the deployer and platform shares are still credited, but the reinvest portion is kept in pendingFees until it accumulates enough.
Buy-and-Burn Alternative
Instead of the standard 30/10/60 split, the deployer can choose to use all pending fees for a buy-and-burn operation via buyAndBurn(token). This takes 10% platform fee first (unless it's the platform token), then swaps the rest into tokens sent to the dead address. This is deployer-only and uses all pending fees to prevent platform fee bypass.
Deployer Fee Withdrawal
After distribution, the deployer calls withdrawDeployerFees(token) to withdraw their accumulated balance. Only the registered deployer can call this function.