---
updatedAt: 2026-07-10T13:20:00.000Z
agentTools:
  projectIndex: https://docs.yield.xyz/llms.txt
---

# Tool Reference

The 22 MCP tools explained, purpose, example prompts, and the transaction format returned.

## Tools

### Discovery

| Tool                    | Purpose                                          | Returns                                                                                                                                                      |
| ----------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `yields_get_all`        | Search and filter available yields               | Paginated yield summaries with identity, rewardRate, tvlUsd, status flags, lifecycle periods (cooldown/warmup/lockup), entry limits, and fee-mechanism flags |
| `yields_get`            | Full metadata for a specific yield               | Single yield with mechanics, required input fields for enter/exit/balance, validator requirement, capacity state, share token, and a top-level risk summary  |
| `yields_get_validators` | Validator options for delegation-based yields    | Paginated validators with identity, commission, votingPower, status, TVL, and reward rate                                                                    |
| `networks_get_all`      | List all supported networks                      | Array of network objects (id, name, category, logoURI)                                                                                                       |
| `providers_get_all`     | List all yield protocols and validator providers | Paginated providers (id, name, description, website, type, tvlUsd), type distinguishes protocol vs validator\_provider                                       |

### Diligence

| Tool                             | Purpose                                                                    | Returns                                                                                                                                                                     |
| :------------------------------- | :------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `yields_get_risk`                | Get aggregate risk rating for a yield                                      | Risk-provider object with letter grade, numeric score, short description, and source URL plus updatedAt. Coverage strongest for vault-type yields                           |
| `yields_get_reward_rate_history` | Historical APY / reward-rate snapshots                                     | Time-series of {'{timestamp, rewardRate}'} points over a period (1d–all) with configurable day/week/month interval and pagination                                           |
| `yields_get_tvl_history`         | Historical TVL snapshots                                                   | Time-series of {'{timestamp, tvl, tvlRaw}'}  points. Same period and interval controls as reward-rate history. Coverage strongest for vault-type yields                     |
| `yields_get_balances`            | Active positions, pending actions, and claimable rewards for a wallet      | Per-yield balances with amount, position type, share-token info, and pendingActions\[] carrying the passthrough<br />value needed by actions\_exit / actions\_manage        |
| `yields_get_kyc_status`          | KYC requirement + current verification state for a wallet on a given yield | KYC status object with `kycRequired` flag, current state (`none` / `pending` / `approved` / `rejected`), and `authorizeUrl` to start the verification flow when applicable. |

### Execution

| Tool             | Purpose                                                            | Returns                                                                                                                                                                           |
| :--------------- | :----------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `actions_enter`  | Build unsigned deposit/stake transaction(s)                        | Action object containing one or more ordered, unsigned transactions (stepIndex order) with raw unsignedTransaction, gas estimate, and per-step status                             |
| `actions_exit`   | Build unsigned withdrawal/unstake transaction(s)                   | Same action-object shape as actions\_enter, ordered txs to redeem, withdraw, or undelegate. Requires passthrough for some yields and validatorAddress for delegation-based yields |
| `actions_manage` | Build unsigned txs for claim, restake, vote, unlock, migrate, etc. | Same action-object shape. The exact type (e.g. CLAIM\_REWARDS, RESTAKE\_REWARDS etc) depends on the yield mechanics and current position state                                    |

### Tracking

| Tool              | Purpose                                                   | Returns                                                                                                                                                                        |
| :---------------- | :-------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `actions_get`     | Fetch status and transactions for a single action         | Action object with current status, all transactions, hashes once broadcasted, and timestamps                                                                                   |
| `actions_get_all` | List past and pending actions for a wallet, with filters  | Paginated actions for an address. Filterable by network, intent (enter/exit/manage), type, yieldId, and one or more statuses\[] (e.g. all pending = \["CREATED","PROCESSING"]) |
| `get_transaction` | Poll the status of a single transaction                   | Transaction object with status, hash, broadcastedAt, and the raw signed/unsigned payloads                                                                                      |
| `submit_hash`     | Register a broadcast hash against an unsigned transaction | Updated transaction object with hash and broadcastedAt populated; advances internal status from CREATED to BROADCASTED so subsequent polling and action-status updates work    |

