Multi-chain yield optimizer running auto-compounding vaults across 20+ EVM chains. Wraps LP tokens, single-asset deposits, and CLM (concentrated liquidity manager) positions into auto-harvesting `mooTokens`.
- 01auto-compounded LP yield
- 02multi-chain vault aggregation
- 03single-tx zap into farms
- 04concentrated-liquidity rebalancing (CLM)
- pnpm add viem
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_BEEFY_API | Client | Beefy public API base URL: https://api.beefy.finance. Use /vaults, /apy, /tvl endpoints (no key needed). |
Integrate Beefy auto-compounding vaults. Discover vaults via `GET https://api.beefy.finance/vaults` (returns `id`, `earnContractAddress`, `tokenAddress`, `chain`, `status`). To deposit: approve `tokenAddress` to the vault, then call `IBeefyVault(earnContractAddress).deposit(uint256 amount)` or `depositAll()` — you receive `mooTokens` (non-rebasing, share price rises). To exit: `withdraw(uint256 shares)` or `withdrawAll()`. For one-click entry from any token, use the `BeefyZapRouter` (per-chain address) which swaps and deposits atomically. Read live APY from `GET https://api.beefy.finance/apy/breakdown` (separates vault APR, trading fee APR, and compounding boost). For CLM (Cowcentrated Liquidity Manager) vaults, the underlying is a managed Uni v3 / Aerodrome / PancakeSwap v3 position, not an LP token — withdrawals return both pool tokens.
- ⚑Vaults are PER-CHAIN: the same vault `id` does not exist on every chain; always join `id` with `chain` when persisting to your DB.
- ⚑`mooToken` price-per-share (`balance() / totalSupply()`) only grows on `harvest()` calls — if the harvester pauses, displayed APY decays. Check `lastHarvest` timestamp in the API.
- ⚑CLM vaults rebalance positions and can realize impermanent loss on rebalances; APY shown is net of historical IL but not future IL.
- ⚑LP-token vaults expose users to the underlying AMM pair's IL — wrapping in Beefy does not eliminate IL, only auto-compounds the trading fees and reward emissions.
- ⚑Vault `status` can be `active`, `paused`, or `eol` (end-of-life). Filter your UI to `active` and warn users on `eol` vaults that auto-harvest has stopped.
- ⚑Withdrawal can incur a small (typically 0.0%–0.1%) withdrawal fee that goes to the strategy treasury — surface this in your UI before users sign.
- ⚑Beefy charges a performance fee on harvested rewards (typically 9.5%) deducted before compounding — APY shown is post-fee.