Skip to main content

Protocol Fee Collector

Purpose

Aggregate protocol fees and route them to treasury destinations.

Scope

This contract collects fees and forwards them. It does not compute rewards or manage deposits.

Actors and Roles

  • Owner configures distributors and approvals.
  • Gateways and apps deposit fees.
  • Splitters and distributors pull funds when authorized.

Core flows

  • depositFee / depositFeeFor transfer fees into the collector.
  • notifySplitter approves and calls a splitter's notifyFeeReceived.
  • notifyRewardDistributor approves and funds the reward distributor.
  • withdraw allows owner to route funds to treasury addresses.
  • Categories can tag fees for apps or games without changing core PoD logic.
  • allocateOlympFees distributes OLYMP fees to founder, rewards, burn, and treasury buckets.
  • setOlympConfig and setOlympAllocations configure OLYMP routing parameters.

Allocation is permissionless to call once parameters are set. Allocations apply to OLYMP only; stablecoin fees are unaffected in MVP.

Rewards note

rewardDistributor can be configured to point at EpochRewardDistributor for multi-gateway rewards, or to the legacy RewardDistributor during migration.

Guarantees

  • Deposits are explicit and evented.
  • Funds only move via authorized calls.