Seashail

工具:借贷

通过 Aave、Compound、Kamino 和 Marginfi 进行供给、提取、借款、还款和读取借贷仓位。

借贷工具管理跨多个 DeFi 协议的仓位。所有写入工具需要策略审批。省略 protocol 时按链自动选择(EVM 默认 Aave,Solana 默认 Kamino)。

lend_tokens

向借贷协议供给代币。支持 Aave v3(EVM)、Compound v3(EVM)、Kamino(Solana)和 Marginfi(Solana)的原生执行。

参数

Prop

Type

交易载荷(回退)

当原生参数不足时,可以提供交易载荷。

EVM 交易载荷:

Prop

Type

Solana 交易载荷:

Prop

Type

适配器:

Prop

Type

各协议行为

  • EVM 链的默认协议 - 原生执行:Seashail 直接调用 Aave v3 Pool - 支持供给、提取、借款、还款 - 可用 pool_address 覆盖进行测试 - 供给操作不支持 amount=max
  • 显式设置 protocol: "compound" - 通过 Compound v3 Comet 原生执行 - 非默认市场可使用 comet_address 覆盖 - 使用 token: "base" 供给基础代币(baseToken())- 原生执行路径不支持 amount=max
  • Solana 链的默认协议 - 通过 Kamino 借贷原生执行 - 非默认市场可使用 market 覆盖 - 支持供给、提取、借款、还款
  • 显式设置 protocol: "marginfi" - 通过 Marginfi 原生执行 - 可用 group 覆盖 - 若省略 marginfi_account,使用最近创建的账户

响应

{
  "signature": "5UfD...txid",
  "chain": "ethereum",
  "protocol": "aave",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "amount": "1000",
  "status": "confirmed"
}

响应结构仅供参考,实际字段可能有所不同。

示例

{
  "chain": "ethereum",
  "protocol": "aave",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "amount": "1000",
  "amount_units": "ui"
}
{
  "chain": "solana",
  "protocol": "kamino",
  "token": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "500",
  "amount_units": "ui"
}

注意事项

  • 需要策略审批——借贷操作可能被自动批准、需要确认或被阻止,取决于策略配置和美元价值。
  • 协议按链自动选择:EVM 链默认 Aave,Solana 默认 Kamino。
  • Aave/Compound 供给路径不支持 amount=max
  • 若未提供原生参数,回退到交易载荷模式(EVM 需要 to/data,Solana 需要 tx_b64)。
  • 另见:DeFi 指南

withdraw_lending

从借贷协议提取已供给的代币。支持 Aave v3(EVM)、Compound v3(EVM)、Kamino(Solana)和 Marginfi(Solana)的原生执行。

参数

Prop

Type

交易载荷(回退)

交易载荷参数参见 lend_tokens(EVM:todatavalue_wei;Solana:tx_b64allowed_program_ids;适配器:asset)。

各协议行为

各协议特定详情参见上方的各协议行为。提取的主要区别:

  • Aave:支持 amount="max",但需要 usd_value 用于策略执行
  • Compound:原生执行路径不支持 amount="max"
  • Kamino/Marginfi:遵循标准 Solana 提取模式

响应

{
  "signature": "5UfD...txid",
  "chain": "ethereum",
  "protocol": "aave",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "amount": "500",
  "status": "confirmed"
}

响应结构仅供参考,实际字段可能有所不同。

示例

{
  "chain": "ethereum",
  "protocol": "aave",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "amount": "max",
  "amount_units": "ui",
  "usd_value": 500.0
}
{
  "chain": "base",
  "protocol": "compound",
  "token": "base",
  "amount": "100",
  "amount_units": "ui"
}

注意事项

  • 需要策略审批
  • 协议按链自动选择:EVM 链默认 Aave,Solana 默认 Kamino。
  • amount="max" 行为因协议而异:Aave 支持(需要 usd_value),Compound 不支持。
  • 另见:DeFi 指南

borrow_tokens

从借贷协议的抵押品中借出代币。支持 Aave v3(EVM)、Compound v3(EVM)、Kamino(Solana)和 Marginfi(Solana)的原生执行。

参数

Prop

Type

交易载荷(回退)

交易载荷参数参见 lend_tokens(EVM:todatavalue_wei;Solana:tx_b64allowed_program_ids;适配器:asset)。

