Manage & Claim Fees
Register the curator
The vault.owner() sets the curator in CuratorRegistry. This links a vault to the curator address that will manage fee settings and claim curator fees.
Find the up-to-date CuratorRegistry address on the Addresses page.
Register curator example
Curators are set via setCurator on CuratorRegistry (Contract | Interface).
curatorRegistry.setCurator(vaultAddress, curatorAddress)Authorization rules:
- First-time curator: the caller must be the
vault.owner(). - Updating curator: the caller must be the current curator.
// Owner sets first curator
vm.prank(vaultOwner);
curatorRegistry.setCurator(vaultAddress, curatorAddress);
// Current curator changes to new curator
vm.prank(currentCurator);
curatorRegistry.setCurator(vaultAddress, newCuratorAddress);Fees
The system supports three categories of fees, each with default and network-specific settings:
- Curator fee
- Operator fee
- Protocol fee
Curators configure fee settings in FeeRegistry (Contract | Interface). These fees are applied when rewards are distributed.
Only the vault’s curator can set fees for that vault:
setCuratorFee(vault, fee)sets the default curator fee.setCuratorNetworkFee(vault, network, enable, fee)sets a network-specific curator fee.setOperatorsFee(vault, fee)sets the default operator fee.setOperatorsNetworkFee(vault, network, enable, fee)sets a network-specific operator fee.
The fees cen be obtained via:
getOperatorsFee(vault, network)- operator feegetCuratorFee(vault, network)- curator feeprotocolFee(rewardsType, network)- protocol fee
Fee Related Calculations
The protocol fees can be taken either from the distribution amount or on top of. To convert distribution amounts between before/after protocol fee deduction (Rewards Contract | Rewards Interface):
- Distribution to Total:
Rewards.distributionToTotalAmount(uint64 rewardsType, address network, uint256 distributionAmount)converts a distribution amount (after fees) to a total amount. - Total to Distribution:
Rewards.totalToDistributionAmount(uint64 rewardsType, address network, uint256 totalDistributionAmount)converts a total amount (before protocol fees) to a distribution amount.
Claim process
Curators claim fees from Rewards.sol (Contract | Interface) using claimCuratorFees.
function claimCuratorFees(address recipient, address vault, address token) public