# Otto AI DeFi Yield Alpha

> Otto AI DeFi Yield Alpha is a paid API for AI agents from x402.ottoai.services, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Returns the best DeFi yield opportunities across stablecoins, ETH, and BTC with risk ratings and APY comparisons

## Facts

- Endpoint: GET https://x402.ottoai.services/yield-alpha
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-ottoai-services-8c4beff1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_144kSe3lLg8f3IPmqPAiG

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-ottoai-services-8c4beff1
```

Example prompt: What are the best DeFi yield opportunities right now for stablecoins, ETH, and BTC — show me the APYs and risk ratings so I can decide where to put my funds?

## When to prefer this

Choose this endpoint when you need a curated, AI-filtered list of top DeFi yield opportunities with risk context rather than raw protocol-level APY data. Best for agents helping users decide where to deploy stablecoins, ETH, or BTC for yield. Prefer over generic DeFi data feeds when risk ratings and comparative ranking are needed in a single call.

## Known failure modes

- Data feed unavailable — status: failed with error string in data field
- No yield opportunities found for specified criteria
- Rate limiting or payment verification failure after x402 micropayment
- Upstream DeFi protocol data temporarily unavailable

## How this service works

Best DeFi yield opportunities across stablecoins, ETH, and BTC with risk ratings and APY comparisons.

## Output

A structured object containing ranked DeFi yield opportunities across stablecoins, ETH, and BTC, including APY figures, protocol names, risk ratings, and comparative data to help identify the best risk-adjusted returns.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {}
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {}
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "status",
      "data"
     ],
     "properties": {
      "data": {
       "description": "On success: { opportunities (report text), exclusions.implausible_apy (the plausibility bound's always-present verdict), excludedImplausible (count), servingPath ('db-cache'|'live') }. On failure: an error string."
      },
      "meta": {
       "description": "Freshness block. stalenessSec = age of the cached snapshot, present only on servingPath 'db-cache' and absent on 'live'; generatedAt = when this response was built; degraded = an older good snapshot was served after a refresh failed."
      },
      "status": {
       "enum": [
        "success",
        "failed"
       ],
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-ottoai-services-8c4beff1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.ottoai.services](https://www.zero.xyz/host/x402.ottoai.services/llms.txt)
