Skill マーケットプレイスに戻る

Trading Automation

yield-agent

YieldAgent by Yield.xyz provides a unified API to discover and interact with on-chain yields across 80+ networks and 2,600+ instruments (staking, lending, vaults, restaking, liquidity pools).

45 日前に更新セットアップ 1 分未満

概要

YieldAgent by Yield.xyz provides a unified API to discover and interact with on-chain yields across 80+ networks and 2,600+ instruments (staking, lending, vaults, restaking, liquidity pools).

YieldAgent by Yield.xyz provides a unified API to discover and interact with on-chain yields across 80+ networks and 2,600+ instruments (staking, lending, vaults, restaking, liquidity pools). It exposes self-documenting YieldDto mechanics so integrators fetch exact argument schemas (enter/exit fields, entry limits, accepted input tokens, enum options and optionsRef) before building actions. Use it to search and compare APYs, build unsigned transactions for wallet signing, open/modify/exit positions, claim rewards, and manage portfolio allocations programmatically. Critical safety rules include never modifying any unsignedTransaction returned by the API — request a new action if amounts or gas are incorrect. Core advantages: broad DeFi coverage, standardized action schemas, explicit transaction safety guidance, and end-to-end programmatic position management for integrations and automation.

Skill.md

この Skill の仕組み

YieldAgent by Yield.xyz provides a unified API to discover and interact with on-chain yields across 80+ networks and 2,600+ instruments (staking, lending, vaults, restaking, liquidity pools).

SKILL.mdALPHIO / 検証済み

YieldAgent by Yield.xyz

Access the complete on-chain yield landscape through Yield.xyz's unified API. Discover 2600+ yields across staking, lending, vaults, restaking, and liquidity pools. Build transactions and manage positions across 80+ networks.

CRITICAL: Never Modify Transactions From The API

DO NOT MODIFY unsignedTransaction returned by the API UNDER ANY CIRCUMSTANCES.

Do not change, reformat, or "fix" any part of it — not addresses, amounts, fees, encoding, or any other field, on any chain.

If the amount is wrong: Request a NEW action from the API with the correct amount. If gas is insufficient: Ask the user to add funds, then request a NEW action. If anything looks wrong: STOP. Always request a new action with corrected arguments. Never attempt to "fix" an existing transaction.

Modifying unsignedTransaction WILL RESULT IN PERMANENT LOSS OF FUNDS.


Key Rules

The API is self-documenting. Every yield describes its own requirements through the YieldDto. Before taking any action, always fetch the yield and inspect it. The mechanics field tells you everything: what arguments are needed (mechanics.arguments.enter, .exit), entry limits (mechanics.entryLimits), and what tokens are accepted (inputTokens[]). Never assume — always check the yield first.

  1. Always fetch the yield before calling an action. Call GET /v1/yields/{yieldId} and read mechanics.arguments.enter (or .exit) to discover the exact fields required. Each yield is different — the schema is the contract. Do not guess or hardcode arguments.

    Each field in the schema (ArgumentFieldDto) tells you:

    • name: the field name (e.g., amount, validatorAddress, inputToken)
    • type: the value type (string, number, address, enum, boolean)
    • required: whether it must be provided
    • options: static choices for enum fields (e.g., ["individual", "batched"])
    • optionsRef: a dynamic API endpoint to fetch choices (e.g., /api/v1/validators?integrationId=...) — if present, call it to get the valid options (validators, providers, etc.)
    • minimum / maximum: value constraints
    • isArray: whether the field expects an array

    If a field has optionsRef, you must call that endpoint to get the valid values. This is how validators, providers, and other dynamic options are discovered.

  2. For manage actions, always fetch balances first. Call POST /v1/yields/{yieldId}/balances and read pendingActions[] on each balance. Each pending action tells you its type, passthrough, and optional arguments schema. Only call manage with values from this response.

  3. Amounts are human-readable. "100" means 100 USDC. "1" means 1 ETH. "0.5" means 0.5 SOL. Do NOT convert to wei or raw integers — the API handles decimals internally.

  4. Set inputToken to what the user wants to deposit — but only if inputToken appears in the yield's mechanics.arguments.enter schema. The API handles the full flow (swaps, wrapping, routing) to get the user into the position.

  5. ALWAYS submit the transaction hash after broadcasting — no exceptions. For every transaction: sign, broadcast, then submit the hash via PUT /v1/transactions/{txId}/submit-hash with { "hash": "0x..." }. Balances will not appear until the hash is submitted. This is the most common mistake — do not skip this step.

  6. Execute transactions in exact order. If an action has multiple transactions, they are ordered by stepIndex. Wait for CONFIRMED before proceeding to the next. Never skip or reorder.

  7. Consult {baseDir}/references/openapi.yaml for types. All enums, DTOs, and schemas are defined there. Do not hardcode values.

Quick Start

# Discover yields on a network
./scripts/find-yields.sh base USDC

