Olla Protocol
Olla is a liquid staking protocol for Aztec. Users deposit Aztec tokens and receive stAztec, a liquid receipt token that accrues staking rewards over time.
Looking to stake?
If you just want to stake your Aztec tokens, head to the Olla app. It has a built-in guide and FAQ covering how staking works, fees, and risks.
The protocol is built on four contract groups:
- 🏦 Vault: OllaVault holds user assets, mints stAztec, and manages async withdrawals via the WithdrawalQueue.
- ⚙️ Core: OllaCore orchestrates rebalancing, computes the exchange rate, and distributes fees. The SafetyModule monitors protocol health and triggers circuit breakers.
- 🔑 Staking: StakingManager interfaces with the Aztec rollup to stake, unstake, and track attester state. The StakingProviderRegistry manages attester keys.
- 🏛️ Governance: OllaGovernance timelocks all parameter changes and upgrades.
Key features
- Liquid staking: Deposit Aztec tokens and receive stAztec, tradable and usable in DeFi.
- Permissionless operations: Anyone can call rebalancing and accounting. No operator dependency.
- Async withdrawals: FIFO withdrawal queue with slashing protection for fair payouts.
- Instant redemptions: Exit immediately from the buffer pool (fee applies).
- Cross-chain bridging: stAztec bridges to other chains via LayerZero V2.
- Circuit breakers: Automatic pause on rate drops, queue pressure, or stale accounting.
- Timelocked governance: All parameter changes and upgrades go through a governance timelock.
Where to start
| I want to... | Go to |
|---|---|
| 📖 Understand how stAztec and the exchange rate work | Liquid Staking |
| 💰 See how fees are calculated and distributed | Fee Structure |
| 🛡️ Learn about circuit breakers and pause mechanics | Safety Mechanisms |
| 🤖 Run rebalance, accounting, or the Butler bot | Permissionless Operations |
| 🔑 Manage attester keys and provider rewards | Staking Provider Guide |
| 🚨 Respond to a circuit breaker or incident | Emergency Playbook |
| 🔧 Understand how upgrades work and what to check | Upgrade Safety |
| 🚀 Deploy the protocol to a new network | Deployment Checklist |
| 📜 Look up a specific contract's methods and events | Contracts Overview |
| 📍 Find deployed addresses on Sepolia or Mainnet | Deployed Contracts |
| 🔒 Review the protocol's trust model | Trust Assumptions |
Source code
The smart contracts are in ollafinance/core. The Butler bot is in ollafinance/olla-butler.