merkl_list_campaigns
List live Merkl incentive campaigns on a chain to discover subsidized borrow rates, LP yields, and token holding rewards.
Instructions
Discover live Merkl incentive campaigns on a given chain.
Returns all active Merkl campaigns with APR, reward tokens, daily rewards, TVL, and campaign type. Essential for understanding subsidized rates:
Morpho borrow campaigns: Merkl can PAY borrowers, making net borrow cost negative
LP campaigns: additional yield on top of base pool APR
HOLD campaigns: rewards for simply holding a token
Use this to verify whether a borrow rate is subsidized, find new incentive opportunities, or understand the full yield stack of any position.
Campaign types: CLAMM (concentrated LP), ERC20LOGPROCESSOR (Morpho/lending), MORPHOVAULT, etc. Action types: POOL (LP only), HOLD (token holders), BORROW, LEND.
Data completeness: the underlying Merkl API is fully paginated (all campaigns fetched, not truncated) and cached 15min in-memory + 30min on disk. Chains like Ethereum mainnet have 1,800+ campaigns — all are indexed. When asset_filter is provided, it also applies server-side filtering for targeted lookups.
When an agent says "no subsidy exists" — check here first. The subsidy layer is invisible to protocol-native tools unless explicitly integrated.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain to search for Merkl campaigns | |
| asset_filter | No | Filter campaigns by asset symbol or name (case-insensitive substring match). E.g., 'ynRWAx', 'USDC', 'Morpho'. | |
| min_apr | No | Minimum campaign APR to include (default 0) | |
| top_n | No | Number of campaigns to return (default 20, max 100) |