Aave信用委托代理Skill agent-credit

这是一个基于Aave协议的信用委托自动化技能,允许用户(委托人)将其在Aave上的借款额度安全地委托给AI代理(代理人)。代理人可以自主地从Aave V2/V3协议中借入指定资产(如USDC、WETH),用于gas自筹、DCA投资、资产兑换等DeFi操作,同时内置多重安全检查(健康因子、授权额度、单笔上限)确保委托人抵押头寸安全,避免清算风险。适用于量化交易、DeFi自动化、AI智能体金融操作等场景。 关键词:Aave信用委托,DeFi自动化,AI代理借款,智能合约交互,量化金融,区块链借贷,健康因子监控,安全借款,DeFi机器人,跨链DeFi

DeFi 0 次安装 0 次浏览 更新于 2/24/2026

name: agent-credit description: 通过信用委托从Aave借款。代理人通过抵押委托人的资产来自主借款。支持借款、还款、健康检查。适用于Aave V2/V3。

Aave信用委托

使用委托信用从Aave借款。您的主钱包提供抵押品,并将借款权限委托给代理钱包。代理人随后可以在需要时自主借款——债务将计入委托人的头寸。

协议: 适用于 Aave V3Aave V2 —— 信用委托的函数签名(borrow, repay, approveDelegation, borrowAllowance)在两个版本中完全相同。只需替换V2的LendingPool和ProtocolDataProvider地址。唯一的表面区别:V3以美元(8位小数)返回抵押/债务价值,V2以ETH(18位小数)返回。健康因子安全检查在两者上均正常工作。

兼容性

  • OpenClaw — 作为技能安装,代理人可自主借款
  • Claude Code — 直接从Claude Code会话运行脚本
  • 任何代理框架 — 纯bash + Foundry的cast,在任何有shell的地方都能工作

Bankr 技能结合,用于“借款-然后-兑换”流程:通过委托借入USDC,然后使用Bankr进行兑换、跨链或部署。

信用委托工作原理

Aave V3中的信用委托将两件事分开:借款能力委托授权

借款能力是整体性的。 它来自您所有资产的全部抵押头寸。如果您存入价值1万美元的ETH,贷款价值比(LTV)为80%,那么您就有8000美元的借款能力——仅此而已。该借款能力不锁定于任何特定资产。

委托授权是按债务代币隔离的。 您通过调用各个VariableDebtToken上的approveDelegation()来控制代理人可以借入哪些资产以及每种资产多少额度。每种资产都有自己的债务代币合约,每次授权都是独立的。

这意味着您可以,例如:

  • 存入ETH作为抵押品(为您提供广泛的借款能力)
  • 授权代理人最多借入500 USDC(通过USDC VariableDebtToken)
  • 授权代理人最多借入0.1 WETH(通过WETH VariableDebtToken)
  • 不授权cbETH(代理人完全无法借入它)

代理人只能借入您明确授权的资产,最高至您设定的额度——但借款容量来自您的总抵押品,而非任何单一存款。

您的抵押品(整体性)              委托授权(隔离性)
┌─────────────────────────┐             ┌──────────────────────────────┐
│  $5k ETH                │             │  USDC债务代币 → 代理人: 500  │
│  $3k USDC               │  ───LTV───▶ │  WETH债务代币 → 代理人: 0.1  │
│  $2k cbETH              │   = $8k     │  cbETH债务代币 → 代理人: 0   │
│  总计: $10k @ 80% LTV   │   容量      └──────────────────────────────┘
└─────────────────────────┘

流程

委托人(您的主钱包)                 代理人钱包(被委托人)
    │                                        │
    │  1. 向Aave提供抵押品                   │
    │  2. 在VariableDebtToken上调用          │
    │     approveDelegation(代理人地址, 额度) │
    │                                        │
    │            ┌─── 3. borrow(资产,         │
    │            │       金额, onBehalfOf     │
    │            │       = 委托人)            │
    │            │                            │
    │     [债务记在您的头寸上]    [代币进入代理人钱包]
    │            │                            │
    │            └─── 4. repay(资产,          │
    │                    金额, onBehalfOf     │
    │                    = 委托人)            │

快速开始

先决条件

  1. 必须安装Foundrycast CLI):

    curl -L https://foundry.paradigm.xyz | bash && foundryup
    
  2. 委托人设置(由用户执行一次,非代理人):

    • 向Aave V3提供抵押品(通过app.aave.com或合约)
    • 在您希望代理人借入的资产的VariableDebtToken上调用approveDelegation(代理人地址, 最大额度)
    • 可通过以下命令找到VariableDebtToken地址:cast call $DATA_PROVIDER "getReserveTokensAddresses(address)(address,address,address)" $ASSET --rpc-url $RPC
  3. 配置技能

    mkdir -p ~/.openclaw/skills/aave-delegation
    cat > ~/.openclaw/skills/aave-delegation/config.json << 'EOF'
    {
      "chain": "base",
      "rpcUrl": "https://mainnet.base.org",
      "agentPrivateKey": "0x您的代理人私钥",
      "delegatorAddress": "0x您的主钱包地址",
      "poolAddress": "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5",
      "dataProviderAddress": "0x2d8A3C5677189723C4cB8873CfC9C8976FDF38Ac",
      "assets": {
        "USDC": {
          "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "decimals": 6
        },
        "WETH": {
          "address": "0x4200000000000000000000000000000000000006",
          "decimals": 18
        }
      },
      "safety": {
        "minHealthFactor": "1.5",
        "maxBorrowPerTx": "1000",
        "maxBorrowPerTxUnit": "USDC"
      }
    }
    EOF
    
  4. 验证设置

    scripts/aave-setup.sh
    

核心用法

检查状态(授权额度、健康因子、债务)

