mcpField
E
ethena

ethena

github.com/starchild-ai-agent其他30273 次安装6 天前更新
代码仓库

关于 ethena

ethena 是用于 Ethena USDe 质押操作的 Agent 技能,面向查询收益、查看余额及执行质押或赎回的用户。它提供实时汇率和冷却期查询,并指导交易签名与广播流程。

主要功能

  1. 01查询实时汇率和冷却期
  2. 02查看 USDe 与 sUSDe 余额
  3. 03查询当前及历史 APY
  4. 04生成质押与赎回交易数据

适用场景

  1. 01检查质押前的汇率与冷却期
  2. 02查询 sUSDe 收益率及钱包余额
  3. 03质押 USDe 并签名广播交易
  4. 04冷却期后领取赎回资产

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/ethena确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

__init__.py
exports.py
scripts/
ethena_ops.py
tests/
test_ethena_remote.py

详细介绍

⛔ 硬性规则(始终先阅读)

  • 始终在执行任何链上操作前调用 ethena_rate——冷却时长实时从链上获取,并非固定值
  • 绝不直接调用 wallet_transfer——只能使用 ethena_* 原生工具(在全拒绝策略下,wallet_transfer 会触发 UI 阻止)
  • 绝不将冷却时间硬编码为“7 天”——每次请求都会获取实际值(目前约为 24 小时)
  • 绝不猜测或假定 sUSDe/USDe 汇率——调用 ethena_rate
  • 硬性限制:每个用户请求最多调用 5 次工具
  • 链上执行:ethena_* 返回 calldata 后,通过 wallet_sign_transaction 签名并广播——绝不跳过或模拟执行

Ethena — USDe 质押

Ethena 允许用户质押 USDe 以获得 sUSDe,这是一种产生收益的 ERC4626 代币。奖励来自 ETH 质押收益和资金费率差额对冲。sUSDe 的价值只会上升或保持不变,绝不会下降。

关键合约(Ethereum 主网)

合约地址
USDe0x4c9EDD5852cd905f086C759E8383e09bff1E68B3
sUSDe (StakedUSDe)0x9D39A5DE30e57443BfF2A8307A4256c8797A3497
USDeSilo(冷却)0x7FC7c91D556B400AFa565013E3F32055a0713425

原生工具

工具使用时机返回值
ethena_rate()查询汇率、任何交易前、检查冷却时间rate、totalAssets、totalSupply、cooldown_seconds
ethena_apy()询问 APY / 收益率 / 回报apy_current、apy_7d、apy_30d、tvl_usd
ethena_balance(wallet)检查余额usde_balance、susde_balance、cooldown_end_ts
ethena_stake(amount, receiver)质押 USDe2 份交易 calldata(approve + deposit)
ethena_cooldown_start(amount)开始解除质押冷却交易 calldata + 实时 cooldown_hours
ethena_unstake(receiver)冷却后领取解除质押交易 calldata

端到端执行——签名并广播

ethena_* 工具会返回未签名的 calldata。要在链上实际执行:

ethena_stake / ethena_cooldown_start / ethena_unstake
        ↓  returns tx dict  {to, data, value, chain_id}
wallet_sign_transaction(tx)          ← wallet skill
        ↓  returns signed_tx hex
wallet_sign_transaction broadcast    ← same call, auto-broadcasts
标准流程(质押示例)
Step 1  ethena_rate()                    # confirm rate + cooldown before tx
Step 2  ethena_stake("100", receiver)    # returns [approve_tx, deposit_tx]
Step 3  wallet_sign_transaction(approve_tx, broadcast=True)
Step 4  wallet_sign_transaction(deposit_tx, broadcast=True)
标准流程(解除质押)
Step 1  ethena_rate()                    # get live cooldown duration
Step 2  ethena_cooldown_start("100")     # returns cooldown_tx
Step 3  wallet_sign_transaction(cooldown_tx, broadcast=True)
Step 4  [wait cooldown_hours]
Step 5  ethena_unstake(receiver)         # returns unstake_tx
Step 6  wallet_sign_transaction(unstake_tx, broadcast=True)
跨技能依赖

先加载 wallet-policy 技能,确认通配符策略已启用。wallet_sign_transaction 属于 wallet 技能——它原生可用,无需额外安装。

错误处理
错误原因解决方法
签名时出现 403Privy 策略为全拒绝在 Web UI 中批准通配符策略
nonce 冲突两笔交易广播得太快等待步骤 3 的回执后再执行步骤 4
gas 估算失败approve 尚未被打包在 approve 和 deposit 之间延迟 5 秒

工具路由——IF/THEN

