Skip to main content

Roles and Permissions

This page outlines all roles, modifiers, and permissions across the Orion Finance protocol smart contracts.


Vault-Level Roles

Manager

The manager is responsible for the vault. The manager address is set during vault creation.

Strategist

The strategist is responsible for submitting portfolio allocation intents. The strategist can be either:

  • A wallet address (active management);
  • A smart contract implementing IOrionStrategist (passive management).

User

A User is any address that can interact with vaults to deposit assets, redeem shares, and manage their deposit/redemption requests. User access can be configured as either permissionless or permissioned based on the vault's access control settings via the specific IOrionAccessControl implementation.

Protocol-Level Roles

Admin

The admin is the same entity that owns all protocol-level contracts: OrionConfig, LiquidityOrchestrator, TransparentVaultFactory, and PriceAdapterRegistry.

Security Implementation: The admin role is implemented as a multi-signature Gnosis Safe wallet. Signers follow robust security practices and multiple approvals are required for administrative actions.

Guardian

A designated address for emergency response under Terms of Service §7.4. Policy intent limits Guardian exercise to emergency pause scenarios—responding to broken invariants, anomalous states, or other acute protocol risk, not routine operational tuning or discretionary efficiency adjustments.

Automation Registry

The Automation Registry is an off-chain service responsible for driving the protocol's epoch-based rebalancing cycle. This external service monitors LiquidityOrchestrator via the checkUpkeep() function and automatically executes upkeep when conditions are met.


Permission Matrix

Vault-Level Functions

FunctionManagerStrategistUser
updateFeeModelYesNoNo
claimVaultFeesYesNoNo
setDepositAccessControlYesNoNo
updateStrategistYesNoNo
submitIntentNo*YesNo
requestDepositYesYesYes
cancelDepositRequestYesYesYes
requestRedeemYesYesYes
cancelRedeemRequestYesYesYes
redeemYesYesYes

Note: A manager can set themselves as the strategist of a vault using updateStrategist, which would allow them to submit intents.

Factory Functions

FunctionWhitelisted ManagerAdmin
createVaultYesNo
setVaultBeaconNoYes

Note: The createVault caller becomes the vault manager. The factory enforces whitelisting via OrionConfig.isWhitelistedManager.

OrionConfig Functions

FunctionAdminGuardianManager
setLiquidityOrchestratorYesNoNo
setVaultFactoryYesNoNo
setPriceAdapterRegistryYesNoNo
setProtocolRiskFreeRateYesNoNo
setMinDepositAmountYesYesNo
setMinRedeemAmountYesYesNo
setFeeChangeCooldownDurationYesNoNo
setMaxFulfillBatchSizeYesYesNo
setGuardianYesNoNo
addWhitelistedAssetYesNoNo
removeWhitelistedAssetYesNoNo
addWhitelistedManagerYesNoNo
removeWhitelistedManagerYesNoNo
removeOrionVaultYesNoYes
updateProtocolFeesYesNoNo

LiquidityOrchestrator Functions

FunctionAdminGuardianAutomation Registry
pauseYesYesNo
unpauseYesNoNo
updateEpochDurationYesNoNo
updateMinibatchSizeYesNoNo
updateExecutionMinibatchSizeYesNoNo
updateCommitmentMinibatchSizeYesNoNo
updateAutomationRegistryYesNoNo
updateVerifierYesNoNo
updateVKeyYesNoNo
setTargetBufferRatioYesNoNo
setSlippageToleranceYesNoNo
withdrawLiquidityYesNoNo
claimProtocolFeesYesNoNo
performUpkeepYesNoYes