内容
# aero-allocator
MCP 服务器,用于预测 Base 上的 Aerodrome 池的**下一时期的需求**,并将其转化为具体的激励分配建议 — 为 [Aerodrome 的预测分配](https://cryptobriefing.com/aerodrome-predictive-allocation-dex-liquidity/) 时代(2026 年 7 月)而构建,其中激励遵循*预测的未来需求*而不是上一周的投票。
任何支持 MCP 的代理(Claude Code、Claude Desktop、Bankr-hosted 代理)都可以使用它来回答:
- 哪些池将在**下一时期**产生最多的费用?
- 哪些池的投票份额相对于预测的需求**定价过低**(“预测优势”)?
- 我应该如何分配我的 veAERO 投票/激励预算?
所有数据都来自 Base — Aerodrome Sugar 合约用于池状态和每个时期的历史记录,DefiLlama 用于 USD 定价。不需要 API 密钥。
## 工具
| 工具 | 功能 |
|---|---|
| `scan_pools` | 具有实时 TVL、质押 TVL、费用等级的 gauge-enabled 池 |
| `pool_history` | 每个时期的投票、排放、费用(USD)、贿赂(USD)用于一个池 |
| `predict_demand` | 每个池的下一时期费用预测 + **predictiveEdgePct**(预测需求份额 - 当前投票份额) |
| `recommend_allocation` | 加权分配:`protocol_efficiency`(∝ 预测需求份额)或 `voter_roi`(每票最大奖励,25% 浓度上限) |
| `prepare_vote_calldata` | 来自分配的未签名 `Voter.vote()` calldata - 通过您自己的钱包层提交(例如 Base MCP `send_calls`) |
| `predictive_allocation_status` | 直接预测分配提交是否已连接 |
**此服务器从不持有密钥或签名任何内容。** 执行是主机代理的任务,在明确的用户批准后执行。
## 快速入门
```bash
npm install
npm run smoke # 对 Base 主网进行实时端到端测试
npm run build
```
使用 Claude Code 注册:
```bash
claude mcp add aero-allocator -- npx tsx /path/to/aero-allocator/src/index.ts
```
或在任何 MCP 客户端配置中:
```json
{
"mcpServers": {
"aero-allocator": {
"command": "npx",
"args": ["tsx", "/path/to/aero-allocator/src/index.ts"],
"env": { "BASE_RPC_URL": "https://mainnet.base.org" }
}
}
}
```
代理流程示例:
> “预测顶级 Aerodrome 池的需求,推荐跨 8 个池的 `voter_roi` 分配,然后为我的 veAERO #12345 准备投票 calldata,并使用我的 Base 钱包提交。”
## 预测方法
对于每个候选池(按质押 TVL 排名前 N 名,TVL 底线以上):
1. 从 `RewardsSugar.epochsByAddress` 拉取最多 8 个每周时期的历史记录 - 投票、排放、费用、每个时期的激励 - 并将所有内容定价为 USD。
2. 将**进行中的时期**推断至完整长度,一旦 >20% 的时间过去(最新的需求信号)。
3. 预测下一时期的费用 = EWMA(α=0.45)+ ½ × 线性趋势,底线为 0。置信度得分来自历史深度和方差。
4. `predictiveEdge` = 预测的费用需求份额 - 当前投票份额。 正优势 → 低激励池:这正是预测市场分配器应该奖励的。
两个分配目标:
- **protocol_efficiency** — 权重 ∝ 预测的需求份额。这是预测分配的理想状态;对于指导激励的金库/协议以及基准测试实时机制非常有用。
- **voter_roi** — 最大化预期(费用 + 贿赂)每票,置信度收缩和优势提升,最高 25% 池限制,以免您的投票稀释回报。
## 预测分配适配器
Dromos Labs 公告了该机制,但尚未发布合约/ABI(截至 2026-07-06)。所有特定于机制的内容都存在于 `src/adapters/predictive-allocation.ts` 中的一个接口中 - 发布日,连接地址/ABI,然后 `prepare_submission` 启用。 在那之前,`prepare_vote_calldata` 针对经典 `Voter.vote()` 流程,该流程当前有效。
## 配置(环境变量)
| 变量 | 默认值 | |
|---|---|---|
| `BASE_RPC_URL` | `https://mainnet.base.org` | 使用专用 RPC 获取更快的快照 |
| `AERO_MIN_TVL_USD` | `50000` | 候选池 TVL 底线 |
| `AERO_MAX_CANDIDATES` | `60` | 接收完整时期历史分析的池 |
## 使用的合约(Base,8453)
| | |
|---|---|
| LpSugar v3 | `0x69dD9db6d8f8E7d83887A704f447b1a584b599A1` |
| RewardsSugar | `0x1b121EfDaF4ABb8785a315C51D29BCE0552A7678` |
| Voter | `0x16613524e02ad97eDfeF371bC883F2F5d6C480A5` |
## 路线图
- [ ] 预测分配实时适配器(发布日,当合约发布时)
- [ ] 社会/注意力信号(Farcaster 提及,代币列表)作为预测功能
- [ ] 回测工具:重放过去的时期,评估预测与实际费用,发布准确性
- [ ] x402 货币化托管端点(通过 Bankr 以 USDC 支付每预测)
- [ ] “预测热门池”仪表盘(Next.js + wagmi)
## 免责声明
预测是对链上历史的统计推断,而不是财务建议。始终在签名前审查 calldata。