From alchemy-skills
Discovers 2,988+ yield opportunities across 75+ blockchains, builds deposit/withdrawal transactions via shell scripts, and signs with MoonPay wallet.
How this skill is triggered — by the user, by Claude, or both
Slash command
/alchemy-skills:yield-optimizationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
yield.xyz (powered by StakeKit) aggregates 2,988+ yield opportunities across 75+ blockchains — lending, staking, vaults, restaking, and liquidity pools. The agent skill uses shell scripts to discover yields, build unsigned transactions, and sign them with your MoonPay wallet.
yield.xyz (powered by StakeKit) aggregates 2,988+ yield opportunities across 75+ blockchains — lending, staking, vaults, restaking, and liquidity pools. The agent skill uses shell scripts to discover yields, build unsigned transactions, and sign them with your MoonPay wallet.
find-yields.sh → discover opportunities by chain + token
enter-position.sh → build unsigned deposit transaction
mp transaction send → sign and broadcast with MoonPay wallet
check-portfolio.sh → monitor balances and pending rewards
exit-position.sh → build unsigned withdrawal transaction
# curl and jq (required)
which curl jq
# MoonPay CLI for wallet + signing
npm install -g @moonpay/cli
mp login
export YIELDS_API_KEY="..." # optional: get one at https://dashboard.yield.xyz
npx clawhub@latest install yield-agent
Or manually:
git clone https://github.com/stakekit/yield-agent.git ~/.openclaw/skills/yield-agent
chmod +x ~/.openclaw/skills/yield-agent/scripts/*.sh
| Script | Description |
|---|---|
find-yields.sh [chain] [token] | Discover yields by network and token |
get-yield-info.sh [yield-id] | Retrieve yield schema and validator info |
list-validators.sh [yield-id] | List validators for staking positions |
enter-position.sh [yield-id] [address] [params] | Build unsigned deposit transaction |
exit-position.sh [yield-id] [address] | Build unsigned withdrawal transaction |
manage-position.sh [yield-id] [action] | Claim rewards, restake, redelegate |
check-portfolio.sh [yield-id] [address] | View balances and pending actions |
# Find USDC yields on Base
./scripts/find-yields.sh base USDC
# Find ETH staking on Ethereum
./scripts/find-yields.sh ethereum ETH
# Get schema and requirements before entering
./scripts/get-yield-info.sh base-usdc-aave-v3-lending
Always fetch the yield schema before executing — it specifies required params and multi-step order.
# Build unsigned deposit transaction (amounts are human-readable — "100" = 100 USDC)
./scripts/enter-position.sh base-usdc-aave-v3-lending 0xYOUR_ADDRESS '{"amount":"100"}'
# → returns unsignedTransaction JSON
# Step 1: Sign the unsigned transaction
mp transaction sign \
--wallet "yield-agent" \
--chain base \
--transaction '<unsignedTransaction from step 3>'
# → returns signedTransaction JSON
# Step 2: Broadcast the signed transaction
mp transaction send \
--chain base \
--transaction '<signedTransaction from step 1>'
For multi-step transactions, execute in stepIndex order. Sign each step exactly as returned — never modify unsignedTransaction.
./scripts/check-portfolio.sh base-usdc-aave-v3-lending 0xYOUR_ADDRESS
./scripts/exit-position.sh base-usdc-aave-v3-lending 0xYOUR_ADDRESS
# → sign result with mp transaction send
./scripts/manage-position.sh base-usdc-aave-v3-lending claim
./scripts/manage-position.sh ethereum-eth-lido-staking redelegate
# Create a dedicated yield wallet
mp wallet create --name "yield-agent"
mp wallet retrieve --wallet "yield-agent" # note addresses per chain
mp buy --token usdc_base --amount 500 --wallet <base-address> --email <email>
mp buy --token usdc_ethereum --amount 1000 --wallet <eth-address> --email <email>
mp buy --token eth_ethereum --amount 0.05 --wallet <eth-address> --email <email>
# USDC on Ethereum → Base (chase higher yield)
mp token bridge \
--from-wallet yield-agent --from-chain ethereum \
--from-token 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 \
--from-amount 500 \
--to-chain base \
--to-token 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
mp virtual-account create && mp virtual-account kyc submit
mp virtual-account bank-account add
mp virtual-account onramp create \
--name "yield-onramp" --fiat usd --stablecoin usdc --chain ethereum --wallet <eth-address>
mp token balance list --wallet <eth-address> --chain ethereum
mp virtual-account offramp create --amount 2000 --chain ethereum --wallet <eth-address>
yield.xyz only builds unsigned transactions — your MoonPay wallet handles all signing. Keys are AES-256-GCM encrypted locally and never leave the machine. For large positions use a hardware wallet:
mp wallet hardware add --name "yield-ledger"
npx clawhub@latest install yield-agentmp wallet create --name "yield-agent"mp buy --token usdc_base --amount 500 --wallet <address> --email <email>./scripts/find-yields.sh base USDC./scripts/get-yield-info.sh <yield-id>./scripts/enter-position.sh <yield-id> <address> '{"amount":"500"}'mp transaction sign --wallet "yield-agent" --chain base --transaction <unsignedTx> then mp transaction send --chain base --transaction <signedTx>./scripts/check-portfolio.sh <yield-id> <address>mp virtual-account offramp create to withdraw earned yieldnpx claudepluginhub moonpay/skills --plugin moonpay-skillsAggregates DeFiLlama data to compare yields across protocols/chains, calculate APYs, assess risks via TVL/audits, and recommend optimizations for farming strategies.
OKX-aggregated DeFi discovery and execution — finds and routes to best protocols without naming a specific DApp. Covers yield farming, staking, lending, borrowing, liquidity pools, APY/TVL trends.
Builds unsigned DeFi transactions from natural language intents across EVM chains like Ethereum, Arbitrum, Base, Optimism, Polygon. Supports send, swap, stake, lend on Aave, Uniswap, Lido, etc.