### Builder

| Tool                       | Purpose                     | Returns                                                                                                           |
| -------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `yield_lookup_docs`        | Search the live docs index  | Ranked doc pages (title, section, .md URL)                                                                        |
| `yield_fetch_doc`          | Read a full docs page       | Full markdown of a docs.yield.xyz page with exact field names and examples                                        |
| `yield_get_api_spec`       | Query the live OpenAPI spec | Endpoint schemas, field constraints, required flags, and error shapes; filterable by endpoint, method, or keyword |
| `yield_troubleshoot_error` | Diagnose API errors         | Explanation of an error code or status, plus the authoritative error shape from the live spec                     |
| `yield_list_repos`         | Find working reference code | Public Yield.xyz repos (widget, SDKs, recipes, signing libraries) with raw-file fetch patterns                    |

***

## Risk Scoring

Provides an at-a-glance assessment of protocol safety for a given yield. The response includes a letter grade, a numeric score (where lower means safer), and a link to the rating provider's site for the full breakdown.

Risk ratings are sourced from a third-party provider and currently have the strongest coverage for vault-type yields. The exact field names and schema may evolve as the underlying provider changes.

***

## Transaction Format

Transaction-generating tools (`actions_enter`, `actions_exit`, `actions_manage`) return an intent execution object:

```json
{
  "id": "string",
  "intent": "enter | exit | manage",
  "type": "STAKE | UNSTAKE | SUPPLY | ...",
  "yieldId": "string",
  "address": "string",
  "amount": "string",
  "amountUsd": "string",
  "executionPattern": "synchronous | asynchronous | batch",
  "status": "CREATED | PROCESSING | COMPLETED | FAILED",
  "createdAt": "ISO timestamp",
  "transactions": [
    {
      "stepIndex": 0,
      "id": "string",
      "type": "APPROVAL | SUPPLY | UNSTAKE | CLAIM | ...",
      "title": "string",
      "network": "string",
      "status": "CREATED | BROADCASTED | CONFIRMED | FAILED",
      "hash": "string | null",
      "unsignedTransaction": "object (EVM) | string base64 (Solana) | chain-dependent",
      "gasEstimate": {
        "amount": "string",
        "gasLimit": "string",
        "token": {
          "symbol": "string",
          "network": "string",
          "decimals": "number"
        }
      }
    }
  ]
}
```

### Transaction Fields

| Field                 | Type               | Description                                                                                     |
| --------------------- | ------------------ | ----------------------------------------------------------------------------------------------- |
| `stepIndex`           | `number`           | Execution order, must be followed sequentially                                                  |
| `id`                  | `string`           | Transaction ID, used to submit the tx hash after broadcast                                      |
| `type`                | `string`           | Action type, `APPROVAL`, `SUPPLY`, `UNSTAKE`, `CLAIM` etc.                                      |
| `title`               | `string`           | Human readable label e.g. `"SUPPLY Transaction"`                                                |
| `network`             | `string`           | Target chain e.g. `"arbitrum"`, `"solana"`                                                      |
| `status`              | `string`           | Lifecycle state: `CREATED` → `BROADCASTED` → `CONFIRMED` → `FAILED`                             |
| `hash`                | `string \| null`   | Tx hash — `null` until broadcasted                                                              |
| `unsignedTransaction` | `object \| string` | EVM: object with `from`, `to`, `data`, `chainId` etc. Solana: base64 string. **Do not modify.** |
| `gasEstimate`         | `object`           | `{ amount: string, gasLimit: string, token: { symbol, network, decimals } }`                    |

<br />