Skip to main content

Olla Protocol Overview

Olla is a liquid staking protocol for Aztec. It is split into two main contract groups: OllaVault (ERC-7540/ERC-4626 vault that holds user assets, mints stAztec, and manages async withdrawals) and OllaCore (orchestration and accounting engine that coordinates rebalancing, staking, and fee computation). OllaCore instructs OllaVault via CORE_ROLE during rebalance cycles, while OllaVault delegates pricing to OllaCore via view calls.

Architecture overview

Contract architecture

Roles

User

No special role required. Any address can call these functions. Users interact with OllaVault, which implements ERC-7540 (async redemptions) and ERC-4626 (sync deposits).

Permissionless Operations

No special role required. Anyone can call these functions (rebalance is cooldown-gated).

Guardian

Requires GUARDIAN_ROLE on OllaCore, OllaVault, and SafetyModule.

Staking Provider Admin

Requires STAKING_PROVIDER_ADMIN_ROLE on StakingProviderRegistry.

Governance

The governance admin wallet holds proposer, executor, and canceller roles on OllaGovernance, which inherits TimelockControllerUpgradeable. All governance actions (parameter changes, upgrades, governance transfers) must be scheduled, wait for the timelock delay, and then executed. OllaGovernance is the owner of OllaCore and OllaVault (via Ownable2Step) and holds DEFAULT_ADMIN_ROLE on all satellite contracts.

Action references