mcpField
A
aave

aave

github.com/starchild-ai-agentOther30322 installsUpdated 6d ago
Repository

About aave

aave is a script-based skill for supplying tokens to Aave V3 lending pools, withdrawing them, and viewing positions. It is for users managing lending positions across six supported networks and runs through Python exports rather than registered tools.

Key features

  1. 01View Aave V3 positions
  2. 02Supply tokens to lending pools
  3. 03Withdraw partial or full amounts
  4. 04Support six networks and specified tokens
  5. 05Call through Python exports functions

Use cases

  1. 01Review positions on supported networks
  2. 02Supply a supported token to Aave V3
  3. 03Withdraw part or all of a balance

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/starchild-ai-agent/official-skills --skill aave

After installing, type/aavein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

_trade_report.py
aave.py
exports.py

Details

From the project README

Aave V3 Yield Farming

Supply tokens into Aave V3 lending pools to earn yield, withdraw at any time, and view positions across multiple chains.

Supported Networks: Ethereum, Arbitrum, Base, Optimism, Polygon, Avalanche.

Runtime Mode

This skill is script-only. It does not register aave_* tools.

Call via Python exports:

  • aave_positions(chain)
  • aave_supply(chain, token, amount)
  • aave_withdraw(chain, token, amount=0, max=False)

Imports: from skills.aave.exports import aave_positions, aave_supply, aave_withdraw

Wallet dependency is runtime-only via core.wallet_runtime.

Prerequisites

Before supply/withdraw, wallet policy must allow the transaction path.

Supported Tokens by Chain

ChainUSDCUSDTDAIWETHWBTC
Ethereumyesyesyesyesyes
Arbitrumyesyesyesyesyes
Polygonyesyesyesyesyes
Optimismyesyesyesyesyes
Avalancheyesyesyesyesyes
Baseyes—yesyes—

Script Examples

Read positions:

import asyncio
from skills.aave.exports import aave_positions

async def main():
    result = await aave_positions(chain="arbitrum")
    print(result)

asyncio.run(main())

Supply 100 USDC:

import asyncio
from skills.aave.exports import aave_supply

async def main():
    result = await aave_supply(chain="arbitrum", token="USDC", amount=100)
    print(result)

asyncio.run(main())

Withdraw partial / all:

import asyncio
from skills.aave.exports import aave_withdraw

async def main():
    part = await aave_withdraw(chain="arbitrum", token="USDC", amount=50)
    print(part)
    full = await aave_withdraw(chain="arbitrum", token="USDC", max=True)
    print(full)

asyncio.run(main())

Error Handling

ErrorCauseSolution
Unknown chainInvalid chain nameUse: ethereum, arbitrum, base, optimism, polygon, avalanche
Unknown tokenToken not available on that chainCheck supported tokens table
Insufficient balanceNot enough tokens in walletCheck wallet balance before supply
Amount must be positiveZero or negative amountUse a positive number
Policy violationWallet policy blocks transactionUpdate wallet policy
Not running on a Fly MachineLocal dev environmentSupply/withdraw require deployed env with wallet

Comments

Markdown supported