各协议行为

各协议特定详情参见上方的各协议行为。借款的主要区别:

  • Aave:支持 interest_rate_mode(浮动或固定)
  • Compound:使用 token="base" 借出市场的基础代币
  • 所有协议:原生执行路径均不支持 amount=max

响应

{
  "signature": "5UfD...txid",
  "chain": "ethereum",
  "protocol": "aave",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "amount": "200",
  "interest_rate_mode": "variable",
  "status": "confirmed"
}

响应结构仅供参考,实际字段可能有所不同。

示例

{
  "chain": "ethereum",
  "protocol": "aave",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "amount": "200",
  "amount_units": "ui",
  "interest_rate_mode": "variable"
}
{
  "chain": "base",
  "protocol": "compound",
  "token": "base",
  "amount": "50",
  "amount_units": "ui"
}

注意事项

  • 需要策略审批
  • 协议按链自动选择:EVM 链默认 Aave,Solana 默认 Kamino。
  • 原生执行路径不支持 amount=max
  • Aave 通过 interest_rate_mode 支持浮动和固定利率模式。
  • 对于 Compound v3,token 必须为市场的基础代币。使用 token="base" 作为 baseToken() 的简写。
  • 另见:DeFi 指南

repay_borrow

偿还借贷协议上的借款。支持 Aave v3(EVM)、Compound v3(EVM)、Kamino(Solana)和 Marginfi(Solana)的原生执行。

参数

Prop

Type

交易载荷(回退)

交易载荷参数参见 lend_tokens(EVM:todatavalue_wei;Solana:tx_b64allowed_program_ids;适配器:asset)。

各协议行为

各协议特定详情参见上方的各协议行为。还款的主要区别:

  • Aave:支持 amount="max",但需要 usd_value 用于策略执行;支持 interest_rate_mode
  • Compound:原生执行路径不支持 amount="max";使用 token="base" 表示基础代币
  • Kamino/Marginfi:遵循标准 Solana 还款模式

响应

{
  "signature": "5UfD...txid",
  "chain": "ethereum",
  "protocol": "aave",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "amount": "200",
  "interest_rate_mode": "variable",
  "status": "confirmed"
}

响应结构仅供参考,实际字段可能有所不同。

示例

{
  "chain": "ethereum",
  "protocol": "aave",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "amount": "max",
  "amount_units": "ui",
  "usd_value": 200.0,
  "interest_rate_mode": "variable"
}
{
  "chain": "solana",
  "protocol": "kamino",
  "token": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "100",
  "amount_units": "ui"
}

注意事项

  • 需要策略审批
  • 协议按链自动选择:EVM 链默认 Aave,Solana 默认 Kamino。
  • amount="max" 行为因协议而异:Aave 支持(需要 usd_value),Compound 不支持。
  • Aave 通过 interest_rate_mode 支持浮动和固定利率模式。
  • 对于 Compound v3,token 必须为市场的基础代币。使用 token="base" 作为 baseToken() 的简写。
  • 另见:DeFi 指南

get_lending_positions

只读借贷/借款仓位。支持 Aave v3(EVM)、Compound v3/Comet(EVM)、Kamino(Solana)和 Marginfi(Solana)的原生读取。其他协议回退到已配置的 DeFi 适配器。

参数

Prop

Type

响应

{
  "protocol": "aave",
  "chain": "ethereum",
  "positions": [
    {
      "token": "0xA0b8...",
      "symbol": "USDC",
      "supplied": "1000.0",
      "supplied_usd": 1000.0,
      "borrowed": "0",
      "borrowed_usd": 0,
      "apy_supply": 3.2,
      "apy_borrow": null
    }
  ],
  "health_factor": 2.5
}

响应结构仅供参考,实际字段可能有所不同。

示例

{
  "chain": "ethereum",
  "protocol": "aave"
}
{
  "chain": "solana",
  "protocol": "kamino"
}

注意事项

  • 这是只读工具,无需策略审批。
  • 协议特定覆盖(pool_addresscomet_addressmarketgroupmarginfi_account)主要用于测试或非默认部署。
  • 协议按链自动选择:EVM 链默认 Aave,Solana 默认 Kamino。
  • 对于 Marginfi,若省略 marginfi_account,Seashail 使用最近创建的账户(尽力而为)。
  • 另见:DeFi 指南

目录