Discover, deposit into, and withdraw from DeFi yield generation strategies across multiple chains and protocols. Use when you or the user want to earn yield,...
Discover yield opportunities across DeFi protocols (Aave, Compound, and others), deposit tokens to earn yield, and withdraw when ready. This is a full lifecycle skill covering discovery through to exit.
fdx status
If the wallet is not authenticated, refer to the authenticate skill.
Search for available yield opportunities:
# Browse all available strategies
fdx call discoverYieldStrategies
# Filter by chain
fdx call discoverYieldStrategies --chainKey ethereum
# Filter by token
fdx call discoverYieldStrategies --chainKey ethereum --tokenAddress 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
# Filter by minimum APY and risk level
fdx call discoverYieldStrategies --chainKey ethereum --minApy 5 --maxRisk low
# Sort results
fdx call discoverYieldStrategies --chainKey ethereum --sortBy apy
| Parameter | Required | Description |
|---|---|---|
--chainKey | No | Filter by blockchain (e.g. ethereum, polygon, arbitrum, base) |
--tokenAddress | No | Filter by token contract address |
--minApy | No | Minimum APY percentage (e.g. 5 for 5%) |
--maxRisk | No | Maximum risk level filter (e.g. low, medium, high) |
--sortBy | No | Sort results (e.g. apy, risk) |
Once a strategy is selected, deposit tokens into it:
fdx call depositForYield \
--chainKey <chain> \
--strategyId <strategyId> \
--amount <amount>
| Parameter | Required | Description |
|---|---|---|
--chainKey | Yes | Blockchain where the strategy runs |
--strategyId | Yes | Strategy identifier from discoverYieldStrategies results |
--amount | Yes | Amount to deposit (human-readable) |
--tokenAddress | No | Token to deposit (if strategy accepts multiple tokens) |
Exit a position and retrieve tokens:
fdx call withdrawFromYield \
--chainKey <chain> \
--positionId <positionId>
| Parameter | Required | Description |
|---|---|---|
--chainKey | Yes | Blockchain of the position |
--positionId | Yes | Position identifier from the deposit result |
--amount | No | Amount to withdraw (omit for full withdrawal) |
--recipient | No | Custom recipient address (defaults to own wallet) |
# Check auth and balance
fdx status
fdx call getWalletOverview --chainKey ethereum
# Discover USDC yield strategies on Ethereum with at least 3% APY
fdx call discoverYieldStrategies \
--chainKey ethereum \
--tokenAddress 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 \
--minApy 3 \
--sortBy apy
# Deposit 1000 USDC into a chosen strategy
fdx call depositForYield \
--chainKey ethereum \
--strategyId <strategyId-from-discovery> \
--amount 1000
# Later: withdraw the full position
fdx call withdrawFromYield \
--chainKey ethereum \
--positionId <positionId-from-deposit>
fdx statusfdx call getWalletOverview --chainKey <chain>fdx call discoverYieldStrategies — present options to the humanfdx call depositForYieldfdx call withdrawFromYieldImportant: DeFi protocols carry smart contract risk. Always present the risk level to your human and let them make the final decision on which strategy to use and how much to deposit.
fdx status to check, see authenticate skill)fund-wallet skill or swap-tokens skill to acquire the needed tokenfdx setup first, or see authenticate skillfund-wallet skilldiscoverYieldStrategies to get current strategy IDsZIP package — ready to use