Swap / DEX·Ethereum · Base · BNB Chain · zkSync Era
Maverick Protocol
Dynamic Distribution AMM with directional liquidity. v2 introduces `Mode`s — `Static`, `Right` (follow up), `Left` (follow down), and `Both` — that automatically slide LP liquidity bins as price moves, plus Boosted Positions (BPs) that incentivize specific bins with reward tokens.
- 01directional / one-sided LP strategies
- 02auto-shifting concentrated liquidity
- 03Boosted Position-based pool incentives
- 04veMAV gauge voting and emissions direction
- 05tight stablepair / LST-LST liquidity
- pnpm add viem wagmi
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_ETH_RPC_URL | Client | Ethereum mainnet (or target chain) RPC URL used to query Maverick v2 pools and routers. |
Use Maverick v2 for directional LPing and swaps. Pools are deployed via the v2 `Factory` and identified by `(tokenA, tokenB, feeAIn, feeBIn, lookback, tickSpacing, kinds)`. Quote with the v2 `Quoter` (`calculateSwap(pool, amount, tokenAIn, exactOutput, tickLimit)`) and execute via the v2 `Router` (`exactInputSingle`/`exactOutputSingle`/`exactInput`). Add liquidity through `MaverickV2Position` (an ERC-721 holding bin positions) using one of four `Mode`s — `Static`, `Right`, `Left`, `Both` — that determine how liquidity slides with price. Boosted Positions are minted via `BoostedPositionFactory.createBoostedPositionFromBoostedPositionVault(...)` and represent a fixed liquidity distribution as ERC-20 shares; reward tokens are streamed via `RewardContract.notifyRewardAmount`. veMAV holders vote on `Voter` to direct MAV emissions to gauges.
- ⚑Mode choice is non-trivial: `Right` mode rebalances upward as price rises (capturing trend) but bleeds in chop; `Static` is plain concentrated LP; `Both` is two-sided sliding — picking the wrong mode for the pair's volatility profile leads to compounding IL.
- ⚑Maverick uses asymmetric fees (`feeAIn` / `feeBIn`) per pool — the same token pair can have multiple pools with different fee structures; quoting with one fee but trading another silently picks the wrong pool.
- ⚑Boosted Positions are ERC-20 shares of a fixed bin distribution: when the BP's range goes out of price, the BP earns no swap fees and rewards may continue accruing — APR display can mask 100% IL.
- ⚑Bin tickSpacing + lookback are immutable per pool; changing them requires a new pool deployment and full liquidity migration.
- ⚑veMAV voting is epoch-based and gauges can be killed by governance — votes on a killed gauge are wasted, and emissions follow voted gauges only.
- ⚑Position NFTs are transferable but per-bin sub-liquidity is not directly redeemable from the NFT — you must call the position-manager's burn flow to extract individual bin balances.