Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
starchild-ai-agent avatar

Ethena

  • 206 installs
  • 21 repo stars
  • Updated August 3, 2026
  • starchild-ai-agent/official-skills

Helps with ai & agent building tasks during AI-assisted development.

About

ethena is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • ethena
  • AI & Agent Building
  • AI-coding skill

Ethena by the numbers

  • 206 all-time installs (skills.sh)
  • +6 installs in the week ending Jul 27, 2026 (Skillselion tracking)
  • Ranked #2,821 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/starchild-ai-agent/official-skills --skill ethena

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs206
repo stars21
Last updatedAugust 3, 2026
Repositorystarchild-ai-agent/official-skills

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

⛔ HARD RULES (read first, always)

  • ALWAYS call ethena_rate before any on-chain operation — cooldown duration is live from chain, not a constant
  • NEVER call wallet_transfer directly — use ethena_* native tools only (wallet_transfer triggers UI block in deny-all policy)
  • NEVER hardcode cooldown as "7 days" — actual value is fetched per request (currently ~24h)
  • NEVER guess or assume the sUSDe/USDe exchange rate — call ethena_rate
  • HARD LIMIT: max 5 tool calls per user request
  • ON-CHAIN EXECUTION: after ethena_* returns calldata, sign and broadcast via wallet_sign_transaction — NEVER skip or simulate

---

Ethena — USDe Staking

Ethena lets users stake USDe to receive sUSDe, an ERC4626 yield-bearing token. Rewards accrue from ETH staking + funding rate delta-hedging. sUSDe value only increases or stays flat — never decreases.

Key Contracts (Ethereum Mainnet)

ContractAddress
USDe0x4c9EDD5852cd905f086C759E8383e09bff1E68B3
sUSDe (StakedUSDe)0x9D39A5DE30e57443BfF2A8307A4256c8797A3497
USDeSilo (cooldown)0x7FC7c91D556B400AFa565013E3F32055a0713425

Native Tools

ToolWhen to useReturns
ethena_rate()Rate query, before any tx, cooldown checkrate, totalAssets, totalSupply, cooldown_seconds
ethena_apy()APY / yield / return questionapy_current, apy_7d, apy_30d, tvl_usd
ethena_balance(wallet)Balance checkusde_balance, susde_balance, cooldown_end_ts
ethena_stake(amount, receiver)Stake USDe2 tx calldata (approve + deposit)
ethena_cooldown_start(amount)Start unstakecooldown tx calldata + live cooldown_hours
ethena_unstake(receiver)Claim after cooldownunstake tx calldata

End-to-End Execution — Sign & Broadcast

ethena_* tools return unsigned calldata. To actually execute on-chain:

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

Standard Flow (stake example)

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)

Standard Flow (unstake)

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)

Cross-skill dependency

Load wallet-policy skill first to confirm wildcard policy is active. wallet_sign_transaction is part of the wallet skill — it is available natively; no extra install needed.

Error handling

ErrorCauseFix
403 on signPrivy policy deny-allApprove wildcard policy in Web UI
nonce conflictTwo txs broadcast too fastWait for Step 3 receipt before Step 4
gas estimate failApprove not mined yetAdd 5s delay between approve and deposit

Tool Routing — 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

Few-Shot Examples

ETH-01 — APY query

"sUSDe 现在的 APY 是多少?"
ethena_apy()
→ "当前 APY 3.72%,7日均值 3.68%"

ETH-02 — Rate query

"1 sUSDe 能换多少 USDe?"
ethena_rate()
→ "1 sUSDe = 1.227675 USDe(totalAssets/totalSupply 实时计算)"

ETH-03 — Balance

"我有多少 USDe 和 sUSDe?"
ethena_balance("0x...")
→ {usde_balance: 500.0, susde_balance: 81.46, susde_in_usde: 100.0}

ETH-04 — Stake

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

ETH-04b — Stake end-to-end (sign & broadcast)

"帮我质押 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 — Unstake end-to-end (sign & broadcast)

"帮我开始赎回 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 — Cooldown duration

"赎回要等多久?"
ethena_rate()
→ "cooldown_seconds: 86400 → 当前需等待 24 小时"

ETH-06 — Start cooldown

"开始赎回 50 USDe 的 sUSDe"
ethena_cooldown_start("50")
→ {transaction: {...}, cooldown_hours: 24.0}

ETH-07 — Claim after cooldown

"cooldown 到了,帮我提款"
ethena_unstake("0x...")
→ {transaction: {...}}

ETH-08 — English yield query

"What's the current yield for staking USDe?"
ethena_apy()
→ "Current APY: 3.72%"

How Staking Works

1. Stake: ethena_stake → approve USDe + deposit → receive sUSDe (ERC4626) 2. Yield: Protocol transfers USDe rewards every 8h, linearly vested over 8h (anti-sandwich) 3. Unstake: ethena_cooldown_start → wait cooldown (query live, currently ~24h) → ethena_unstake

sUSDe/USDe rate only goes up. Cooldown duration may change — always query ethena_rate.

After generating calldata via any ethena_* tool, always follow up with `wallet_sign_transaction(tx, broadcast=True)` to actually submit on-chain. Never stop at calldata generation.

Prerequisites — Wallet Policy

Before any on-chain operation, ensure a wildcard wallet policy is active (deny key export + allow *). Load the wallet-policy skill if needed.

Gotchas

  • Cooldown is ~24h (not 7 days) — but always verify with ethena_rate() as it can change via governance
  • No negative rewards — sUSDe value can only go up or stay flat
  • Rewards every 8h — linearly vested, no sandwich opportunities
  • sUSDe can be sold on DEXes without cooldown if liquidity exists
  • EU/EEA restriction — sUSDe acquisition not offered in EU/EEA

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.