# Yield Optimization

> >

- **Type:** Skill
- **Install:** `agentstack add skill-moonpay-skills-yield-optimization`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [moonpay](https://agentstack.voostack.com/s/moonpay)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [moonpay](https://github.com/moonpay)
- **Source:** https://github.com/moonpay/skills/tree/main/skills/yield-optimization
- **Website:** https://www.moonpay.com/agents

## Install

```sh
agentstack add skill-moonpay-skills-yield-optimization
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# yield.xyz — Multi-Chain Yield Optimization

## Overview

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
```

## Prerequisites

```bash
# 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
```

## Installation

```bash
npx clawhub@latest install yield-agent
```

Or manually:

```bash
git clone https://github.com/stakekit/yield-agent.git ~/.openclaw/skills/yield-agent
chmod +x ~/.openclaw/skills/yield-agent/scripts/*.sh
```

## Commands

| 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 |

## Core Workflow

### 1. Discover Yields

```bash
# Find USDC yields on Base
./scripts/find-yields.sh base USDC

# Find ETH staking on Ethereum
./scripts/find-yields.sh ethereum ETH
```

### 2. Inspect a Yield

```bash
# 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.

### 3. Enter a Position

```bash
# 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
```

### 4. Sign with MoonPay

```bash
# Step 1: Sign the unsigned transaction
mp transaction sign \
  --wallet "yield-agent" \
  --chain base \
  --transaction ''
# → returns signedTransaction JSON

# Step 2: Broadcast the signed transaction
mp transaction send \
  --chain base \
  --transaction ''
```

For multi-step transactions, execute in `stepIndex` order. Sign each step exactly as returned — never modify `unsignedTransaction`.

### 5. Monitor Portfolio

```bash
./scripts/check-portfolio.sh base-usdc-aave-v3-lending 0xYOUR_ADDRESS
```

### 6. Exit a Position

```bash
./scripts/exit-position.sh base-usdc-aave-v3-lending 0xYOUR_ADDRESS
# → sign result with mp transaction send
```

### 7. Manage Rewards

```bash
./scripts/manage-position.sh base-usdc-aave-v3-lending claim
./scripts/manage-position.sh ethereum-eth-lido-staking redelegate
```

## Wallet Setup with MoonPay

```bash
# Create a dedicated yield wallet
mp wallet create --name "yield-agent"
mp wallet retrieve --wallet "yield-agent"  # note addresses per chain
```

## Funding Your Wallet

### Buy with Fiat

```bash
mp buy --token usdc_base --amount 500 --wallet  --email 
mp buy --token usdc_ethereum --amount 1000 --wallet  --email 
mp buy --token eth_ethereum --amount 0.05 --wallet  --email 
```

### Bridge Cross-Chain

```bash
# 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
```

### Bank Transfer (Large Capital)

```bash
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 
```

### Check Balances / Withdraw

```bash
mp token balance list --wallet  --chain ethereum
mp virtual-account offramp create --amount 2000 --chain ethereum --wallet 
```

## Security

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:

```bash
mp wallet hardware add --name "yield-ledger"
```

## End-to-End Workflow

1. `npx clawhub@latest install yield-agent`
2. `mp wallet create --name "yield-agent"`
3. `mp buy --token usdc_base --amount 500 --wallet  --email `
4. `./scripts/find-yields.sh base USDC`
5. `./scripts/get-yield-info.sh `
6. `./scripts/enter-position.sh   '{"amount":"500"}'`
7. `mp transaction sign --wallet "yield-agent" --chain base --transaction ` then `mp transaction send --chain base --transaction `
8. `./scripts/check-portfolio.sh  `
9. `mp virtual-account offramp create` to withdraw earned yield

## Resources

- **GitHub:** https://github.com/stakekit/yield-agent
- **API dashboard:** https://dashboard.yield.xyz
- **Docs:** https://docs.yield.xyz
- **MoonPay CLI:** https://www.npmjs.com/package/@moonpay/cli

## Related Skills

- **moonpay-check-wallet** — Verify balances before depositing
- **moonpay-swap-tokens** — Swap tokens to what a yield pool requires
- **moonpay-virtual-account** — Bank transfer for large capital inflows
- **moonpay-trading-automation** — Automate rebalancing on a schedule

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [moonpay](https://github.com/moonpay)
- **Source:** [moonpay/skills](https://github.com/moonpay/skills)
- **License:** MIT
- **Homepage:** https://www.moonpay.com/agents

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-moonpay-skills-yield-optimization
- Seller: https://agentstack.voostack.com/s/moonpay
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
