TheDocumentation Index
Fetch the complete documentation index at: https://docs.sherwood.sh/llms.txt
Use this file to discover all available pages before exploring further.
AerodromeLPStrategy provides liquidity to an Aerodrome pool on Base and optionally stakes the LP tokens in a gauge to earn AERO rewards. On settlement, it unstakes, claims rewards, removes liquidity, and pushes all tokens back to the vault.
Architecture
Stable vs Volatile Pools
Stable Pool
For correlated assets (e.g., USDC/USDbC). Uses the
stable = true flag. Lower fees, tighter curve.Volatile Pool
For uncorrelated assets (e.g., USDC/WETH). Uses
stable = false. Standard AMM curve.Lifecycle
| Phase | What happens | Who calls |
|---|---|---|
| Execute | Pull tokenA + tokenB → addLiquidity → stake LP in gauge | Governor (proposal execution) |
| Executed | LP earns trading fees; gauge earns AERO rewards | — |
| Settle | Unstake LP → claim AERO → removeLiquidity → push all to vault | Governor (proposal settlement) |
Any dust (unused tokens from addLiquidity) is returned to the vault immediately during execution.
Batch Calls
Execute
Settle
Gauge Staking
Gauge staking is optional. Pass--gauge <address> to enable it.
- If a gauge is set, the strategy stakes all LP tokens after adding liquidity
- On settlement, LP is withdrawn from the gauge and AERO rewards are claimed
- The gauge’s
stakingTokenmust match thelpTokenaddress (validated at initialization) - If no gauge is set, LP tokens sit in the strategy clone (earning trading fees only)
InitParams
CLI Usage
| Flag | Description | Default |
|---|---|---|
--token-a <address> | Token A address | required |
--token-b <address> | Token B address | required |
--amount-a <n> | Token A amount | required |
--amount-b <n> | Token B amount | required |
--stable | Stable pool (correlated assets) | false |
--gauge <address> | Gauge for AERO rewards | none |
--lp-token <address> | LP token address | required |
--min-a-out <n> | Min token A on settle | 0 |
--min-b-out <n> | Min token B on settle | 0 |
Tunable Parameters
While inExecuted state, the proposer can update settlement slippage:
| Parameter | Description |
|---|---|
minAmountAOut | Minimum tokenA on removeLiquidity |
minAmountBOut | Minimum tokenB on removeLiquidity |
Allowlist Targets
Targets are pool-specific — gauge and LP token addresses vary per pool.Addresses (Base Mainnet)
| Contract | Address |
|---|---|
| AerodromeLPStrategy template | 0x6fba9a6D3F40AA1848Ad196564B27a430D29FdB0 |
| Aerodrome Router | 0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43 |
| Aerodrome Default Factory | 0x420DD381b31aEf6683db6B902084cB0FFECe40Da |
| AERO Token | 0x940181a94A35A4569E4529A3CDfB74e38FD98631 |