Documentation Index
Fetch the complete documentation index at: https://docs.sherwood.sh/llms.txt
Use this file to discover all available pages before exploring further.
Strategy templates are ERC-1167 clonable contracts deployed once per chain. Each proposal clones a template, initializes it with custom parameters, then uses the clone in governor batch calls.
strategy list
Show available strategy templates and their deployed addresses.
strategy clone <template>
Clone a template and initialize it. Returns the clone address for use in proposal batch calls.
sherwood strategy clone moonwell-supply \
--vault 0x... \
--amount 10 \
--min-redeem 9.9 \
--token USDC
The clone is deployed and initialized on-chain. The proposer (your wallet) pays gas for both transactions.
strategy propose <template>
All-in-one command: clone + initialize + build batch calls + submit proposal (or write JSON files).
Write calls to files (for manual proposal creation)
sherwood strategy propose venice-inference \
--vault 0x... \
--amount 500 --asset USDC --min-vvv 900 \
--write-calls ./venice-calls
# Then submit manually:
sherwood proposal create \
--vault 0x... \
--name "Venice Inference" \
--performance-fee 0 --duration 7d \
--execute-calls ./venice-calls/execute.json \
--settle-calls ./venice-calls/settle.json
Submit directly
sherwood strategy propose moonwell-supply \
--vault 0x... \
--amount 10000 --min-redeem 9900 --token USDC \
--name "Moonwell USDC Yield" \
--description "Supply 10k USDC for 7 days" \
--performance-fee 1000 --duration 7d
Template-Specific Options
moonwell-supply
| Flag | Description | Default |
|---|
--amount <n> | Amount of asset to supply | required |
--min-redeem <n> | Min asset on settlement | same as amount |
--token <symbol> | Asset token (USDC, WETH) | USDC |
venice-inference
| Flag | Description | Default |
|---|
--amount <n> | Amount of asset to deploy | required |
--asset <symbol> | Asset token (USDC, VVV, or address) | USDC |
--agent <address> | Agent wallet receiving sVVV | your wallet |
--min-vvv <n> | Min VVV from swap (required if asset != VVV) | — |
--single-hop | Direct asset-to-VVV swap | false |
aerodrome-lp
| 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 |
wsteth-moonwell
Supply wstETH as Moonwell collateral. If the asset is not wstETH, the CLI swaps asset → wstETH via the Base Uniswap router before supply. Base only.
| Flag | Description | Default |
|---|
--amount <n> | Asset amount to deploy | required |
--token <symbol> | Asset token symbol | USDC |
--slippage <bps> | Swap slippage tolerance in bps | 500 |
mamo-yield
Deposit asset into a Mamo yield strategy via the Mamo StrategyFactory. Base only.
| Flag | Description | Default |
|---|
--amount <n> | Asset amount to deploy | required |
--mamo-factory <address> | Mamo StrategyFactory address | required |
portfolio
Weighted basket of tokens (stock tokens, crypto) with on-chain rebalancing. Built on UniswapSwapAdapter with automatic multi-hop routing: the adapter tries direct USDC→token pools first, then falls back to USDC→WETH→token for tokens without direct pools (added in PR #176). Available on Base and Robinhood L2.
| Flag | Description | Default |
|---|
--amount <n> | Total asset amount to allocate | required |
--tokens <list> | Comma-separated token addresses or symbols | required |
--weights <list> | Comma-separated weights in bps (must sum to 10000) | required |
--max-slippage <bps> | Max per-swap slippage in bps | 500 |
--fee-tier <n> | Uniswap V3 pool fee tier | 3000 |
--swap-adapter <address> | Override swap adapter | auto-detected |
See the Portfolio strategy reference for mechanics and risk notes.
hyperliquid-perp
Open a leveraged perpetual futures position on Hyperliquid via the HyperEVM strategy template. HyperEVM only.
| Flag | Description | Default |
|---|
--amount <n> | USDC collateral to deploy | required |
--leverage <n> | Leverage multiplier | 10 |
--asset-index <n> | HyperCore perp asset index (0 = BTC, 3 = ETH) | 0 |
--min-return <n> | Min USDC return amount on settlement | — |
--max-position <amount> | Max position size in USD | 100000 |
--max-trades-per-day <n> | Max trades per day | 50 |
See the Hyperliquid Perp strategy reference for mechanics, liquidation risk, and settlement flow.
How It Works
- Clone: The CLI deploys an ERC-1167 minimal proxy pointing to the template singleton. Cost: ~50k gas.
- Initialize: Calls
strategy.initialize(vault, proposer, data) with your parameters. Cost: ~100-200k gas.
- Build calls: Generates
execute.json and settle.json with the correct approve + execute/settle batch calls.
- Submit: Either writes files for
proposal create or calls governor.propose() directly.
The vault trusts the governor — no separate allowlisting step is needed for strategy clones.