# 完整状态报告
scripts/aave-status.sh

# 检查特定资产的委托
scripts/aave-status.sh USDC

# 仅检查健康因子
scripts/aave-status.sh --health-only

通过委托借款

# 借入100 USDC
scripts/aave-borrow.sh USDC 100

# 借入0.5 WETH
scripts/aave-borrow.sh WETH 0.5

借款脚本自动执行:

  1. 检查委托授权额度(是否充足?)
  2. 检查委托人健康因子(借款是否安全?)
  3. 执行借款
  4. 报告结果

偿还债务

# 偿还100 USDC
scripts/aave-repay.sh USDC 100

# 偿还全部USDC债务
scripts/aave-repay.sh USDC max

还款脚本自动执行:

  1. 授权Pool花费代币(如果需要)
  2. 执行还款
  3. 报告剩余债务

安全系统

每次借款操作在执行前都会运行以下检查:

  1. 委托授权额度 — 剩余授权额度是否 >= 请求金额?
  2. 健康因子 — 借款后委托人的健康因子是否 > minHealthFactor(默认1.5)?
  3. 单笔交易上限 — 金额是否 <= maxBorrowPerTx
  4. 确认 — 在发送前记录完整的操作详情

如果任何检查失败,借款将中止并显示清晰的错误信息。

⚠️ 代理人绝不能绕过安全检查。 如果用户要求代理人借款而健康因子过低,代理人应拒绝并解释原因。

功能

读取操作(无需gas)

  • 检查委托授权额度 — 代理人还能借多少?
  • 检查健康因子 — 委托人的头寸是否安全?
  • 检查未偿债务 — 委托人在每种资产上欠多少?
  • 检查可用流动性 — Aave池中是否有足够的资金可供借出?
  • 解析债务代币地址 — 查找任何资产的VariableDebtToken

写入操作(需要代理人钱包中的gas)

  • 借款 — 从Aave提取资金,使用委托信用
  • 还款 — 返还借入的资金以减少委托人的债务
  • 授权 — 授权Pool花费代币用于还款

支持的链

池地址 Gas成本
Base 0xA238Dd80C259a72e81d7e4664a9801593F98d1c5 非常低
Ethereum 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2
Polygon 0x794a61358D6845594F94dc1DB02A252b5b4814aD 非常低
Arbitrum 0x794a61358D6845594F94dc1DB02A252b5b4814aD

完整地址列表(包括债务代币)请参见deployments.md

常见模式

代理人自筹gas

# 检查是否有足够的gas
BALANCE=$(cast balance $AGENT_ADDRESS --rpc-url $RPC)
if [ "$BALANCE" -lt "1000000000000000" ]; then  # < 0.001 ETH
  # 借入少量WETH用于gas
  aave-borrow.sh WETH 0.005
fi

借款 + 通过Bankr兑换

# 从委托信用借入USDC
aave-borrow.sh USDC 100
# 使用Bankr兑换为ETH
bankr.sh "在Base上将100 USDC兑换为ETH"

定期定额投资(DCA)

# 代理人每周借入USDC并兑换为ETH
aave-borrow.sh USDC 100
bankr.sh "在Base上将100 USDC兑换为ETH"

安全优先的投资组合再平衡

# 始终先检查健康因子
aave-status.sh
# 仅在健康时借款
aave-borrow.sh USDC 500

配置参考

config.json字段

字段 必需 描述
chain 链名称(base, ethereum, polygon, arbitrum)
rpcUrl JSON-RPC端点URL
agentPrivateKey 代理人钱包私钥(0x前缀)
delegatorAddress 委托信用的用户主钱包地址
poolAddress Aave V3池合约地址
dataProviderAddress Aave V3 PoolDataProvider地址
assets 符号 → {地址, 小数位}的映射
safety.minHealthFactor 借款后的最小健康因子(默认:1.5)
safety.maxBorrowPerTx 每笔交易最大借款额(默认:1000)
safety.maxBorrowPerTxUnit maxBorrowPerTx的单位(默认:USDC)

环境变量(覆盖配置)

变量 覆盖项
AAVE_RPC_URL rpcUrl
AAVE_AGENT_PRIVATE_KEY agentPrivateKey
AAVE_DELEGATOR_ADDRESS delegatorAddress
AAVE_POOL_ADDRESS poolAddress
AAVE_MIN_HEALTH_FACTOR safety.minHealthFactor

错误处理

错误 原因 解决方法
INSUFFICIENT_ALLOWANCE 超出委托授权额度 委托人必须再次调用approveDelegation()
HEALTH_FACTOR_TOO_LOW 借款可能导致清算风险 减少金额或增加抵押品
AMOUNT_EXCEEDS_CAP 达到单笔交易安全上限 减少金额或更新配置
INSUFFICIENT_LIQUIDITY Aave池中资金不足 尝试较小金额或不同资产
INSUFFICIENT_GAS 代理人钱包没有原生代币 向代理人钱包发送gas
EMODE_MISMATCH 资产与委托人的eMode不兼容 借入同一eMode类别中的资产

安全

完整威胁模型和应急程序请参见safety.md

关键规则:

  1. 委托人的私钥绝不能出现在此仓库、配置或脚本中 — 这是代理人的工作空间。委托人通过Aave UI或区块浏览器管理自己的部分。
  2. 切勿将config.json提交到版本控制 — 它包含代理人的私钥
  3. 切勿将minHealthFactor设置为低于1.2 — 清算发生在1.0
  4. 始终限制委托额度 — 切勿批准type(uint256).max
  5. 监控委托人健康因子 — 如果健康因子降至2.0以下,请设置警报
  6. 代理人必须拒绝在安全检查失败时借款,即使被指示也要拒绝

资源