Productivity

grimoire-aave

franalgaba/grimoire · updated Apr 8, 2026

$npx skills add https://github.com/franalgaba/grimoire --skill grimoire-aave
summary

Query Aave V3 market data, reserve snapshots, and health metrics across supported chains.

  • Provides six command categories: health checks, chain listings, market metadata, individual market details, reserve information, and bulk reserve queries
  • Supports Ethereum and Base with automatic RPC configuration via preflight doctor command
  • Outputs JSON, table, or spell format (for direct strategy input); reserves command can emit params: blocks for downstream consumption
  • Read-only metadata
skill.md

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 <rpc> --json

Commands

  • grimoire venue aave health — check Aave protocol health
  • grimoire venue aave chains — list supported chains
  • grimoire venue aave markets --chain <id> [--user <address>] — list markets on a chain (optionally with user positions)
  • grimoire venue aave market --chain <id> --address <market> [--user <address>] — single market details
  • grimoire venue aave reserve --chain <id> --market <address> --token <address> — single reserve details
  • grimoire venue aave reserves --chain <id> [--market <address>] [--asset <symbol|address>] — list reserves with optional filters
  • grimoire venue aave reserves-snapshot --chain <id> [--market <address>] [--asset <symbol|address>] — generate spell params: block for reserves (agent-only)

Examples

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.

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:

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.