Yearn Roles & Governance
Role Architecture
The Yearn V3 Role Architecture for a BaseStrategy
centers around three primary roles: Manager, Keeper, and Fee Recipient. Each role has distinct responsibilities to ensure smooth operations, proper governance, and secure profit realization.
Primary Roles and Responsibilities
Role
Responsibilities
Manager
Controls key parameters, executes emergency functions, and configures fees.
Keeper
Triggers state updates via report()
calls, enabling profit realization.
Fee Recipient
Passively receives performance fees during profit distribution.
Manager
The Manager oversees the configuration of critical strategy parameters, handles role assignments, and executes emergency controls when needed.
Responsibilities:
Parameter Control:
Configures
profitMaxUnlockTime
(profit unlocking duration).Sets
performanceFee
(fee percentage).Assigns
performanceFeeRecipient
(fee distribution address).Assigns the
keeper
role.
Emergency Functions:
Enables or disables the strategy via the
shutdown
flag.Executes emergency actions through the
emergencyAdmin
.
Role Management:
Manages 2-step ownership transfers (
management
andpendingManagement
).
Manager-Controlled Fields (in StrategyData
struct):
Keeper
The Keeper is responsible for maintaining strategy operations by periodically calling the report()
function. This role focuses on ensuring accurate profit realization and portfolio updates.
Responsibilities:
Report Calls:
Executes
report()
to calculatetotalAssets
, determine profit/loss, and trigger profit unlocking.Updates the
lastReport
timestamp and related state fields.
Keeper-Accessible Fields (in StrategyData
struct):
Key Features of report()
:
Calculates the new
totalAssets
.Determines realized profit or loss.
Sets
profitUnlockingRate
and updatesfullProfitUnlockDate
.Records the
lastReport
timestamp for tracking.
The Keeper does not directly control strategy parameters but ensures the system operates within defined configurations by updating state through reporting.
Fee Recipient
The Fee Recipient passively receives performance fees during profit realization.
Responsibilities:
Collects performance fees as specified by the strategy (e.g., 10% of realized profits by default).
Receives fees directly into the designated address (
performanceFeeRecipient
) during thereport()
process.
The Fee Recipient does not perform any actions or control parameters—it simply receives the allocated fees as part of the profit distribution.
Last updated