Skip to content

Aave V3

Source kind: native (custom MCP) · Network: Ethereum Sepolia · KH routing: mutates only

ToolMutates?Description
aave_get_user_account_datanoTotal collateral, total debt, available borrows, current LTV, liquidation threshold, health factor.
aave_approve_poolyesApprove the Aave V3 Pool contract to spend an ERC-20 (gate for supply, repay).
aave_supplyyesSupply an asset to receive an aToken position.
aave_borrowyesBorrow an asset against your collateral.
aave_repayyesRepay outstanding debt for an asset.
aave_withdrawyesWithdraw an asset by burning the aToken.
You: deposit 10 USDC into aave
↳ calling aave_approve_pool { token: "USDC", amount: "10" }
↳ keeperhub: workflow wf_5d2e... → tx 0x4b9a... → confirmed
↳ calling aave_supply { token: "USDC", amount: "10" }
↳ keeperhub: workflow wf_b71f... → tx 0x9c2d... → confirmed
Done. Supplied 10 USDC. You hold ~10 aUSDC.

Every Aave write is annotated mutates: true, so the KeeperHub middleware wraps each call in a workflow. Reads (get_user_account_data) are annotated readonly: true and bypass.

src/tools/aave/ — six small files:

  • contracts.ts — Pool / WETHGateway addresses, ABIs
  • tokens.ts — Sepolia token registry (USDC, DAI, ETH, WETH, …)
  • actions/*.ts — one file per tool, all viem-based
  • source.tsNativeToolSource registration
  • index.ts — barrel export