--- name: grimoire-aave description: Fetches Aave V3 public market data using the Grimoire venue CLI. Use when you need Aave health checks, chain listings, market metadata, or reserve info. --- # Grimoire Aave Skill Use this skill to query Aave V3 metadata and reserve snapshots for strategy inputs. Preferred invocations: - `grimoire venue aave ...` - `npx -y @grimoirelabs/cli venue aave ...` (no-install) - `bun run packages/cli/src/index.ts venue aave ...` (repo-local) - `grimoire-aave ...` (direct binary from `@grimoirelabs/venues`) Recommended preflight: - `grimoire venue doctor --adapter aave --chain 1 --rpc-url --json` ## Commands - `grimoire venue aave health` — check Aave protocol health - `grimoire venue aave chains` — list supported chains - `grimoire venue aave markets --chain [--user
]` — list markets on a chain (optionally with user positions) - `grimoire venue aave market --chain --address [--user
]` — single market details - `grimoire venue aave reserve --chain --market
--token
` — single reserve details - `grimoire venue aave reserves --chain [--market
] [--asset ]` — list reserves with optional filters - `grimoire venue aave reserves-snapshot --chain [--market
] [--asset ]` — generate spell `params:` block for reserves (agent-only) ## Examples ```bash grimoire venue aave health grimoire venue aave health --format table grimoire venue aave chains grimoire venue aave markets --chain 1 --format table grimoire venue aave market --chain 1 --address 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2 grimoire venue aave reserve --chain 1 --market 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2 --token 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 grimoire venue aave reserves --chain 1 --asset USDC --format table grimoire venue aave reserves --chain 1 --asset USDC --format spell grimoire venue aave reserves-snapshot --chain 1 --asset USDC ``` Use `reserves-snapshot` to emit a `params:` block for spell inputs. This is an agent-only command (output suppressed in interactive mode). ## Supported Chains | Chain | Market Address | |-------|---------------| | Ethereum (1) | `0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2` | | Base (8453) | `0xA238Dd80C259a72e81d7e4664a9801593F98d1c5` | ## Spell Constraints Aave V3 actions do not currently support runtime constraints (`max_slippage`, `min_output`, etc.). The adapter handles approvals and amount conversion automatically. ```spell aave_v3.lend(USDC, params.amount) aave_v3.withdraw(USDC, params.amount) aave_v3.borrow(USDC, params.amount) aave_v3.repay(USDC, params.amount) ``` ## Metric Surface (Spell Comparisons) Aave exposes the `apy` metric surface for comparisons: ```spell aave_apy = apy(aave, USDC) aave_apy_generic = metric("apy", aave, USDC) ``` Use this in conditional logic (for example, compare against Morpho APY before reallocating). ## Amount Format The `@aave/client` SDK uses different amount formats per action: | Action | Format | Example (0.1 USDC) | |--------|--------|---------------------| | supply | `value: "0.1"` | Human-readable BigDecimal | | borrow | `value: "0.1"` | Human-readable BigDecimal | | withdraw | `value: { exact: "100000" }` | Raw amount in `exact` wrapper | | repay | `value: { exact: "100000" }` | Raw amount in `exact` wrapper | The adapter handles this conversion automatically. ## Notes - Read-only metadata endpoints only. - Outputs JSON/table; `reserves` also supports `--format spell`. - Prefer `--format json` in automation; use table for quick interactive checks.