Optimizing Staking Rewards
Overview
Analyze staking opportunities across PoS blockchains and liquid staking protocols. Compares APY/APR, calculates net yields after fees, assesses protocol risks, and recommends optimal allocations.
Prerequisites
-
Python 3.8+ installed
-
Dependencies: pip install requests
-
Network access to DeFiLlama APIs
-
Optional: CoinGecko API key for higher rate limits
Instructions
Compare staking options for a specific asset:
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --asset ETH
Shows protocol name, type (native vs liquid), gross/net APY, risk score, TVL, and lock-up period.
Analyze with position size for gas-adjusted yields:
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --asset ETH --amount 10
Calculates effective APY accounting for gas costs and projects returns at 1M, 3M, 6M, and 1Y.
Optimize existing portfolio with current positions:
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --optimize
--positions "10 ETH @ lido 4.0%, 100 ATOM @ native 18%, 50 DOT @ native 14%"
Suggests higher-yield alternatives with projected improvement and switching costs.
Compare protocols or run risk assessment:
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --compare --protocols lido,rocket-pool,frax-ether python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --asset ETH --detailed
Export results in JSON or CSV:
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --asset ETH --format json --output staking.json
Output
Comparison table ranked by risk-adjusted return (Net APY multiplied by Risk Score / 10), showing native and liquid staking options:
STAKING OPTIONS FOR ETH 2025-01-15 15:30 UTC # 2025 timestamp Protocol Type Gross APY Net APY Risk TVL Unbond Frax (sfrxETH) liquid 5.10% 4.59% 7/10 $450M instant Lido (stETH) liquid 4.00% 3.60% 9/10 $15B instant Rocket Pool liquid 4.20% 3.61% 8/10 $3B instant Coinbase cbETH liquid 3.80% 3.42% 9/10 $2B instant ETH Native native 4.00% 4.00% 10/10 $50B variable
Error Handling
Error Cause Solution
API timeout DeFiLlama unreachable Cached data used with warning
Invalid asset Unknown staking asset Lists supported assets
Rate limited Too many API calls Automatic retry with backoff
No data found Protocol not indexed Falls back to known protocol list
See ${CLAUDE_SKILL_DIR}/references/errors.md for comprehensive error handling.
Examples
Common staking analysis workflows from single-asset comparison to full portfolio optimization:
Quick ETH staking comparison
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --asset ETH
Large position with full risk analysis
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --asset ETH --amount 100 --detailed
Multi-asset comparison exported to CSV
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --assets ETH,SOL,ATOM --format csv
Portfolio optimization with current positions
python ${CLAUDE_SKILL_DIR}/scripts/staking_optimizer.py --optimize
--positions "50 ETH @ lido 3.6%, 500 SOL @ marinade 7.5%" # 500 - minimum stake amount in tokens
Resources
-
${CLAUDE_SKILL_DIR}/references/implementation.md
-
Optimization reports, risk assessment details, disclaimers
-
${CLAUDE_SKILL_DIR}/references/errors.md
-
Comprehensive error handling
-
DeFiLlama Yields: https://defillama.com/yields
-
StakingRewards: https://www.stakingrewards.com
-
Lido: https://lido.fi | Rocket Pool: https://rocketpool.net