# Inspect a yield's schema before entering
./scripts/get-yield-info.sh base-usdc-aave-v3-lending

# Enter a position (amounts are human-readable)
./scripts/enter-position.sh base-usdc-aave-v3-lending 0xYOUR_ADDRESS '{"amount":"100"}'

# Check balances and pending actions
./scripts/check-portfolio.sh base-usdc-aave-v3-lending 0xYOUR_ADDRESS

Scripts

ScriptPurpose
find-yields.shDiscover yields by network/token
get-yield-info.shInspect yield schema, limits, token details
list-validators.shList validators for staking yields
enter-position.shEnter a yield position
exit-position.shExit a yield position
manage-position.shClaim, restake, redelegate, etc.
check-portfolio.shCheck balances and pending actions

Common Patterns

Enter a Position

  1. Discover yields: find-yields.sh base USDC
  2. Inspect the yield: get-yield-info.sh <yieldId> — read mechanics.arguments.enter
  3. Enter: enter-position.sh <yieldId> <address> '{"amount":"100"}'
  4. For each transaction: wallet signs → broadcast → submit hash → wait for CONFIRMED

Manage a Position

  1. Check balances: check-portfolio.sh <yieldId> <address>
  2. Read pendingActions[] — each has { type, passthrough, arguments? }
  3. Manage: manage-position.sh <yieldId> <address> <action> <passthrough>

Full Lifecycle

  1. Discover → 2. Enter → 3. Check balances → 4. Claim rewards → 5. Exit

Transaction Flow

After any action (enter/exit/manage), the response contains transactions[]. For EACH transaction:

  1. Pass unsignedTransaction to wallet skill for signing and broadcasting
  2. Submit the hash — PUT /v1/transactions/{txId}/submit-hash with { "hash": "0x..." }
  3. Poll GET /v1/transactions/{txId} until CONFIRMED or FAILED
  4. Proceed to next transaction

Every transaction must follow this flow. Example with 3 transactions:

TX1: sign → broadcast → submit-hash → poll until CONFIRMED
TX2: sign → broadcast → submit-hash → poll until CONFIRMED
TX3: sign → broadcast → submit-hash → poll until CONFIRMED

unsignedTransaction format varies by chain. See {baseDir}/references/chain-formats.md for details.

API Endpoints

All endpoints documented in {baseDir}/references/openapi.yaml. Quick reference:

MethodEndpointDescription
GET/v1/yieldsList yields (with filters)
GET/v1/yields/{yieldId}Get yield metadata (schema, limits, tokens)
GET/v1/yields/{yieldId}/validatorsList validators
POST/v1/actions/enterEnter a position
POST/v1/actions/exitExit a position
POST/v1/actions/manageManage a position
POST/v1/yields/{yieldId}/balancesGet balances for a yield
POST/v1/yields/balancesAggregate balances across yields/networks
PUT/v1/transactions/{txId}/submit-hashSubmit tx hash after broadcasting
GET/v1/transactions/{txId}Get transaction status
GET/v1/networksList all supported networks
GET/v1/providersList all providers

References

Detailed reference files — read on demand when you need specifics.

  • API types and schemas: {baseDir}/references/openapi.yaml — source of truth for all DTOs, enums, request/response shapes
  • Chain transaction formats: {baseDir}/references/chain-formats.md — unsignedTransaction encoding per chain family (EVM, Cosmos, Solana, Substrate, etc.)
  • Wallet integration: {baseDir}/references/wallet-integration.md — Crossmint, Portal, Turnkey, Privy, signing flow
  • Agent conversation examples: {baseDir}/references/examples.md — 10 conversation patterns with real yield IDs
  • Safety checks: {baseDir}/references/safety.md — pre-execution checks, constraints

Error Handling

The API returns structured errors with message, error, and statusCode. Read the message. Error shapes are in {baseDir}/references/openapi.yaml. Respect retry-after on 429s.

Add-on Modules

Modular instructions that extend core functionality. Read when relevant.

こんな用途に最適

どんなときに使うか

YieldAgent by Yield.xyz provides a unified API to discover and interact with on-chain yields across 80+ networks and 2,600+ instruments (staking, lending, vaults, restaking, liquidity pools).

01 · 会議前

意思決定用のブリーフを準備

投資委員会の前に、散らばった材料を構造化した論拠にまとめます。

02 · チームのワークフロー

引き継ぎを標準化

アナリスト、ポートフォリオマネージャー、Agent の間で一貫したリサーチ成果物を作ります。

03 · リアルタイム更新

投資仮説をアップデート

新しいカタリスト、KPI の発表、決算結果を受けてシナリオを更新します。

コミュニティのメモ

使うほど良くなる設計。

この Skill が使われ、レビューされるにつれて、フィードバックがここに表示されます。

フィードバックを送る

さらに探す

関連する Skills

すべて見る
無料で始める