mcpField
Y
yield-dashboard

yield-dashboard

github.com/aibtcdevOther11136 installsUpdated 1d ago
Repository

About yield-dashboard

yield-dashboard is a read-only command-line skill for viewing DeFi positions and rates across Stacks protocols. It summarizes portfolio value and APY, reports positions, and suggests allocations based on risk-adjusted APY.

Key features

  1. 01Aggregate portfolio value and APY
  2. 02Show protocol positions and rewards
  3. 03List current APY rates
  4. 04Suggest risk-adjusted rebalancing
  5. 05Read Stacks mainnet data

Use cases

  1. 01Review holdings across supported protocols
  2. 02Compare current protocol APY rates
  3. 03Explore allocation changes by risk tolerance

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aibtcdev/skills --skill yield-dashboard

After installing, type/yield-dashboardin Claude Code to confirm it loaded.

Bundled filesAGENT.mdyield-dashboard.ts

Details

From the project README

Yield Dashboard Skill

Aggregated read-only dashboard across Stacks DeFi protocols: Zest Protocol (lending), ALEX DEX (AMM LP), and Bitflow (DEX LP). Also checks native STX stacking status.

All data is fetched live from Stacks mainnet via Hiro API read-only contract calls.

Usage

bun run yield-dashboard/yield-dashboard.ts <subcommand> [options]

Subcommands

overview

High-level portfolio summary: total value across all protocols, weighted average APY, and per-protocol breakdown.

bun run yield-dashboard/yield-dashboard.ts overview

Output:

{
  "totalValueSats": 500000,
  "totalValueBtc": "0.00500000",
  "weightedApyPct": 4.2,
  "protocols": {
    "zest": { "valueSats": 300000, "apyPct": 5.0 },
    "alex": { "valueSats": 150000, "apyPct": 3.5 },
    "bitflow": { "valueSats": 50000, "apyPct": 2.8 },
    "stacking": { "valueSats": 0, "apyPct": 0 }
  },
  "walletSbtcSats": 25000,
  "walletStxMicroStx": 5000000
}
positions

Detailed per-protocol position data.

bun run yield-dashboard/yield-dashboard.ts positions

Returns an array of positions with protocol, asset, amount, current APY, and any reward info.

apy-breakdown

Current APY rates across all supported protocols (no wallet needed for this — pure market data).

bun run yield-dashboard/yield-dashboard.ts apy-breakdown

Output:

{
  "timestamp": "2026-03-06T03:00:00.000Z",
  "rates": [
    { "protocol": "Zest Protocol", "asset": "sBTC", "supplyApyPct": 5.0, "riskScore": 20 },
    { "protocol": "ALEX DEX", "asset": "aBTC/STX LP", "apyPct": 3.5, "riskScore": 50 },
    { "protocol": "Bitflow", "asset": "sBTC", "apyPct": 2.8, "riskScore": 35 },
    { "protocol": "STX Stacking", "asset": "STX", "apyPct": 8.0, "riskScore": 10 }
  ],
  "zestV2Ready": false
}
rebalance

Suggests rebalancing moves based on current positions vs optimal allocation given risk-adjusted APY.

bun run yield-dashboard/yield-dashboard.ts rebalance [--risk-tolerance low|medium|high]

Options:

  • --risk-tolerance (optional, default: medium) — Risk preference for allocation suggestions

Output:

{
  "currentAllocation": { "zest": 60, "alex": 30, "bitflow": 10, "stacking": 0 },
  "suggestedAllocation": { "zest": 50, "alex": 20, "bitflow": 10, "stacking": 20 },
  "suggestions": [
    "Consider moving 10% from Zest to STX stacking for diversification",
    "ALEX LP has higher IL risk — reduce if STX/BTC volatility is high"
  ]
}

Known Limitations

  • ALEX LP positions: User LP token balance reading is not yet implemented — valueSats will show 0 even if you hold LP tokens. APY is read correctly.
  • Bitflow LP positions: Same as ALEX — LP balance reading is a TODO. APY falls back to a 2.8% estimate if the Bitflow API is unavailable (output includes apySource: "fallback estimate").
  • ALEX asset: The ALEX pool uses aBTC (ALEX wrapped BTC), not native sBTC. Different trust assumptions — labeled as "aBTC/STX LP" in output.
  • Stacking value: STX stacking is denominated in microSTX, not sats. The overview command separates these: totalValueSats (BTC-denominated) vs totalValueStx (STX stacking).
  • Bitflow API: Uses https://app.bitflow.finance/api — undocumented endpoint, may change without notice.

Notes

  • All reads are free (no gas needed) — uses read-only contract calls
  • Wallet must be unlocked so the skill knows which address to query
  • APY figures are point-in-time estimates from on-chain state
  • Bitflow data uses the Bitflow public API (no key required)
  • Zest V2 availability is probed automatically; falls back to V1 pool data

Comments

Markdown supported