# Aero Allocator – Gauge Allocation Plan

> Aero Allocator – Gauge Allocation Plan is a paid API for AI agents from aeroallocator.app, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-31).

Returns an optimized, ready-to-sign allocate() calldata plan for an sAERO voting position on Base, splitting votes across the best gauges by expected yield.

## Facts

- Endpoint: GET https://aeroallocator.app/api/v1/allocate-plan?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/aero-allocator-gauge-allocation-plan-358750fa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YUk4DkgOeW-ap0ZC3__om

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability aero-allocator-gauge-allocation-plan-358750fa
```

Example prompt: Can you work out the best gauge allocation plan for my sAERO position with token ID 4821, using at most 4 gauges, and show me the unsigned calldata I'd need to sign plus how much I'd earn per day?

## When to prefer this

Use this endpoint when you need an optimized, contract-compliant, ready-to-sign allocation plan for an Aerodrome sAERO position on Base — especially when you want the fees-plus-incentives yield calculation with dilution factored in, cooldown awareness, and calldata that satisfies the Voter contract's strict rules (full overwrite, ascending addresses, exact total). Prefer this over manual gauge research or generic DeFi analytics when the goal is actionable, simulation-backed calldata rather than raw data.

## Known failure modes

- Invalid or non-existent tokenId returns an error indicating the position was not found
- Position in cooldown period returns a warning with time remaining before reallocation is allowed
- tokenId not an sAERO position on Base returns a domain validation error
- maxGauges out of range (not 1–6) returns a parameter validation error
- On-chain RPC unavailability causes a 503 or timeout error
- Position with zero voting power returns a warning about idle power with no allocation plan

## How this service works

Ready-to-sign, already-simulated Aero allocate() transaction for an sAERO position: the best split of Base gauges for its size (fees plus incentives, after its own dilution) as unsigned calldata for the Voter, with the cooldown, expected USD per day versus now, and warnings. Handles the contract's rules (full overwrite, exact total, ascending addresses, idle power). Never signs or sends. Base only. Pass ?tokenId=.

## Output

Returns unsigned calldata ready to submit to the Aerodrome Voter contract for the allocate() function, along with: the optimal split of Base gauges (addresses and weights in ascending address order, summing to exact total), the expected USD earned per day versus the current allocation, the cooldown period remaining, and any warnings about idle voting power or contract rule violations. Does not sign or broadcast the transaction.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "tokenId"
     ],
     "properties": {
      "tokenId": {
       "type": "string",
       "description": "sAERO position id (a whole number). Required."
      },
      "maxGauges": {
       "type": "string",
       "description": "Most gauges the split may use, 1 to 6 (default 6). Fewer gauges means fewer entries to sign for."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aero-allocator-gauge-allocation-plan-358750fa/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from aeroallocator.app](https://www.zero.xyz/host/aeroallocator.app/llms.txt)