IF "APY" OR "yield" OR "return" OR "收益率" OR "年化"
  → ethena_apy()

IF "rate" OR "price" OR "how much USDe per sUSDe" OR "汇率" OR "多少USDe"
  → ethena_rate()

IF "balance" OR "how much do I have" OR "余额"
  → ethena_balance(wallet_address)

IF "stake" OR "deposit" OR "质押" AND amount given
  → ethena_stake(amount, receiver)

IF "unstake" OR "redeem" OR "cooldown" OR "withdraw" OR "赎回" — starting flow
  → ethena_cooldown_start(amount)

IF "claim" OR "unstake" OR "withdraw" AND cooldown already done
  → ethena_unstake(receiver)

IF "how long" OR "cooldown duration" OR "等多久"
  → ethena_rate()  ← returns cooldown_seconds live from chain

少样本示例

ETH-01 — APY 查询

“sUSDe 现在的 APY 是多少?”

ethena_apy()
→ "当前 APY 3.72%,7日均值 3.68%"

ETH-02 — 汇率查询

“1 sUSDe 能换多少 USDe?”

ethena_rate()
→ "1 sUSDe = 1.227675 USDe(totalAssets/totalSupply 实时计算)"

ETH-03 — 余额

“我有多少 USDe 和 sUSDe?”

ethena_balance("0x...")
→ {usde_balance: 500.0, susde_balance: 81.46, susde_in_usde: 100.0}

ETH-04 — 质押

“帮我质押 100 USDe”

ethena_rate()          # get live rate for estimate
ethena_stake("100", receiver="0x...")
→ [{approve tx}, {deposit tx}]  # execute in order

ETH-04b — 端到端质押(签名并广播)

“帮我质押 100 USDe,直接执行到链上”

ethena_rate()                                   # Step 1: confirm rate
ethena_stake("100", receiver="0x...")           # Step 2: get calldata
→ [approve_tx, deposit_tx]
wallet_sign_transaction(approve_tx, broadcast=True)   # Step 3
wallet_sign_transaction(deposit_tx, broadcast=True)   # Step 4
→ tx_hash confirmed

ETH-06b — 端到端解除质押(签名并广播)

“帮我开始赎回 50 sUSDe,直接发链上”

ethena_rate()                                         # Step 1: get cooldown
ethena_cooldown_start("50")                           # Step 2: get calldata
→ {cooldown_tx, cooldown_hours: 24.0}
wallet_sign_transaction(cooldown_tx, broadcast=True)  # Step 3
→ tx_hash confirmed, 等待 24h 后再调 ethena_unstake

ETH-05 — 冷却时长

“赎回要等多久?”

ethena_rate()
→ "cooldown_seconds: 86400 → 当前需等待 24 小时"

ETH-06 — 开始冷却

“开始赎回 50 USDe 的 sUSDe”

ethena_cooldown_start("50")
→ {transaction: {...}, cooldown_hours: 24.0}

ETH-07 — 冷却后领取

“cooldown 到了,帮我提款”

ethena_unstake("0x...")
→ {transaction: {...}}

ETH-08 — 英文收益查询

“质押 USDe 的当前收益率是多少?”

ethena_apy()
→ "Current APY: 3.72%"

质押的运作方式

  1. 质押:ethena_stake → 批准 USDe + 存入 → 获得 sUSDe(ERC4626)
  2. 收益:协议每 8 小时转入 USDe 奖励,并在 8 小时内线性归属(防夹击攻击)
  3. 解除质押:ethena_cooldown_start → 等待冷却(查询实时值,目前约为 24 小时)→ ethena_unstake

sUSDe/USDe 汇率只会上升。冷却时长可能变化——始终查询 ethena_rate。

通过任何 ethena_* 工具生成 calldata 后,始终继续调用 wallet_sign_transaction(tx, broadcast=True),以实际提交到链上。绝不要在生成 calldata 后就停止。

前置条件 — 钱包策略

进行任何链上操作前,请确保已启用通配符钱包策略(禁止导出密钥 + 允许 *)。如有需要,请加载 wallet-policy 技能。

注意事项

  • 冷却期约为 24 小时(而非 7 天)——但请务必通过 ethena_rate() 验证,因为治理可能会更改此设置
  • 奖励不会为负——sUSDe 的价值只会上涨或持平
  • 每 8 小时发放一次奖励——线性归属,不存在抢先交易机会
  • 如果流动性充足,sUSDe 可以在无需冷却期的情况下于 DEX 上出售
  • 欧盟/欧洲经济区限制——不提供在欧盟/欧洲经济区获取 sUSDe 的服务

评论

支持 Markdown