mv_plan_rollover
Automates planning rollovers for expiring MetaVault positions by scanning Spectra and Pendle, estimating transition costs, timing entry, and ranking candidates by net effective APY.
Instructions
Plan position rollovers for expiring MetaVault positions.
When a MetaVault position approaches maturity, the curator must: (1) identify the next pool, (2) estimate transition costs, (3) time the entry, (4) execute the rollover.
This tool automates steps 1-3 by scanning Spectra and Pendle for rollover candidates matching the expiring position's underlying asset, computing entry impact at the position's capital size, and ranking by effective APY.
Returns per expiring position: ranked list of rollover candidates with entry impact, yield gap (days of zero yield during transition), overlap window (if entering before old matures), and net effective APY after transition costs.
Use spectra_get_curator_dashboard to see which positions are approaching maturity. Use mv_scan_curator_opportunities for broader cross-protocol opportunity discovery. Use spectra_get_pool_capacity to assess depth at your capital size for specific candidates.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | The blockchain network where the MetaVault lives. | |
| metavault_address | Yes | The MetaVault contract address. Use spectra_list_metavaults to discover addresses. | |
| pt_address | No | Specific position PT address to plan rollover for. If omitted, plans for all positions expiring within 30 days. | |
| max_maturity_days | No | Plan rollovers for positions expiring within this many days (default 30). Ignored when pt_address is specified. | |
| capital_usd | No | Override position size for impact calculation. If omitted, uses the position's current allocation. | |
| top_n | No | Number of top rollover candidates per position (default 5). | |
| include_looping | No | Whether to check Morpho looping availability for candidates (default true). | |
| verify_onchain | No | Pre-flight halt-check on the SOURCE MetaVault before showing rollover candidates. Off by default — the candidate ranking does NOT depend on chain-truth (it ranks on candidate pool liquidity + lpApy, not source TVL). When true, reads the source vault's Safe + infraVault + secondaryVault via the same engine that powers spectra_get_curator_dashboard (5-min cache shared with the dashboard, so a curator who just rendered the dashboard hits cache for free). A halt-check line at the top of the output flags catastrophic / topology-shifted conditions (paused, role-inversion, missing bytecode, broken accounting, wrapper-signature-broken) that should make the curator pause before executing any rollover. Failures degrade to [✗] — the candidate listing still renders. Dissolution: if telemetry shows zero verify_onchain=true invocations within 60 days of ship, the flag is fossil. |