Skip to main content
CreatorFeeRouter receives STK creator fees from Pons in ETH and turns them into supplier yield. Anyone can call sweep, which wraps ETH, sells it for USDG along the WETH zap route, and routes the USDG. Below $100k of pool assets every dollar is donated to USDGPool. At or above that, 30% is donated, 40% goes to the FeeCollector reserve, and 30% to the treasury. The contract must be the pool’s yieldDistributor and has no withdraw function. CreatorFeeRouter lets you:
  • Convert accumulated ETH and WETH creator fees to USDG
  • Donate USDG to sUSDG holders during bootstrap
  • Split USDG between pool, reserve, and treasury after the TVL trigger
Addresses per network. Every address is also on Addresses. The source code is src/token/CreatorFeeRouter.sol on GitHub. The ABI is /abis/CreatorFeeRouter.json.

Write methods

sweep

Wraps any ETH balance, swaps the full WETH balance to USDG along the registry’s WETH route with the registry slippage cap, then routes all USDG held. Below tvlTrigger everything is donated to the pool. Otherwise 30% is donated, 30% is credited to treasury, and the remainder (40%) to reserve. Permissionless. Reverts with InvalidRoute if WETH has no allowed route to USDG and ZeroAmount if no USDG results.
The TVL check happens before this sweep’s donation, so a pool just under the trigger still receives the full amount.

Events

Swept

Fires on every sweep with the ETH in, USDG out, and the split into donated, reserve, and treasury.

Errors

ZeroAddress

A constructor address was zero, or the registry has no DEX router.

NotDistributor

The pool’s yieldDistributor is not this contract at deployment.

ZeroAmount

The swap returned 0 or no USDG was available to route.

InvalidRoute

WETH has no allowed route ending in USDG.

AssetMismatch

The FeeCollector’s USDG or pool does not match the pool at deployment.