From alchemy-skills
Discovers 2,988+ yield opportunities across 75+ blockchains via yield.xyz, builds deposit/withdrawal transactions with shell scripts, signs via MoonPay wallet. For earning yield, best rates, positions, portfolios.
npx claudepluginhub moonpay/skills --plugin alchemy-skillsThis skill uses the workspace's default tool permissions.
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.
Discovers and analyzes DeFi yield opportunities across protocols, chains, and assets for staking, lending, liquidity farming, and aggregators using parallel agents, web searches, and GitHub analysis.
Researches DeFi yields and APYs across protocols, reviews wallet positions with Nansen, checks rugs and smart money, and executes liquid staking/token swaps on Solana, Ethereum, Base, BSC, Polygon, Hedera.
Aggregates DeFiLlama data to compare yields across protocols/chains, calculate APYs, assess risks via TVL/audits, and recommend optimizations for farming strategies.
Share bugs, ideas, or general feedback.
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 yield