aero-vote-radar
Scans Aero's pool, gauge, and rewards contracts on Ethereum mainnet hourly, pulling fees and incentives to rank pools by what a given amount of sAERO earns per day after dilution.
Scans Aero's contracts on OP Mainnet as one of seven supported networks, ranking its pools by daily yield for a stake and reporting allocations and 47-hour timers for wallet stakes on that network.
Covers Aero's deployment on Robinhood Chain: pool and incentive data is scanned hourly so its pools are ranked and split recommendations include that network's gauges and timers.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aero-vote-radarrecommend vote allocation for 25000 veAERO"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aero-vote-radar
You hold sAERO. Which pools pay you the most?
Aerodrome became Aero on October 22, 2026. Weekly veAERO voting is gone: you stake AERO as sAERO, allocate it to pools on any of Aero's seven networks, and earn those pools' fees and incentives, split by how much sAERO each pool holds. You can move a stake again 47 hours after you last allocated it on a network.
This radar answers one question from live on-chain data: where does your sAERO earn the most per day, after your own stake dilutes the pool?

Three ways to run it
Web page | aero.deftools.xyz: nothing to install. Type your sAERO or paste a wallet. |
CLI |
|
MCP server |
|
All three read the same hourly scan, so a pool ranks the same everywhere. No API keys, no wallet connection, no signatures: it reads, you allocate.
What it does
Prices your own dilution. A pool paying $100 a day to 90,000 sAERO pays your 10,000 sAERO $10, not the $11 the pre-stake rate suggests. Every figure is what your amount earns once it joins the pool.
Splits a large stake. Past a certain size, a second pool beats piling more into the first. The split is built in 5% steps, each going where it adds the most, and kept to at most 3 pools so it can be typed into Aero by hand.
Shows which pools keep paying. Each hour's rate is kept for 30 days, open in
docs/data/v3-history.json. A pool is steady when at least 75% of 24+ hourly samples over the last week paid half its own average or more. A pool that paid once in a burst doesn't make that list.Reads your wallet. Your stakes, where each one is allocated on every network, its 47 h timer there, and what your current split pays a day against the suggested one.
Shows where the best allocators are pointed. The 10 sAERO positions (10,000+) that earned the most per sAERO over the last 7 days (dromos.kitchen's ranking), with each one's current split read live from the LeafVoters — on the web page, under "What the top allocators hold now".
Related MCP server: recon-crypto-mcp
How the figures are made
A GitHub Actions job (.github/workflows/v3.yml) scans Aero's contracts on
Base, Ethereum, OP Mainnet, Arbitrum, Ink, Robinhood Chain and Arc every
hour at :47 and publishes docs/data/v3.json, which the page, the CLI and the
MCP server all read:
Pools come from each network's FactoryRegistry: gauge factories, then gauges, then their pools and rewards contracts.
Fees are the
FeesCollectedevents swept to each gauge's rewards contract over the last 96 hours (shorter in the first days after launch), turned into dollars per day with DefiLlama prices.Incentives are the programs streaming right now, at their per-second rate.
Allocated sAERO is the gauge's weight on the LeafVoter.
Your share per day = (fees + incentives) × your sAERO ÷ (pool's sAERO + your sAERO).
Pools with under 100,000 sAERO allocated are left out: one stake would move their rate.
The wallet lookup reads Aero's contracts directly (app.aero.xyz/docs/security):
stakes from the VotingEscrow on Base, and on every network that network's
LeafVoter for the stake's split and timer
(lastAllocated + allocationCooldown − accumulatedCooldownReduction).
Rates move hour to hour. Fees arrive in lumps and incentive programs start and end. Treat any figure as today's rate, not a promise.
Install
Requires Node.js 18.18 or newer.
npm install -g aero-vote-radar # or skip this and use npxFrom source:
git clone https://github.com/araxis33/aero-vote-radar
cd aero-vote-radar
npm install
npm run buildCLI usage
npx aero-vote-radar pools # best pools for 10,000 sAERO, all networks
npx aero-vote-radar pools --amount 250000 --chain base # for your amount, one network
npx aero-vote-radar pools --steady # only pools that kept paying
npx aero-vote-radar recommend --amount 250000 # suggested split
npx aero-vote-radar recommend --address 0xYourWallet # split for your stake + your timers
npx aero-vote-radar my-stakes 0xYourWallet # stakes, allocations, timers--chain takes base, ethereum, optimism, arbitrum, ink, robinhood
or arc. Add --json to any command for machine-readable output.
Example (live, 2026-10-25):
Suggested split for 250,000 sAERO:
% Pool Type Network sAERO You/day
50 WETH/REI CL100 Base 125,000 $29.36
25 USDC/ULc CL10 Base 62,500 $15.63
25 USDC/SANc CL10 Base 62,500 $15.54
About $60.52 a day in total, at today's rates.
Enter it on https://app.aero.xyz/markets/allocate (Aero has no link that pre-fills a split).As an MCP server
npx aero-vote-radar-mcp # from a clone: npx tsx src/mcp-server.tsIn Claude Code: claude mcp add aero-vote-radar -- npx -y aero-vote-radar-mcp.
An agent should read SKILL.md first. Tools:
list_pools: pools ranked by what an amount of sAERO earns a day after dilution. Optionalchain,top,steadyOnly.recommend_allocation: the split for anamount, or for a walletaddress(then also its current split and 47 h timers).get_my_stakes: a wallet's stakes, allocations per network, timers and what its current split pays.
Example prompts:
"Using aero-vote-radar, where should 50,000 sAERO go?"
"Check 0xMyWallet on Aero: when can I move my stakes, and is there a better split?"
"Which Aero pools on Base have paid steadily this week?"
Configuration
Variable | What it does |
| Read the scan from another copy of |
| Your own Base RPC, tried first for wallet reads and used by the scan. |
| RPC for the scan's fee logs on Base (default Tenderly's public gateway). |
Project layout
src/
radar.ts ranking, dilution, the 5% split, steady pools (shared by CLI and MCP)
stakes.ts wallet reads: stakes, timers and allocations on 7 networks
cli.ts the aero-vote-radar command
mcp-server.ts the aero-vote-radar-mcp server
v3.ts scan of one network's Aero contracts
v3-cli.ts hourly scan of all 7 networks -> docs/data/v3.json + docs/llms.txt
v3History.ts hourly samples and the steady-pool rule
v3Llms.ts docs/llms.txt for AI assistants
topAllocators.ts dromos.kitchen's top sAERO positions and their live splits
prices.ts DefiLlama prices
docs/ the web page, its data and llms.txt (GitHub Pages)Testing
npm testThe tests cover the ranking and dilution maths, the split (5% steps, at most
3 pools, always 100%, spreading beats all-in for a large stake), the steady
rule, the scan and its fee window, wallet timers and current-split pay, flag
parsing and the CLI's exit codes, all with synthetic data and no network.
Live reads are checked by running the CLI and MCP server against mainnet.
CI (.github/workflows/ci.yml) runs the typecheck, build and tests on every push.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Official Aave MCP for V3 and V4 markets, positions, governance, and transaction preparation.
23-in-1 MCP server: EVM tx simulator, funding rate arb, macro radar, swap calldata & security.
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
Deterministic MCP utilities, validation, evidence verification, and x402 commerce on Base.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP (Model Context Protocol) server for the MAIN DEX on Base. Provides AI agents (Claude, Cursor, etc.) with tools to interact with the protocol: swap tokens, manage liquidity, enter/exit ALM strategies(10% APY), and more.MIT
- AlicenseAqualityAmaintenanceSelf-custodial crypto portfolio and DeFi MCP server. Read balances and positions (Aave, Compound, Morpho, Uniswap V3, Lido, EigenLayer) across Ethereum, Arbitrum, Polygon, and Base, and prepare transactions for approval on a Ledger via WalletConnect.10084 npm4Business Source 1.1
- FlicenseNot gradedqualityDmaintenanceAutonomous MCP server for DeFi yield optimization, enabling yield opportunity discovery, treasury snapshots, market signals, and portfolio rebalancing.-
- AlicenseAqualityCmaintenanceMCP server that forecasts next-epoch demand for Aerodrome pools on Base and turns it into concrete incentive-allocation recommendations.610MIT