# Tanod DeFi Yields

> Tanod DeFi Yields is a paid API for AI agents from tanod.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-12).

Returns current supply and borrow APY rates for USDC, USDT, DAI, USDS, USDe, WETH and other assets across Aave V3, Compound V3, and Morpho on up to five EVM chains

## Facts

- Endpoint: POST https://tanod.dev/v1/defi/yields?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-defi-yields-3ba8f3d1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xvMTXV9daXSFlMIJjQesU

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 tanod-defi-yields-3ba8f3d1 -d '<json body>'
```

Example prompt: What's the best stablecoin yield right now across Aave, Compound, and Morpho? Show me the top 10 USDC, USDT, and DAI rates on Ethereum and Base only, with at least $1M TVL.

## When to prefer this

Use this endpoint when you need current on-chain lending and borrowing APY data aggregated across Aave V3, Compound V3, and Morpho simultaneously, especially for stablecoin yield comparisons. Prefer it over manual on-chain queries or single-protocol APIs when you need cross-chain, cross-protocol ranking in one call. The best_stablecoin view is particularly useful for agents helping users maximize idle stablecoin returns.

## Known failure modes

- Protocol data source temporarily unavailable — listed in sources_unavailable array, partial results returned
- Requested asset symbol not found in any matching pool — empty rows array
- min_tvl_usd filter too high — all rows filtered out, count returns 0
- Invalid chain or protocol enum value — request validation error
- Rate data stale beyond max_age_s — stale flag set to true in response

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

A JSON object containing ranked rows of lending market data including protocol name, chain, asset symbol, supply APY, borrow APY, optional reward APY, utilization rate, and USD TVL; plus a best_by_asset summary, source freshness metadata, chain/protocol coverage map, and a disclaimer that rates are informational only.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "view": {
   "enum": [
    "all",
    "best_stablecoin"
   ],
   "type": "string",
   "default": "all",
   "description": "all: every matching rate, highest supply APY first. best_stablecoin: USDC, USDT, DAI, USDS and USDe ranked by supply APY across the three protocols (canonical token addresses only)."
  },
  "limit": {
   "type": "integer",
   "default": 50,
   "maximum": 200,
   "minimum": 1,
   "description": "Rows returned, 1-200 (default 50)."
  },
  "assets": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,20}$"
     },
     "maxItems": 20
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Optional asset symbols such as USDC or WETH (case-insensitive, at most 20). In best_stablecoin only USDC, USDT, DAI, USDS and USDe are ranked."
  },
  "chains": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "enum": [
       "ethereum",
       "base",
       "arbitrum",
       "polygon",
       "optimism"
      ],
      "type": "string"
     },
     "maxItems": 5
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Optional subset of ethereum, base, arbitrum, polygon, optimism. Default: all. Aave V3, Compound V3 and Morpho cover all five."
  },
  "protocols": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "enum": [
       "aave_v3",
       "compound_v3",
       "morpho"
      ],
      "type": "string"
     },
     "maxItems": 3
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Optional subset of aave_v3, compound_v3, morpho. Default: all."
  },
  "min_tvl_usd": {
   "anyOf": [
    {
     "type": "number",
     "maximum": 10000000000000,
     "minimum": 0
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Only rows with at least this many USD supplied (rows with an unknown USD size are dropped when it is above 0). Default 0; best_stablecoin defaults to 1,000,000."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "note": "Informational only, not investment or trading advice. Rates change every block and are not a quote or an offer.",
  "rows": [
   {
    "id": "0xc3d688b66703497daa19211eedff47f25384cdc3",
    "kind": "comet",
    "name": "Compound V3 cUSDCv3",
    "rank": 1,
    "asset": "USDC",
    "chain": "ethereum",
    "protocol": "compound_v3",
    "collateral": null,
    "stablecoin": "USDC",
    "utilization": 0.8142,
    "borrowed_usd": 311338900.5,
    "supplied_usd": 382387899.07,
    "asset_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
    "borrow_apy_pct": 5.4099,
    "supply_apy_pct": 4.4629,
    "supply_apy_with_rewards_pct": null
   }
  ],
  "view": "best_stablecoin",
  "age_s": 94,
  "as_of": "2026-10-10T13:20:11Z",
  "count": 1,
  "stale": false,
  "sources": [
   {
    "docs": "https://aave.com/docs/resources/addresses",
    "name": "Aave V3 Pool (on-chain)",
    "age_s": 100,
    "as_of": "2026-10-10T13:20:05Z",
    "chain": "ethereum",
    "stale": false,
    "protocol": "aave_v3"
   },
   {
    "url": "https://blue-api.morpho.org/graphql",
    "docs": "https://docs.morpho.org/tools/offchain/api/morpho-api",
    "name": "Morpho public GraphQL API",
    "age_s": 94,
    "as_of": "2026-10-10T13:20:11Z",
    "chain": null,
    "stale": false,
    "protocol": "morpho"
   }
  ],
  "coverage": {
   "morpho": [
    "arbitrum",
    "base",
    "ethereum",
    "optimism",
    "polygon"
   ],
   "aave_v3": [
    "base",
    "ethereum"
   ],
   "compound_v3": [
    "base",
    "ethereum"
   ]
  },
  "max_age_s": 1800,
  "sorted_by": "supply_apy_pct desc",
  "min_tvl_usd": 1000000,
  "stablecoins": [
   "USDC",
   "USDT",
   "DAI",
   "USDS",
   "USDe"
  ],
  "best_by_asset": {
   "USDC": {
    "kind": "comet",
    "name": "Compound V3 cUSDCv3",
    "chain": "ethereum",
    "protocol": "compound_v3",
    "supplied_usd": 382387899.07,
    "supply_apy_pct": 4.4629
   }
  },
  "total_matching": 1,
  "refresh_interval_s": 300,
  "sources_unavailable": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-defi-yields-3ba8f3d1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
